logoalt Hacker News

GitHub confirms breach of 3,800 repos via malicious VSCode extension

437 pointsby Timofeibutoday at 1:43 PM139 commentsview on HN

Previous thread in sequence:

GitHub is investigating unauthorized access to their internal repositories - https://news.ycombinator.com/item?id=48201316 - May 2026 (321 comments)


Comments

psadauskastoday at 9:05 PM

If only the company behind VSCode, the company behind NPM and the company behind GitHub could get together and figure out a solution to this.

show 3 replies
mcolivertoday at 10:15 PM

Vs code extensions have been terrifying for a long time. Such a wild and obvious attack vector. I'm constantly getting pop ups in vscode to install an extension because it recognizes a certain file type. It's 50-50 whether that extension is owned by a company or some random dev. Some of these have millions of installs and on first glance appear to be official company owned extensions. I'm at a point in my life where I only installed official company owned extensions and even that is hard to be sure I'm not getting suckered. Sad state.

QuantumNoodletoday at 10:05 PM

I'm more surprised hackers found enough of a window of uptime to do this.

dangtoday at 7:28 PM

Previous thread in sequence:

GitHub is investigating unauthorized access to their internal repositories - https://news.ycombinator.com/item?id=48201316 - May 2026 (321 comments)

notnullorvoidtoday at 8:16 PM

I really hope this pushes Microsoft to add a explicit permission system to VS Code extensions, and improve security of dev containers.

show 2 replies
urbandw311ertoday at 9:46 PM

I wonder if this was the compromised nx console extension that bit me yesterday. The timing seems identical. See https://github.com/nrwl/nx-console/security/advisories/GHSA-...

show 1 reply
codedokodetoday at 7:45 PM

Note that VS Code is built on Electron and it is a pain to sandbox because Electron has (had?) SUID sandbox helper, and you cannot run SUID binaries in sandbox easily. Sandboxing on Linux is extremely difficult task.

show 3 replies
cdrnsftoday at 9:20 PM

That's one way to make things open source.

tekacstoday at 7:44 PM

Maybe I'm missing something really obvious, but... 3,800 repos? I guess I find it kind of surprising they have that many!

show 13 replies
schpettoday at 9:18 PM

i'd love to be able to use fine grained tokens with gh and not expose every repo and org that i am connected to on github, but you can't see the results of a github actions check that way (no 'Checks' permission available). hoping these breaches push things in the direction of access being less annoying to manage.

show 2 replies
1970-01-01today at 7:43 PM

But, it did not go down! Progress!

show 3 replies
huey77today at 11:26 PM

The forum listing for the stolen source code (per the screenshot in article) says 1 buyer or they leak for free. Is GitHub about to become open source?

dotwaffletoday at 11:02 PM

I'd have thought that by now, most would have been swapping to WebAssembly. It's really nicely sandboxed, you expose it to only what you want, and you can compile a lot of languages into a WASM form meaning you're not stuck with only Javascript or similar. Am I naive for thinking that?

fg137today at 8:15 PM

The (lack of) security of VSCode has always been astounding. People have asked for sandboxing extensions for years [0] with little to no progress, and issues have been discussed a lot (e.g. [1][2]). I guess it hasn't been a big issue, likely because most developers are not complete idiots. But it only takes one developer and one bad extension to consequences like this.

I mean, I understand that it is hard to sandbox Node.js applications, but apparently Microsoft has put way more effort into their Copilot slop than security.

[0] https://github.com/microsoft/vscode/issues/52116

[1] https://news.ycombinator.com/item?id=42979994

[2] https://news.ycombinator.com/item?id=46855527

show 3 replies
pamcaketoday at 10:27 PM

At what point did/does it start feeling naive to trust the integrity and output of Github Actions on general? Does it feel unlikely that an attacker would be able to get a foothold in that infrastructure?

innoyingtoday at 7:49 PM

If you own a GitHub organization and are looking for what changes/controls you can apply to reduce the risk/impact of PAT token exfiltration (and subsequent abuse) like what occurred here, I listed a few at the end of https://blog.bored.engineer/github-canarytokens-5c9e36ad7ecf...

