Colby (@ColbyRing) profile picture

🌊🐝 BD @trailofbits

Joined December 2009
Photo by Colby (@ColbyRing)Photo by Colby (@ColbyRing)Photo by Colby (@ColbyRing)Photo by Colby (@ColbyRing)Photo by Colby (@ColbyRing)Photo by Colby (@ColbyRing)
Patching is the hardest step for agents to get right. We took what we learned from hundreds of Patch the Planet patches, thousands of internal Codex sessions, and a decade of fix reviews, and built it into two open-source agent plugins. A good fix looks different in every codebase, and building one takes judgment and expertise. Our plugins encode best practices that work for our engineers so you can patch along at home. •patching-bugs makes an agent prove each fix: the original code fails, the patched code passes, and a full revert fails again. •regression-hunt checks what else the change broke, with a live proof of concept for every regression it reports. Both work best with a THREAT_MODEL.md and patching guidelines, so agents know what your project considers a bug, a regression, and an acceptable fix. They fit naturally in loops like @OpenAI's new Daybreak Defense Factory, where agents draft patches for people to review. blog.trailofbits.com/2026/10…
16
10
2
99
5,026
Colby retweeted
My Dot found malicious code in an open PR on a @trailofbits Github repo. I didn't ask it to hunt for malware! It noticed a commit, inspected what changed, and warned me about an attack all on its own.
17
23
4
197
15,183
Happy election day! After voting, enjoy this blog post about why we still use paper ballots. If you aren't voting today, you are not allowed to read the post. It's the rules.
A cryptographically verified tally doesn't mean every vote is legitimate. Paper ballots still matter: they provide an audit record independent of software. We explain how electronic voting works, and how cryptography can make paper-based elections more trustworthy. blog.trailofbits.com/2026/11…
1
1
10
809
Colby retweeted
Special election day blog by the @trailofbits crypto team. Learn how electronic voting works: teapawt.net/TheMijCipher/status/21…
Happy Election Day. As everyone manually fills in the bubbles in their ballots today, you may have wondered why we still use paper-based voting my teammate wrote up a nice explainer of how cryptography is used for electronic voting and why we still use paper ballots nationally
5
2
22
1,443
Colby retweeted
We're using our work on Patch the Planet as a "school for agents" -- we discover methods to solve the toughest problems, then deploy the solutions at scale with agents.
Stable software often ships with known bugs because the fixes are never backported. That backlog is now an easy target for cyber-capable agents. We used Codex to cut time per backport from days to ~30 min, with 149 Linux kernel CVE fixes applied so far. blog.trailofbits.com/2026/11…
4
5
37
2,524
We achieved RCE via Brotli in Linux labs: • Node.js 24.22.0 + Express 5.3.0 (x86-64/ARM64) through its standard JSON parser • Electron 41.10.7 (x86-64) using a custom-built decoding service Getting it to work requires a carefully matched setup and can take repeated attempts.
We’re still testing how exploitable the Node.js/Brotli bug is, but we’ve found that it’s surprisingly hard to tell whether you’re even affected. So @ToBScottA built a scanner that finds hidden copies of the decoder, even in stripped binaries. github.com/trailofbits/brotl…
3
27
1
120
8,920
Colby retweeted
You’ve prompted your agent “find bugs, make no mistakes” five times already. Now what? At @summit_defi I’ll share five practical techniques to find real bugs, push their impact further, and check what your agents actually reviewed. All in five minutes.
Replying to @nisedo
@nisedo · DSS 2026 “AI-Native Auditing in Five Minutes: Questions, Evidence, Coverage” Which talks are on your shortlist? Share yours: defisecuritysummit.org/2026/… Tickets: luma.com/9qtxqqxx
1
1
26
1,076
Our demo shows PHP2Shell giving a shell on MediaWiki, Symfony, Laravel, and phpBB. We’ve confirmed exploits work on pre-patch releases of PHP 8.2–8.5. If you haven’t updated, assume attackers can compromise your server, and that exploitation will only get easier.
Update: Our PHP exploit is now production-grade. * stock php.ini-production, display_errors=off, normal memory_limit, multi-worker, ASLR, under load * ARM64 + x86-64 targets * MediaWiki, WordPress, phpBB, Laravel * Apache/mod_php and nginx/php-fpm -> root teapawt.net/dguido/status/21131291…
14
52
7
287
39,994
Colby retweeted
Happy to have helped LiteLLM recover from this incident behind the scenes
10
3
71
5,659
Colby retweeted
This was a collaborative effort with donated time today from @disconnect3d_pl, Evan Hellman, Eric Kilmer, Will Tan, Thomas Chauchefoin, and 5.6-cyber
3
3
1
39
9,153
Colby retweeted
Update: Our PHP exploit is now production-grade. * stock php.ini-production, display_errors=off, normal memory_limit, multi-worker, ASLR, under load * ARM64 + x86-64 targets * MediaWiki, WordPress, phpBB, Laravel * Apache/mod_php and nginx/php-fpm -> root teapawt.net/dguido/status/21131291…
Re: the widely circulated blog claiming the PHP bugs aren't easily exploitable: @trailofbits has a working exploit that gets a shell on an unmodified MediaWiki installation. eliastaylor.com/noexploit/
39
105
20
677
110,366
We’re still testing how exploitable the Node.js/Brotli bug is, but we’ve found that it’s surprisingly hard to tell whether you’re even affected. So @ToBScottA built a scanner that finds hidden copies of the decoder, even in stripped binaries. github.com/trailofbits/brotl…
14
69
3
308
30,145
Colby retweeted
As part of Patch the Planet (openai.com/index/patch-the-p…), we found hundreds of bugs across 70+ open-source projects using advanced AI, including in some of the world’s most reviewed code. We learned a ton along the way and at @summit_defi I’ll share some of those lessons and how they can be applied to DeFi.
Replying to @nisedo
@nisedo · DSS 2026 “Patch the Planet: Three Lessons for DeFi from AI Bug Hunting” Explore the talk and add it to your agenda: defisecuritysummit.org/2026/… Tickets: luma.com/9qtxqqxx
1
12
557
Colby retweeted
Attackers have agents hunting for bugs. We need agents writing patches just as fast. @trailofbits is doing the work to make this happen reliably: teapawt.net/trailofbits/status/211…
Finding bugs is the easy part. Shipping fixes that hold up is harder. We analyzed thousands of Codex sessions from our work on Patch the Planet with @OpenAI and built patching-bugs, a plugin that writes a fix, proves it, and checks it for regressions. To prove a fix, the plugin checks that the original code fails, the patch passes, and reverting the patch brings the bug back. patching-bugs hands each fix to regression-hunt, our second new plugin. We ran it on the patches behind 21 known regressions, and it reported 25% fewer false positives than a baseline Codex agent. Both plugins work best when your repo has a THREAT_MODEL.md and a PATCHING_GUIDELINES.md. blog.trailofbits.com/2026/10…
4
8
1
99
5,758
“You want to find the bugs, but it’s only good if you can also fix them.”—@anishrnaik on Risky Biz. Many open-source projects have only a handful of maintainers, and fixes are falling behind. We’re building a reusable toolkit to help. Full pod: youtube.com/watch?v=6SIgPjQ9…
3
3
34
2,737
Colby retweeted
Re: the widely circulated blog claiming the PHP bugs aren't easily exploitable: @trailofbits has a working exploit that gets a shell on an unmodified MediaWiki installation. eliastaylor.com/noexploit/
15
75
7
437
109,616
Yesterday, rumors started circulating about two unpatched critical-severity bugs in PHP. Within 17 hours, Cloudflare was blocking attacks and Patchstack reported active exploitation. When AI can develop a working exploit in hours, bugs need to be patched just as fast. Each day without a fix carries the risk that an attacker will find and exploit the bug. But it takes time to create a working patch, and PHP's patch was more complex than most. The patch changed 402 files and added more than 11,000 lines, reworking core engine behavior that dozens of extensions depended on. The bug was reported on Aug 11, and fixes were shipped 71 days later. But less than a day after details leaked, systems running PHP were already under attack. Patching needs to keep up with the pace of bug discovery. For the past four months, we’ve worked directly with open-source projects as part of Patch the Planet to understand how AI can expedite patching. Our ongoing research and work show that project-specific documentation, skills, and plugins can be embedded at the repo level to give agents and contributors access to the context maintainers carry in their heads: what counts as a bug, how a fix should look, and what can't break. Our two new open-source plugins, patching-bugs and regression-hunt, are a first step toward a generalized set of tools and guidance for getting a working patch out faster: blog.trailofbits.com/2026/10… PHP’s account of the incident: thephp.foundation/blog/2026/…
6
14
3
87
5,852
Security engineers should take note, because this is going to impact them very soon if it hasn't already. Finding good bugs used to be a bottleneck, but frontier LLMs are shifting that bottleneck to patching. It's critical we keep up with the rate of bug discovery.
Finding bugs is the easy part. Shipping fixes that hold up is harder. We analyzed thousands of Codex sessions from our work on Patch the Planet with @OpenAI and built patching-bugs, a plugin that writes a fix, proves it, and checks it for regressions. To prove a fix, the plugin checks that the original code fails, the patch passes, and reverting the patch brings the bug back. patching-bugs hands each fix to regression-hunt, our second new plugin. We ran it on the patches behind 21 known regressions, and it reported 25% fewer false positives than a baseline Codex agent. Both plugins work best when your repo has a THREAT_MODEL.md and a PATCHING_GUIDELINES.md. blog.trailofbits.com/2026/10…
1
3
31
1,738