// hackerlogs
login+ register
Supply ChainAI for DefenseThreat BriefHigh

CrowdSec Confirmed a May TanStack Read of Its Private Code.

CrowdSec said on 17 September a May TanStack install likely stole a CI token and read private GitHub repos. SaaS and AWS code. No customer data. Notice in September.

The short answer

CrowdSec confirmed on 17 September that private GitHub repositories were read in May. The likely vector is a poisoned TanStack package that pulled a CI token with read access. Exposed code includes the SaaS console, AWS routines, connectors, and automations. CrowdSec says no customer data left. Fuites Infos reported it on 16 September, four months later.

Key takeaways

  • CrowdSec learned on 16 September and confirmed on 17 September. The access window it names is a short stretch in May, not an open door through the summer.
  • The public Security Engine is out of scope. The private tree is the SaaS console, AWS cloud routines, connectors, and automations.
  • CrowdSec points at the 11 May TanStack npm compromise, the same class it says hit Mistral AI. A CI token with private-repo read is the claimed hop.
  • No customer data, passwords, names, or client logs, per CrowdSec. A hunt for tokens that enable lateral movement found none so far.
  • The operator lesson is the four-month gap. A dependency inside CI turned a May install into a September notification from outside.

Hacker News put CrowdSec's own statement on the front page this evening. The company learned on 16 September that private GitHub repositories had been read in May. It confirmed the report today.

US X Trends were football. The security side of X spent the night on Plugin4Shell and a Mistral listing. This is the vendor who said the quiet part: the May TanStack install was not only a package story.

High CI token, private-repo read, four months to notice. High because the access sat until an outsider called, not because CrowdSec says customer data left.

The vendor page, 17 September. Not a diagram.

CrowdSec's 17 September official statement on a May source-code exposure, with the first paragraph naming the GitHub leak and the public Security Engine.

The Hacker News thread that put it on the front page.

Hacker News thread for CrowdSec Source Code Leak, 121 points, linking to crowdsec.net, with the first comments on the May access.

What CrowdSec actually said.#

On 16 September, Fuites Infos told CrowdSec about a source-code leak. The company verified it and published on the 17th. The access, it says, happened in May.

Two trees. The Security Engine is public by design and out of scope. The private tree holds the SaaS console, some AWS cloud routines, connectors, and automations. Headlines that say 300 repositories are, in CrowdSec's wording, true only if you add the 130-plus public repos. That number is a split, not a volume claim.

No client data, login material, names, or organizations, per the statement. CrowdSec does not store customer PII or client logs. A hunt for tokens that would let someone move laterally found none so far. The API material in the leak is, they say, the CI/CD token itself.

The likely vector is the TanStack npm compromise of 11 May. CrowdSec says the same class hit Mistral AI. A TanStack component in use that month looks, to them, to have been backdoored to extract an API key that could read the private codebase. The leak was only exploitable in a short May window. They rotated the tokens after confirming the report.

Why the four-month gap is the ticket.#

TanStack's postmortem is dated 15 May. CVE-2026-45321 covers 84 malicious versions across 42 packages, published in a six-minute window on the 11th. The payload's job was to steal cloud credentials and GitHub tokens from the install host.

CrowdSec is a later confirmation that one of those tokens was used, and that the company did not see the private-repo read until September. RuntimeWire's write-up puts the gap at roughly four months. Hacker News did the predictable joke. The operator line is less funny: a runner that can install a dependency and also hold a git token with private read is a second product.

  1. 84 malicious TanStack package versions publish to npm in about six minutes. GHSA-g7cv-rxg3-hmpx / CVE-2026-45321.
  2. TanStack issues an all-clear on the registry after deprecating the bad versions.
  3. CrowdSec later says a short window in this month is when its private GitHub tree was readable via a CI token.
  4. Fuites Infos notifies CrowdSec.
  5. CrowdSec confirms, rotates tokens, and publishes. Hacker News puts the statement on the front page.

What this is not.#

It is not a September intrusion. September is the notice. May is the access.

It is not the July Hugging Face swarm, and it is not last night's Mistral listing. CrowdSec cites Mistral as the earlier TanStack cousin. A new forum post selling 339 files is a separate claim. Do not merge them.

It is also not a CrowdStrike headline. Different company. The HN thread already went there.

What to do.#

If you run CrowdSec, or you ran a JS install on 11 May:

  1. Read the 17 September statement as the scope. Private SaaS, AWS, connectors, automations. Public engine out. Customer data, per CrowdSec, out.
  2. If CrowdSec tells you to rotate a token, rotate it. Then ask whether that runner still has private-git read from the same job that installs npm packages.
  3. Hunt May CI logs for TanStack installs and unexpected git clone traffic against private GitHub from those hosts. Four months is long enough for the useful code to move. It is also long enough to miss a second use of the same token.
  4. Re-read GHSA-g7cv-rxg3-hmpx if any developer laptop or runner sat on an affected version on 11 May. TanStack's advice then still holds: treat that host's credentials as burned.
  5. Do not close this because the Security Engine is open source. The leak CrowdSec confirmed is the private tree. The control is the CI token, not a package lock on the engine.

Hacker News will keep arguing about IP blocklists. The fileable ticket is a May install that read a security company's private git, and a September phone call that was the first the company heard of it. Scope the token. Then read May as if someone already cloned it.

Frequently asked

Did CrowdSec lose customer data?

CrowdSec says no. It does not store customer PII or client logs, and the hunt for login material, names, and organizations in the leaked tree found none. Treat that as the company's statement, not as a third-party audit. The ticket on your side is still the CI token class, not a customer-dump headline.

Is this a new breach in September?

No. CrowdSec dates the access to a short window in May. September is when Fuites Infos told them and when they published. Headlines that say 300 repositories are, in CrowdSec's words, counting public Security Engine repos plus the private split. Do not file this as a fresh September intrusion.

Is this the same TanStack incident as Mistral?

CrowdSec says the TanStack compromise is the likely vector, as in the Mistral AI case. TanStack's own advisory is GHSA-g7cv-rxg3-hmpx / CVE-2026-45321: 84 malicious versions across 42 packages on 11 May, built to steal cloud credentials and GitHub tokens. CrowdSec is a later confirmation that one of those tokens was used. It is not a new npm publish.

What should a CrowdSec customer do tonight?

Read the 17 September statement. Rotate any CrowdSec-issued tokens you were told to rotate. Hunt May CI logs for TanStack installs and unexpected GitHub clone traffic from those runners. This is not a reason to rip out the open Security Engine. It is a reason to treat May CI credentials as burned if that runner could reach private git.

Sources

  1. CrowdSec Source Code Leak Hacker News · 2026-09-17

Related