Founder/CEO of @PentesterLab. Trainer, researcher, CVE archeologist. I like bugs, code review, and understanding why vulnerabilities exist.

☁
As an engineer, I ❤️ clever engineering. Ruby on Rails relies on signed sessions (AES GCM). They are secure, but there is a catch: you cannot invalidate them early. You have to wait for expiry. Workarounds exist, like caching sessions you want to kill, but nothing universal.
2
8
56
13,934
Two weeks of recording. My voice barely survived 😅 Both on-demand courses are now fully recorded: 🔎 Web Security Code Review 🐹 Secure Coding for Go Developers, beyond the OWASP Top 10 Launch discounts: pentesterlab.com/training/
1
7
451
Louis Nyffenegger retweeted
When you discover the only thing your $500k security appliance was protecting was the vendor's quarterly earnings.
Made with AI
1
17
934
Claude be like: "Okay, we didn’t test what you asked us to test, but we still found 5 zero-days."
1
5
1,073
Louis Nyffenegger retweeted
now that the KVM escape details are out (pwn.ai/blog/pwnescape)… if you’re wondering how i managed to rediscover it in under 2 hours after seeing the vercel bounty screenshot: i gave openai’s gpt-5.6-cyber (daybreak red) access to a devbox to experiment and explore different directions for 1.5 hours. then i spotted that the word after “guest-controlled” in the screenshot wasn’t properly redacted. those 3 dots gave away “virtio”. might seem like a small hint, but i passed it to my agent, and it got excited and found the vulnerability in 30 minutes. :)) opsec lesson right there.
next-level detection & response 😅 > half-jokingly suggested trying to rediscover the bug > set up the environment, started an agent with a cyber model, gave it one clue partway through (not saying what it was until the patch is out :))) > ~2 hours later: found the bug and validated an end-to-end exploit* > …** hats off to @PaulosYibelo for the original discovery… incredible work! definitely not an easy bug to find, especially without “cheating” :D * nitter.siddz.com/0x4d31/status/21064917… ** nitter.siddz.com/zbraniecki/status/2106…
17
50
652
34,702
Louis Nyffenegger retweeted
frustrating outcome from some BB programs recently. --> I report 20 vulnerabilities --> find out 19 of them got auto closed because of a "limit" and only 1 stays open. the 19 includes RCE, SQLi, SSTI and other criticals --> I have to beg them to check the auto closed reports --> one month later they respond saying my exploits don't work anymore ( obviously?) --> after checking, they confirm all were genuine findings but they can't honor the reports then.. proceed and "encourage" me to send more vulns
13
6
166
9,804
Louis Nyffenegger retweeted
Put some Spark in your relationship. 💍
3
14
90
6,640
Pitching VCs that you're starting an AI pentest startup...
GK
1
12
1,178
Louis Nyffenegger retweeted
Definitely worth a read 🔥 you won't regret it and you will learn lots. Great work Louis 💪
If you've read my book The CVE Archeologist's Field Guide, an honest Amazon review would really help. Any rating. One or two sentences is plenty: what was useful, what was missing. It has 5 ratings so far, and for a niche book that's the first thing strangers check.
1
5
615
If you've read my book The CVE Archeologist's Field Guide, an honest Amazon review would really help. Any rating. One or two sentences is plenty: what was useful, what was missing. It has 5 ratings so far, and for a niche book that's the first thing strangers check.
2
5
25
2,390
Your reminder to use path APIs when comparing paths. "/root".startswith("/roo") is true. That doesn't make /root a subdirectory of /roo. Java has the same trap: String.startsWith() and Path.startsWith() mean different things. github.com/snapspecter/mitmp…
1
8
1,185
Louis Nyffenegger retweeted
There’s still enormous value in understanding how vulnerabilities actually work. That kind of knowledge never gets old. In fact, it’s probably becoming even more valuable. Great work, @PentesterLab, on putting all of this knowledge together.
1
4
14
1,269
Louis Nyffenegger retweeted
To understand the future of open source software, it’s important to look at the XZ Utils backdoor attack. Imagine the potential value of such a vulnerability existing. Imagine the time and effort involved in getting it into place. Now imagine you wanted to put as many of those vulnerabilities in as many software programs as possible. How would you do it before AI agents existed? How would you do it now?
21
8
195
15,760
Security is a huge industry, but the longer I stay in it, the smaller it feels. Someone in Krakow knows your old coworker from San Francisco. And when people are hiring, everyone seems to be only one or two connections away. Your reputation travels further than you do.
1
4
33
3,226
Louis Nyffenegger retweeted
Replying to @snyff
This is peak hackbot
1
8
2,205
Made with AI
1
1
24
2,894
Turns out, the AD in ADHD doesn’t stand for Active Directory.
7
1
37
2,212
AppSec ratio: 1 AppSec engineer for 50 devs? Give them 50x the token allowance. That person is supposed to help secure what all those developers are building. They should be able to burn tokens on code review, research, testing... Reverse the AppSec ratio. Use it as allowance!
16
1,042
Louis Nyffenegger retweeted
"clean up all of your testing artifact" falls into a common problem of not knowing how your tools actually work
Someone should make a hack the box clone called "Be a Professional" The goal is to not tip over services, clean up all of your testing artifacts, and write a report that is clean and doesn't contain unredacted secrets
4
6
29
4,253