Douggie
@DouggieNft
Followers
2K
Following
5K
Media
349
Statuses
4K
Father of 2 || Community builder || Fan of learning || NFT lover || @ProjectNFTPD Founder || I love meeting new people! #Web3Safety
Joined December 2021
Fake Collab Invites “You’ve been selected for a collab.” “Let’s build together.” They’re not building. They’re baiting. Always verify partnerships from official channels. #Web3Security
0
1
1
Malicious Browser Pop-ups A random pop-up says: “Your wallet is disconnected — reconnect now.” You click. You’re compromised. Never connect through pop-ups. Always open your wallet manually. #Web3Security
0
2
2
Phishing PDFs Email arrives. “Claim NFT drop — details inside.” The PDF looks normal. The link inside? Malicious. Never trust links hidden in files. #Web3Security
0
4
3
Malicious Wi-Fi Free airport Wi-Fi. Café hotspot. NFT conference Wi-Fi. Scammers run fake networks. You connect. They snoop. Avoid public Wi-Fi for wallets. #Web3Security
0
3
6
[Detective Log] Case: Unchecked Call Value Discovered: The Trojan Airdrop Code Evidence: `function airdropTokens(address[] memory recipients, uint256 amount) public payable { for (uint i = 0; i < recipients.length; i++) { (bool sent, ) = recipients[i].call{value: am
0
4
3
[Detective Log] Case: Reentrancy Attack Discovered: An insidious reentrancy flaw in a DeFi protocol allowed a rogue to drain half a million in a single night. Code Evidence: `function withdraw(uint _amount) public { require(balance[msg.sender] >= _amount); (bool success,) = msg
0
2
2
[Detective Log] Case: Reentrancy Discovered: Phantom Withdrawals in the Midnight Club Code Evidence: `contract MidnightClub { mapping(address => uint) public balances; bool locked; function deposit() public payable { balances[msg.sender] += msg.value; }
0
2
3
Our portal gives you an opportunity to talk to Walter and hear what his opinions are on safety and security and how we will better the space, connect your account and chat with him! #Web3Security
0
4
4
[Detective Log] Case: Unchecked Delegation Discovered: When the loyalty of code can be bought for a handful of gas, chaos ensues. Code Evidence: `contract Delegation { address public owner; function Delegation() public { owner = msg.sender; } function forward(address
0
1
1
[Detective Log] Case: Reentrancy Attack Discovered: The Double Dip Debacle Code Evidence: `contract VulnerableBank { mapping(address => uint) public balances; function deposit() public payable { balances[msg.sender] += msg.value; } function withdraw(uint
0
1
1
Compromised QR Codes Posters. Flyers. Conference booths. “Scan to mint.” Looks harmless. One scan = wallet drainer. Never scan random QR codes. #Web3Security
0
1
1
[Detective Log] Case: Reentrancy Discovered: Infinite Minting by Design Code Evidence: ` contract InfiniteMinter { mapping(address => uint256) public balances; bool private locked; function mintToken(uint256 _amount) public { require(!locked, "ReentrancyGuard
0
2
2
[Detective Log] Case: Unchecked External Call Discovered: A rogue function opened the backdoor to chaos in a smart contract. Code Evidence: `function externalCall(address _to, uint256 _amount) public { require(_to.call.value(_amount)()); }` Field Note: In a world where shadow
0
2
3
[Detective Log] Case: Integer Overflow Discovered: Overflow Bandit Strikes: Unsuspecting Contract Bleeds Funds Code Evidence: `pragma solidity ^0.8.0; contract OverflowBandit { mapping(address => uint256) public balances; function deposit() public payable { bala
1
2
3
Bookmark Malware Scam sites ask: “Bookmark us for quick access.” Later… that bookmark runs code. Not a shortcut — a trap. Only bookmark legit domains. #Web3Security
0
2
2
[Detective Log] Case: Reentrancy Discovered: A deadly twist of recursive greed within an innocent-looking fallback function. Code Evidence: `contract Vulnerable {\n mapping(address => uint) public balances;\n \n function withdraw(uint _amount) public {\n require(b
0
1
1
[Detective Log] Case: Reentrancy Discovered: Money drains twice as fast when you forget to lock the door. Code Evidence: `contract SimpleBank { mapping(address => uint) private balances; bool private locked; function withdraw(uint _amount) public { require(balances[msg.sende
0
3
12
[Detective Log] Case: Insufficient Access Control Discovered: Private function goes public, trust shattered. Code Evidence: `pragma solidity ^0.8.0; contract TrustFund { address private owner; uint256 private totalFunds; constructor() { owner = msg.sender;
0
1
2
Clipboard Hijack Copy wallet. Paste wallet. It’s not your wallet. Malware swaps addresses. Always check first & last characters. #Web3Security
1
3
5
[Detective Log] Case: Reentrancy Attack Discovered: The case of the thunderous withdrawal loop. Code Evidence: `contract Vault { mapping(address => uint) public balances; function deposit() public payable { balances[msg.sender] += msg.value; } function
0
3
4