- Enable audit log streaming[1] on your enterprise including source IPs and API requests, even if it’s just going to an S3 bucket nobody looks at it, your incident response team will thank you later.

- Enforce the use of SSO on your GitHub organization[2], not just because SSO is good but because it forces an explicit authorization action[3] by users to grant an SSH key/PAT access to your organization resources, instead of granting access implicitly. That way the PAT created for someone’s weekend project won’t have access to your organization resources.

- Enforce an IP allowlist[4] for your organization from a set of known trusted VPN/corporate IPs. This is by-far the strongest control (and the most painful to rollout) as it will prevent stolen credentials (even if still valid) from being used by an attacker except on the intended systems where you (hopefully) have other visibility/alerting via EDR or related tooling.

- If you can, restrict access from personal access tokens[5] to your organization resources. Blocking classic PATs and enforcing a maximum expiration (ex: 3 months) on fine-grained PATs is a great way to reduce risk if you can’t eliminate PATs altogether[6].

- If you use GitHub enterprise (on-prem), configure collection of the raw HTTP access logs[7] in addition to native GitHub audit logs, it may prove critical during incident response.

[1]: https://docs.github.com/en/enterprise-cloud@latest/admin/mon... [2]: https://docs.github.com/en/enterprise-cloud@latest/authentic... [3]: https://docs.github.com/en/enterprise-cloud@latest/authentic... [4]: https://docs.github.com/en/enterprise-cloud@latest/organizat... [5]: https://docs.github.com/en/enterprise-cloud@latest/organizat... [6]: https://edu.chainguard.dev/open-source/octo-sts/overview/ [7]: https://docs.github.com/en/[email protected]/admin/moni...

purpleideatoday at 10:24 PM

What's inside the canada.tar.gz one?

LeoPantheratoday at 9:43 PM

Has there been any confirmation of this from a source other than X? It's weird that that's the only source, and therefore makes me distrust the entire story.

2OEH8eoCRo0today at 7:29 PM

So which extension? Why don't they tell us?

show 2 replies
BrunoBernardinotoday at 8:17 PM

Curious timing that I've started moving private repos to SourceHut a couple of weeks ago. It's pretty good and fast!

I'm also mirroring public ones to Codeberg.

I'll write about it when I'm done.

gus_today at 8:04 AM

so how did they exfiltrate the information without noticing? what OS was the developer using? what security measures were they using?

yesterday discussion https://news.ycombinator.com/item?id=48191680

show 3 replies
aizktoday at 9:44 PM

And now, the hackers will be able to scan the repos for more vulnerabilities. Vulnerabilities all the way down.

jehnnysmithtoday at 10:30 PM

question is why are people still using vscode or coding by hand?

vldszntoday at 8:32 PM

friendly reminder:

- disable auto-updates for extensions in VS Code/Cursor

- use static analysis for GitHub Actions to catch security issues in pre-commit hook and on ci: https://github.com/zizmorcore/zizmor

- set locally: pnpm config set minimum-release-age 4320 # 3 days in minutes https://pnpm.io/supply-chain-security

- for other package managers check: https://gist.github.com/mcollina/b294a6c39ee700d24073c0e5a4e...

- add Socket Free Firewall when installing npm packages on CI to catch malware https://docs.socket.dev/docs/socket-firewall-free#github-act...

show 1 reply
dude250711today at 9:55 PM

A good day not to be using Electronjs trash.

sunshine-otoday at 7:41 PM

Isn't 50k a bargain for what could potentially be in those files?

Maybe they looked it up and there wasn't anything interesting but then why take the risk for this kind of money?

Something doesn't make sense.

show 2 replies
josefritzisheretoday at 7:48 PM

Is it premature to blame AI Microslop?

show 1 reply
jmclnxtoday at 7:42 PM

Another day another issue with Microsoft products, what else can be said :( At least they are being upfront these days.

assanineasstoday at 9:25 PM

[dead]

a-dubtoday at 7:51 PM

[dead]

thrawa8387336today at 9:17 PM

Who uses GitHub in 2026