Recently @_jasondoyle has been testing a lot of security-focused browser extensions. With this he helped us catch a potential bypass of our extension.
Now that the issue is fixed, we want to send him a public shoutout for all this work he's doing for the crypto community! 🫡
Asking AI to secure your code is a coin flip.
Adding "secure" cuts vulnerabilities up to 42%. I tested the other 58%.
SMS login. AI chatbot. Stripe billing.
What slipped through could bankrupt a startup.
Security is a process — not a vibe.
@Thealphacruze True, this same post reached 15k people on LinkedIn so far as a regular post. But near 0 on X - interesting. Maybe an X article will help. Who knows. Worth a try!
@Thealphacruze Appreciate it. Right now researching vibe coded software due to so many security incidents. I’m gearing up to start comparing top platforms - the vulnerabilities they produce and how you can prevent them.
This content works better on LinkedIn but I’ll keep cross-posting here.
@shehackspurple Looks safe until you get a 50k Twilio bill because bots flooded SMS text verification codes to premium-rate phone numbers. Vibe coded apps routinely get api rate limiting wrong.
https://t.co/eczIJwZ8rI
Asking AI to secure your code is a coin flip.
Adding "secure" cuts vulnerabilities up to 42%. I tested the other 58%.
SMS login. AI chatbot. Stripe billing.
What slipped through could bankrupt a startup.
Security is a process — not a vibe.
i installed OpenClaw on my MacBook. 2 hours later an attacker had full access to my machine and injected a malware that spread itself to every developer who pulled our repo
it went undetected for DAYS. I only found it by accident
i was debugging a build error, opened babel.config.js. Cursor flagged obfuscated code hiding at the end of the file, past column 300, hidden behind hundreds of invisible spaces. a wall of encrypted JavaScript invisible in every editor
we pasted the wall of code into Cursor and said "what is this." it decoded the three layers of obfuscation, 1. string shuffling cipher 2. hidden eval() 3. then the real payload
it was a remote access trojan that could run any shell command on the targets computer, the javascript would pull the remote code from deployed code on the blockchain so the attacker could control it anonymously
but even more insidious was this:
every time a developer pulled main and ran dev, the malware executed on their machine, injected itself into their other repos, and pushed using their credentials. a self-spreading worm. It then modified git history to cover its tracks
full forensic breakdown and detection commands: https://t.co/U06knPhdNp
If your AI Assistant can READ your inbox, it can RESET your passwords. 💀
I gave Gemini read access to Gmail—and a malicious site triggered a Coinbase “Forgot Password.”
Gemini intercepted the verification code from my inbox and handed it over.
Demo 👇
If you are connecting AI to your inbox for "efficiency," understand the trade-off.
You aren't just automating your work. You are expanding your attack surface.
An assistant that can read your email is an assistant that can leak it.
If your AI Assistant can READ your inbox, it can RESET your passwords. 💀
I gave Gemini read access to Gmail—and a malicious site triggered a Coinbase “Forgot Password.”
Gemini intercepted the verification code from my inbox and handed it over.
Demo 👇
Treat your AI assistant like a gullible intern.
👤 Segregate Identity: Use a dedicated browser profile with no saved passwords.
❌ Don't Over-Connect: Avoid enabling app integrations without a clear purpose.
👀 Active Supervision: Assume it can be misled.
I bypassed MetaMask’s security filter by swapping a decimal value for binary.
🔍 Pentesters, add this evasion technique to your arsenals...
JavaScript parsers don’t always normalize all four types of number literals. Decimal and hexadecimal are the most common, but overlooking binary and octal can lead to an exploit. For example, in JS these are all the same number:
1000000 === 1000000; // true (Decimal)
1000000 === 0b11110100001001000000; // true (Binary)
1000000 === 0xF4240; // true (Hexadecimal)
1000000 === 0o3641100; // true (Octal)
Substituting these values is exactly how I found a bypass of Blockaid’s security filter inside MetaMask—turning a red phishing alert into a yellow error message. And in a real crypto phishing attack, that’s often the difference between hesitation and clicking "Confirm" on the wallet draining transaction.
Here’s a quick video demo from my private report to Blockaid last year—showing how a simple format change prevented Blockaid from recognizing a malicious wallet address. 👇
The @playhuego audit is complete and soon to be listed on the official @AbstractChain Portal!
ChainThreat Security (Web2/Web3 assessments) executed the audit, led by @abarbatei.
Big thanks to @0xmorgosh & team for the trust.
More audits coming to Abstract soon!
Full report 👇
I bypassed every anti-scam browser extension in Web3 before the scammers could.
Pentesters will enjoy this one…
Old news, but wallet drainers as a service have been including built-in bypasses for anti-scam extensions like Pocket Universe and Wallet Guard—letting attackers phish users undetected.
Instead of waiting for scammers to exploit them, last year I went ahead and found more detection bypass vulnerabilities in over six security extensions, including Blockaid’s integration inside MetaMask—and reported them before they could be weaponized.
One particularly interesting bypass in Wallet Guard involved spoofing an invalid chain ID to manipulate detection logic—potentially allowing phishing pages to slip through.
Here's a quick clip demoing the proof-of-concept bypass.