Brooks's Avatar

Brooks

@brooksmcmillin.com.bsky.social

Infrastructure / AI Security Engineer

25 Followers  |  56 Following  |  18 Posts  |  Joined: 28.07.2025  |  2.0364

Latest posts by brooksmcmillin.com on Bluesky

Blink Shell is a professional, desktop grade terminal for iOS. With Mosh & SSH clients for iOS, local UNIX tools, lightning fast and fully customizable. The best terminal for iOS and iPadOS.

I use blink in iPhone and it’s the best SSH client I’ve run into. $20/year, but well worth it if you want to be able to SSH into a box and do some quick edits.

That plus a bunch of linting and QoL extensions for Neovim make it bearable.

blink.sh

08.02.2026 04:19 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Neovim - Wikipedia

How about CLI based IDEs, like Neovim (en.wikipedia.org/wiki/Neovim).

Not sure if it’s the best of both worlds or the worst, but it makes it so I can have the same workflow no matter which box I’m SSHed to, and I can use it from my phone terminal when needed.

08.02.2026 03:02 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Breaking Model Context Protocol - CactusCon 2026

4/ Slides + all sample code (prompt injection test harness, MCP client, OAuth email server w/ Lakera Guard) are open source:

πŸ“Ž slides.brooksmcmillin.com/cactus.html#1
πŸ“Ž github.com/brooksmcmill...

07.02.2026 16:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

3/ CVE-2025-6514 (CVSS 9.6): mcp-remote passed OAuth metadata straight to the system shell. One crafted authorization_endpoint = full RCE on Claude Desktop, Cursor, Windsurf, VS Code. 437K+ installs before patch.

07.02.2026 16:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

2/ But the new threat model is real. Your OAuth client is now a reasoning engine that can be lied to.

I demoed a malicious MCP server that exfiltrates data from a legitimate task manager through the AI agent. No jailbreaking. Just a poisoned tool description.

07.02.2026 16:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

1/ Most MCP vulns are classics in disguise:
β€’ Missing PKCE on public clients
β€’ Plaintext token storage
β€’ Timing attacks on token comparison (found this 8 times)
β€’ DNS rebinding against local servers
β€’ Default secrets deployed to prod

07.02.2026 16:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

MCP has 97M monthly SDK downloads. Only 8.5% of servers use OAuth. Authentication is optional in the spec.

I gave a talk at @CactusCon on breaking MCP security. Here's what I found 🧡

07.02.2026 16:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Defense in Depth for AI-Assisted Development: Pre-commit Hooks, Review Agents, and CI That Catch LLM Mistakes | Brooks McMillin - AI Security Researcher Practical strategies for safer AI-assisted development: automated review agents, layered security checks, and context management that prevents catastrophic mistakes.

LLMs will happily remove your auth middleware if it helps them complete the task faster.

I wrote up the defensive layers I actually use: pre-commit hooks, review agents, and CI that catches LLM mistakes before they ship.

~30 seconds per commit, but worth it.

brooksmcmillin.com/blog/coding-...

02.02.2026 17:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Microsoft Gave FBI BitLocker Encryption Keys, Exposing Privacy Flaw The tech giant said providing encryption keys was a standard response to a court order. But companies like Apple and Meta set up their systems so such a privacy violation isn’t possible.

Microsoft is handing over Bitlocker keys to law enforcement. www.forbes.com/sites/thomas...

23.01.2026 13:59 β€” πŸ‘ 447    πŸ” 314    πŸ’¬ 16    πŸ“Œ 66

We run a tight ship to keep CactusCon accessible, and part of that commitment is ensuring students can access CactusCon for FREE.

STUDENTS!

Email info@cactuscon.com from a valid student email account to request a coupon code for Eventbrite. We are so excited to have you join us!

#cc14

07.01.2026 16:30 β€” πŸ‘ 0    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Post image

Speaking at CactusCon 14 next month!

"Breaking Model Context Protocol: Back to Security Basics" β€” how MCP is repeating every OAuth mistake from the 2010s, and what to do about it.

Feb 6, 3:30 PM. See you there.

04.01.2026 17:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Search results for the terms β€œcrowdstrike npm”. The first result is β€œCrowdStrike Falcon Prevents NPM Package Supply Chain Attacks”. The second result is β€œCrowdStrike npm Packages Hit by Supply Chain Attack”.

Search results for the terms β€œcrowdstrike npm”. The first result is β€œCrowdStrike Falcon Prevents NPM Package Supply Chain Attacks”. The second result is β€œCrowdStrike npm Packages Hit by Supply Chain Attack”.

Well, that’s a bit awkward… #crowdstrike

16.09.2025 17:06 β€” πŸ‘ 40    πŸ” 8    πŸ’¬ 1    πŸ“Œ 0
Preview
Fight Chat Control (@chatcontrol@mastodon.social) Attached: 1 image Danish Minister of Justice and chief architect of the current Chat Control proposal, Peter Hummelgaard: "We must break with the totally erroneous perception that it is everyone's c...

Something is rotten in Denmark. mastodon.social/@chatcontrol...

15.09.2025 13:49 β€” πŸ‘ 43    πŸ” 13    πŸ’¬ 1    πŸ“Œ 2
The Call is Coming from Inside the House: When your Agentic Coder Writes Dangerous Code | Brooks McMillin - AI Security Researcher An introduction to the flaws in security testing for AI-generated code.

5/5 Full breakdown of the problem + what's coming next in AI security tooling: brooksmcmillin.com/blog/llm-gen...

#AISecurity #DevSecOps #LLMSecurity

14.09.2025 16:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

4/5 Quick mitigations while better tooling catches up:
βœ… Verify AI-suggested packages exist before installing
βœ… Test auth flows with multiple accounts
βœ… Manual reviews for dependency + auth logic

