Prev founded Percy, Respondly, & Favstar. Family guy who enjoys 🍦⛷ Ξ. Bug hunting for fun and profit. 👨🏼‍🍳

Wanaka, New Zealand
Joined April 2008
Example harness component using this:
lookup.disclose.io/ has become extremely useful for me recently. It tells you how to get in touch with a company's security team, based on a url, ip address, package, repo etc. I've used it with great success to contact security teams to report issues, ask BB scope Qs, etc.
1
1
93
Tim Haines 🇺🇦 retweeted
We gave Moonshot’s new Kimi K3.1 Pro 100 pull requests with known vulnerabilities and one hour per PR to find them in the @BugBunny_ai VulnPR-100 benchmark. It found 47/100 for $124.69. That is 10 more vulnerabilities than Kimi K3 while costing $20.54 less. Cost per finding dropped from $3.93 to $2.65, a 33% improvement. K3.1 Pro beat GPT-6 Astra and Muse Wonder 1.0, both at 46, and landed just one finding behind Claude Opus 5 while costing 3.6× less. It still trails DeepSeek V4.1 Flash 1017, which found 54 vulnerabilities for only $7.53. That is seven more findings at roughly 16.6× lower cost. A strong generational improvement from @Kimi_Moonshot, but DeepSeek remains the model to beat on cost-adjusted security performance.
10
5
5
76
11,534
Tim Haines 🇺🇦 retweeted
I applied to the Cyber Verification Program this morning and got rejected, I wanted to run it against my projects like urllib3 (1+ billion monthly downloads). The entire form was very offensive-researcher focused (link a CVE with your name etc), maintainers defending aren't it.
13
15
11
193
15,226
lookup.disclose.io/ has become extremely useful for me recently. It tells you how to get in touch with a company's security team, based on a url, ip address, package, repo etc. I've used it with great success to contact security teams to report issues, ask BB scope Qs, etc.
1
10
426
Tim Haines 🇺🇦 retweeted
If you don’t like people finding and disclosing vulnerabilities, you’ll really not like what happens when they *don’t* do that. Abliterated open weight models didn’t find the PHP vulnerabilities, but if they did it would actually be an endorsement of those models.
19
26
3
277
7,266
Just life now. Picked out a farm yet?
If you're looking at an updated Node.js, and calling CVE-2026-111497 done? We have some bad news: We likely don't even know the true scale of "Node2Shell" yet. Node patched CVE-2026-111497 on Oct 21. But the CVE wasn't in Node, it was in Brotli. So our researchers Diptendu Kar and Kurt Boberg went looking for every other package that bundles the same vulnerable Brotli decoder. Here's what we found 433 package entries across 12 ecosystems not great but the absolute worse part: Many of them don't even have fixes available yet. Now are they all reachable and exploitable? Probably not, we're finding out. But the important part: Node isn't the only affected runtime or package, not even close. We're working through the list to manually verify each one but so far we're looking at a 71% no fix yet rate, of the fixes most are still in alpha/early releases. The problem is most implementations aren't even called "brotli." The decoder is compiled into other runtimes like Chromium. 38 entries bundle Brotli older than 1.0.3. Some of those copies date to 2016, and of course are vulnerable to more than just this CVE. And there's no easy well to tell if you're affected. For example, 19 are WebAssembly builds, where memory corruption exists, but stays inside the sandbox. Some require explicit configurations to enable Brotli compression and they aren't on by default. But it's not obvious unless you are looking for it and testing for it. We're going to keep validating (and producing rules), but it's going to be a rough weekend for incident responders.
3
6
877
Just noticed GitHub Security publishes a skill to check your report before you file it to their bounty program. Described at the bottom of bounty.github.com/report-qua…. That could make a good checkbox on the Bug Bounty Maturity Framework: bugbountymaturity.com/framew… @SteveHernandezM
1
3
293
Tim Haines 🇺🇦 retweeted
In defence of GitLab, I had an access to the email thread forwarded from GitLab to Ruby core (as Ruby core hat), and I'd say Gitlab has no fault at all. GitLab has attempted to responsible coordination.
2
6
1
33
6,770
Dunno why @gitlab disclosed this without coordinating with the Ruby patches.
I recommend everyone upgrade Ruby immediately. This is a DoS and RCE vector if you accept user input into Regexp.new() ruby-lang.org/en/news/2026/1…
1
3
2,194
Tim Haines 🇺🇦 retweeted
I recommend everyone upgrade Ruby immediately. This is a DoS and RCE vector if you accept user input into Regexp.new() ruby-lang.org/en/news/2026/1…
19
116
38
505
125,306
Becoming adept at using a weeks worth of tokens in a day. Thanks @thsottiaux.
Day 18/ Decisions API is GA, OpenResponses joined the Linux Foundation, we shipped some performance improvements and Uber is going all-in on codex & work. But yes… that’s a reset!
3
172
Tim Haines 🇺🇦 retweeted
Thanks a lot to @TimHaines for performing a security audit of Rack Gateway: github.com/DocSpring/rack-ga… I've been working hard on this project and I've been trying to make it as secure as possible, but Tim was able to find a huge number of things that I had missed.
2
1
155
Interesting facets coming out of the PHP foundation's reports about Mythos and Daybreak Red not finding the bugs disclosed this week.
wait, PHP was actually scanned by Anthropic’s Claude Mythos earlier this year. they also had access to OpenAI’s Daybreak Red for validating exploits. the PHP Foundation revealed this JUST yesterday. keeping frontier cyber models in the hands of a selected few doesn’t seem to be working well for the internet. thephp.foundation/blog/2026/…
181
.@kong has also just bumped it's @Hacker0x01 signal requirement from 1 to 3. Hope this helps reduce the noise @sonicaghi. Would be interested to hear your teams experience with it over the coming month.
Interesting. @brave was paused for new report submissions on @Hacker0x01. They've unpaused, but have set a signal requirement of 7.0 (max value on H1) in order to submit. Seems like a much better way to manage volume. Your doing @bcrypt? Other programs with custom signal levels:
1
236
TIL github has a revoke token API. I know because Sol just used it to revoke 2 of my tokens. 😤
1
180
Tim Haines 🇺🇦 retweeted
-----BEGIN RSA PRIVATE KEY----- 4 -----END RSA PRIVATE KEY-----
249
4,001
330
42,378
1,090,496
Interesting. @brave was paused for new report submissions on @Hacker0x01. They've unpaused, but have set a signal requirement of 7.0 (max value on H1) in order to submit. Seems like a much better way to manage volume. Your doing @bcrypt? Other programs with custom signal levels:
4
1
2
1,005
If you're below the 7.0 signal required for Brave, you can submit using the trial report system. If your reports are triaged/resolved, you can keep submitting, even when not meeting the signal.
79
Back to burn mode.
Day 17/ Bet you thought we forgot, but no, it’s reset day today. Also good time to remind you to get Daybreak Blue access, it only takes 15 mins and you don’t want to have to do it in the middle of an incident.
107
My wife’s pharmacy has taken their php app offline, so she can’t pre-order her medication. (Need to submit a photo of the script)
1
238