With the increasing number of supply chain attacks, I was thinking of finding one as well. PostHog came to mind since we’re already using it at Hacktron. I started looking at their repositories to see if there was a misconfiguration that could let me take over their repo or packages. I didn’t find anything immediately, so out of curiosity I started looking at the product code itself.
I ran a Hacktron scan on the product code. It flagged that Playwright launches Chromium with --no-sandbox during heatmap screenshot generation. Most teams would report this as is. We believe in PoC || GTFO: for any Hacktron pentest finding, we want to show the full impact. This looked like a good attack surface because it might give prod access, and maybe package registry keys if misconfigured, though that was a long shot. I started working with Claude on finding an appropriate n-day for v8/chrome and hacking PostHog via it. After around 36 hours I had RCE on PostHog Prod.
Around 5 AM I was writing the report in a secret GitHub Gist, as I usually do. The evidence in it triggered GitHub secret scanning, which alerted the PostHog team, and they messaged me:
Hello Harsh, I work on the security team at PostHog and we received alerts that we had secrets exposed in a Gist file hosted on your GitHub account.
Can we connect to talk about this?
Thanks!
Lab
I went back to Mohan’s post where he had Claude write a Chrome exploit. His n-day (CVE-
Assuming PostHog production was x86_64, I picked CVE-
| Piece | Version / detail |
|---|---|
| Remote Chrome | 139.0.7258.5 |
| Local v8 / d8 | 13.9.205.1 |
| Initial primitive | CVE- |
| Sandbox escape | Chromium/V8 issue 446113730 (WasmCPT UAF via transplant / tt.grow) |
Writing the exploit with Opus 4.6, then 4.8
I was doing this around the day Opus 4.8 launched, literally in the middle of my hacking session. Opus 4.6 got the exploit working end-to-end locally, but stalled on leaking the Isolate against prod, where the offset was different from my lab.
So I switched to 4.8 to give it a try on leaking the prod isolate and get RCE working on it. As 4.8 was doing this I noticed that 4.8 worked in a more organized way than 4.6 and was much less prone to cheating or shortcutting.
Anyways after a while it leaked the Isolate and had RCE on PostHog prod (with plenty of back-and-forth):

HTTP access log showing callbacks from the PostHog production worker
The exploit landed a shell inside a PostHog production worker container:
root@rcevps:/var/www/html# nc -lnvp 4449Listening on 0.0.0.0 4449Connection received on 52.4.194.122 26443bash: cannot set terminal process group (314): Inappropriate ioctl for devicebash: no job control in this shellroot@posthog-worker-django-longrunning-5cf844c55f-kgkj6:/code# lslsbincommit.txtcommoneefrontendmanage.pynode_modulesposthogproductsrustsharestaticfilesroot@posthog-worker-django-longrunning-5cf844c55f-kgkj6:/code#Impact and disclosure
From the container environment we could see production configuration and credentials in plaintext environment variables: database credentials, encryption keys, API secrets, and more. That meant production DB access.
After the GitHub secret scanning alert, the PostHog team fixed the bug, rotated secrets and credentials, and treated it as an incident. Their write-up and timeline are in PostHog security advisory PSA-2026-00001.
Open-weight models on the same exploit
When I was writing about this finding, Fable 5 had only just launched and was restricted by the US government. Between those controls and model guardrails, I don’t think we can rely on frontier models alone. I wanted to see whether an open-weight model, or one of its successors, could become my daily driver.
A V8 exploit is hard and has a verifiable result. Because the chain has distinct steps, I can measure how far each model gets before it stalls, rather than scoring only pass or fail.
Models
Open-weight models
GLM 5.2
Kimi 2.7
DeepSeek v4 pro
Frontier models (reference)
Opus 4.8
Grok 4.5 (bonus)
Scorecard
Step 1 is scored on default flags, without --no-liftoff.
Grok 4.5 was the fastest to complete the full exploit without any hint. It had a working exploit on the remote lab in around 1.30 hours.
Keeping frontier models aside:
Kimi was the fastest to get to OOB r/w with no hints on the default flags within ~20 min of reading the fix’s regression test, and implemented addrof/fakeobj, in-cage r/w and god buffer within an hour.
GLM and DeepSeek both got stuck earlier. Neither could get OOB r/w working without the
--no-liftoffflag until I hinted about warming up the tiers, after which it figured out the loop it needed to trigger the bug.DeepSeek, after various hints, still failed to trigger OOB r/w on default flags. Moreover, even after literally giving the PoC from Chromium issue 446113730, it failed to implement sandbox escape in the given time. To make matters worse, it kept saying that it is not possible to trigger the bug without using extra flags, and that it had already achieved sbx escape.
Even after various hints, none of them could leak Isolate needed to push to RCE.
Cheating and hallucinations
Kimi was noticeably honest: it followed instructions well and told me when it had actually failed instead of pretending.
GLM was the one most likely to cheat/game, leaning on the harness, hardcoding dynamically-computed addresses in Python, and so on.
DeepSeek hallucinated in the worst way: it kept saying it had gotten sbx escape r/w which it hadn’t.
Autonomy
Kimi felt the most autonomous: it kept going on its own and didn’t wander off into side quests. It also did organized work, which I like.
The exploits of all models:
Conclusion
Frontier models still own the full chain. Opus 4.8 and Grok 4.5 both reached RCE.
Among open-weight models, Kimi 2.7 and GLM 5.2 both made it to sandbox escape. That feels roughly on par with what I saw from Opus 4.6 on this kind of exploitation work. Call it something like a ~4 month gap to frontier? Between the two, I’d pick Kimi as a daily driver, faster on early primitives, more autonomous, and honest when it fails.
DeepSeek on this exploit chain was the weakest open model, it never got default-flag OOB even with hints and hallucinated sandbox escape.
That does not mean DeepSeek is weak at security overall. In our open-weight vs frontier Fider benchmark, DeepSeek v4 pro found 8/15, ahead of GLM 5.2 and even Opus 4.8 (6/15) on that run.
The bug also shows the patch gap in deployed images: PostHog’s worker ran Chrome 139.0.7258.5 with a known V8 n-day.
Patch gaps used to be survivable because exploits were hard. Even if a browser in a worker container was vulnerable to a known n-day, turning a V8 bug into a stable sandbox escape took specialized engineering that only a handful of researchers could do quickly, so teams had time to roll out updates.
Models are closing that window. Read how gpt-5.6-sol ultra wrote an exploit for the latest Chrome in three days.