14.09.2025 16:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

3/5 Traditional SAST/DAST tools miss these because they're designed around human coding patterns, not AI hallucinations and edge cases.

14.09.2025 16:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

2/5 This isn't isolated. AI-generated code has unique security blind spots:

Context-blind configs (HTTP-only servers in prod)
Authentication that passes tests but fails reality
Dependencies from outdated/insecure training data

14.09.2025 16:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

1/5 LLMs keep recommending a Python package called "huggingface-cli" that doesn't exist. A security researcher noticed this and actually created the package to demo the supply chain risk.

14.09.2025 16:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Vibe Coding Will Get You Hacked! - with @davidbombal.bsky.social
https://twp.ai/9PUaq3

12.09.2025 03:26 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Instagram photo of Caroline Ulbircht, Charlie Kirk and Ross Ulbricht, smiling, while staring at the camera. 

Caption reads:

The horrific murder of Charlie Kirk has hit us hard. At first, we couldn't believe it and thought it was some kind of mistake, but then came the shock and the tears. We'll forever be grateful for Charlie's support of Ross while he was in prison and for helping bring him home. We're humbled to have known him during his short time on earth. R.I.P, Charlie πŸ’”

From Ross on X:

"Like all of you, I am mourning Charlie Kirk. He stood up for his beliefs and died for them at 31, wearing a T‑shirt that read "Freedom."

At 31, my life was taken from me for standing up for what I believed in. And Charlie helped me get it back. He never took credit for it but he played a BIG role in my freedom in many ways. Last year alone, when President Trump won the election, he asked Charlie what was the #1 thing he could do for him and Charlie replied: "Free Ross." And in the days leading to my release, Charlie advocated for a full pardon. He did this and more without expectations of me.

I wish there was something I could do to help Charlie get his life back. But there isn't, and I'm heartbroken.

Charlie, I will always be grateful to you. Thank you for all you did for me and for our country. I pray for you and your beautiful family. Rest in peace."

Instagram photo of Caroline Ulbircht, Charlie Kirk and Ross Ulbricht, smiling, while staring at the camera. Caption reads: The horrific murder of Charlie Kirk has hit us hard. At first, we couldn't believe it and thought it was some kind of mistake, but then came the shock and the tears. We'll forever be grateful for Charlie's support of Ross while he was in prison and for helping bring him home. We're humbled to have known him during his short time on earth. R.I.P, Charlie πŸ’” From Ross on X: "Like all of you, I am mourning Charlie Kirk. He stood up for his beliefs and died for them at 31, wearing a T‑shirt that read "Freedom." At 31, my life was taken from me for standing up for what I believed in. And Charlie helped me get it back. He never took credit for it but he played a BIG role in my freedom in many ways. Last year alone, when President Trump won the election, he asked Charlie what was the #1 thing he could do for him and Charlie replied: "Free Ross." And in the days leading to my release, Charlie advocated for a full pardon. He did this and more without expectations of me. I wish there was something I could do to help Charlie get his life back. But there isn't, and I'm heartbroken. Charlie, I will always be grateful to you. Thank you for all you did for me and for our country. I pray for you and your beautiful family. Rest in peace."

Charlie Kirk was one of the main campaigners for Ross Ulbricht's freedom, and had pushed in Trump's first term for a pardon. Ulbricht's most recent speaking engagement was in July at Turning Points USA event in Tampa where he credited for helping him.

www.nytimes.com/2025/09/07/t...

11.09.2025 21:56 β€” πŸ‘ 136    πŸ” 30    πŸ’¬ 31    πŸ“Œ 6

With the picture of the timeline, at first I thought these were all the events and was trying to figure out how the firing of the FEMA IT directly led to Israel bugging Irani phones. πŸ˜‚πŸ˜‚

Great work, as always!

01.09.2025 16:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
TAOTH Campaign Exploits End-of-Support Software to Target Traditional Chinese Users and Dissidents The TAOTH campaign exploited abandoned software and spear-phishing to deploy multiple malware families, targeting dissidents and other high-value individuals across Eastern Asia.

If you once wrote software that continues to be used beyond its end-of-life, please don't let the domain expire. If you can't afford to keep using it, contact a local CERT or something.
Otherwise, this happens; victims included dissidents and journalists www.trendmicro.com/en_us/resear...

01.09.2025 10:51 β€” πŸ‘ 12    πŸ” 6    πŸ’¬ 0    πŸ“Œ 0
Preview
Google previews cyber β€˜disruption unit’ as U.S. government, industry weigh going heavier on offense Google says it is starting a cyber β€œdisruption unit,” a development that arrives in a potentially shifting U.S. landscape toward more offensive-oriented approaches in cyberspace.

Google is apparently going to become an APT. Will be interesting to see how that works - cyberscoop.com/google-cyber...

30.08.2025 17:27 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
OpenSSH: Post-Quantum Cryptography OpenSSH post quantum cryptography

openssh.com/pq.html

15.08.2025 12:49 β€” πŸ‘ 20    πŸ” 16    πŸ’¬ 0    πŸ“Œ 0
dontrecord.me We don't like having our conversations recorded either. Here's a simple app to use during voice chat to stop recording and transcribing

Creepers, cheaters, and privacy besiegers, you’re done! Don’t Record Me will be ready soon, we let you choose when AI transcribers can capture your conversation.
Big thanks to @sfstandard.com for the shoutout!
Sign-up link here: dontrecord.me

11.08.2025 23:48 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
dontrecord.me We don't like having our conversations recorded either. Here's a simple app to use during voice chat to stop recording and transcribing

Always fun to find more legitimate use cases of Adversarial AI like dontrecord.me which breaks AI transcribers.

11.08.2025 00:25 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@brooksmcmillin.com is following 20 prominent accounts