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
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
Phishing PDFs
Email arrives.
“Claim NFT drop — details inside.”
The PDF looks normal.
The link inside? Malicious.
Never trust links hidden in files.
#Web3Security
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
[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
[Detective Log] Case: Unhandled Exception
Discovered: A slip in the solidity code, thrown into chaos by an unhandled exception.
Code Evidence: `contract ShadyDeal {
function executeDeal(address payable recipient, uint amount) public {
require(amount > 0, "Amount must
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
[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
Compromised QR Codes
Posters.
Flyers.
Conference booths.
“Scan to mint.”
Looks harmless.
One scan = wallet drainer.
Never scan random QR codes.
#Web3Security
[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
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
[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
[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