Replying to @julianor
on the client side, is node's built-in fetch in scope? curious if it asks servers for br by default
Replying to @lunaonexbt
i'd care less about the hosting and more about the defaults. a 2025 scan of lovable's showcase found about 170 of 1645 apps with supabase tables open to anyone with the public anon key
Replying to @mattpocockuk
curious if the factory section covers the token. an agent that opens PRs from issue text gets a write token, and anyone can write an issue body
Replying to @hmier
the vendored copies are the slow part. apt upgrade fixes the system libbrotli, but node, bun and the python wheels each ship their own decoder and need their own release
github blocks pull_request_target in public repos by default from nov 2. until then the rule runs in evaluate mode and only records what it would have stopped. 76 of the 200 most-starred repos use that trigger. check what it flagged in your repos before the blocking starts.
php2shell lives in the php runtime. updating wordpress or laravel won't fix it. the fixed runtimes are 8.2.35, 8.3.36, 8.4.27 and 8.5.12. distro packages often patch without changing the version, so check the changelog for the CVE ids.
node2shell (CVE-2026-111497) is a bug in google's brotli decoder, which bun and python's Brotli package ship too. fixed in node 22.23.4, 24.22.1 and 26.12.1, bun 1.4.4 and python Brotli 1.2.1. old docker images keep the bug until you rebuild them.
litellm 1.107.0 sat on pypi for under two hours on oct 21. the wheel drops a .pth file that runs a stealer every time python starts, and the github tag was clean. if a box installed it, rotate every key it could see and rebuild it.
railway: someone read encrypted env vars and got decrypted values for some customers. railway support said on oct 24 that sealed variables are stored the same way, so rotate the sealed ones along with the rest.
5 dev-security stories from this week, and what to do about each:
- railway env var breach
- litellm 1.107.0 on pypi
- node2shell in brotli
- php2shell
- github turning off pull_request_target on nov 2
one post each 🧵
Replying to @theomlondhe
nice catch on the anchored regex letting GH_TOKEN and NPM_TOKEN slip past. did you run job_workflow_ref through the same matcher? i'd want to know if it still holds when the attacker controls the calling workflow
Replying to @hii_mohit
ok, you have my attention. finder has been the slowest part of my mac for years. does it search inside files too, or only names?
Replying to @marclou
glad you got your family on it too. did the agents also check the api keys in your github secrets and hosting env vars? new passwords don't touch those, and that's the kind of key that leaked at railway and opencode this month
Replying to @ahamam101
Same salary ?
And same amount of time to deliver ?
If so I will trust the developer doing it manually. If the 90% can do it faster and understand his code (I guess since is the same quality) then the ai dev.
i put a permissions block with contents: read into every new repo's workflows before anything else.
what's the first thing you add?
Replying to @ahamam101
Keep building. Or slam the creators on X calling them basement dwellers.
Replying to @semgrep
of the 30 repos, did unpinned come up more than plain vulnerable? a floating node:24 tag is only fixed if someone rebuilt after oct 21, and nothing in the repo tells you that
Replying to @TheHackersNews
the brotli bug behind node2shell came out of this same red-team campaign. if your node, bun or python images haven't been rebuilt since the patches, they still have it
the node2shell bug from this week came out of openai's red team. their own agents found it while attacking openai's training sandboxes on purpose.
several of the other ways out were ordinary infra mistakes: DNS and firewall rules that let blocked requests through, a firewall-approved connection reused to reach a blocked endpoint, and internal services that fetched whatever URL the model gave them.
the cpu cache side channel will get the headlines. if you sandbox agents, check your URL-fetching services first
if you rotated your railway secrets this week and skipped the sealed ones, go back and rotate those too.
railway support said in a reply on oct 24 that sealing only hides a variable in the UI and API. sealed values are stored encrypted the same way as the rest, so they were as reachable as everything else.


