Skip to content

Security Reports disagree4 publishers 3 min read Published Updated

Attacker copied 170 CrowdSec repositories with a departed employee's still-live GitHub token

CrowdSec kept a leaver's GitHub access open so he could finish some work, his laptop was hit by the TanStack npm compromise on May 11, and the repositories were copied on May 22 and posted to a forum on September 16.

The Watch · Security desk

Send a correction

Illustration accompanying Attacker copied 170 CrowdSec repositories with a departed employee's still-live GitHub token
Generated illustration

What happened

  • CrowdSec said on September 18 that an attacker copied about 170 of its private GitHub repositories on May 22, using the account of an employee who had just left the French security company.
  • The entry point was the TanStack npm compromise of May 11, tracked as CVE-2026-45321, in which 84 malicious versions of 42 packages were published to the registry.
  • The code surfaced on an online forum on September 16, two days before CrowdSec published its account of the incident.
  • CrowdSec says the stolen account was used only to copy code, that its infrastructure and databases were not accessed, and that nothing in the repositories was changed.
  • The same npm attack reached other companies: Mistral AI said a developer device was involved, and OpenAI said two employee devices were affected, with unauthorized access to a limited set of internal code repositories.

Why it matters

  • Who has to decide decision Keeping a leaver's GitHub membership alive for wrap-up work now has a price attached: CrowdSec closed the account on May 25, three days after the copy, and the token had nothing left to reach after that.
  • Who's exposed exposure Operators using the shared blocklist now run a consensus algorithm whose detection thresholds an attacker can read, and the defence is the cost of faking detections across many networks.
  • What it sets up precedent One poisoned npm release produced repository access at three companies. Expect stolen developer tokens to be spent against source control within days of the package landing.

Two controls had to fail at once. The npm compromise pulled credentials off a developer's laptop, including GitHub tokens, SSH keys and cloud credentials, according to TanStack's advisory [13]. The leaver's membership in the CrowdSec organization gave one of those tokens something to read. CrowdSec says it kept his access open so he could finish some work [3]. His other access had already been removed, and the company says that is why it saw no suspicious activity in its AWS systems [15].

The copy went undetected for 117 days [26]. CrowdSec says the token left no trace in the GitHub logs it could check, and that the token no longer existed by the time it learned of the leak [16]. GitHub support then traced the token's history and confirmed the company's suspicion that TanStack was the source [28].

CrowdSec says the only working credential in the archive was for AWS's SNS notification service and could publish to a single topic; someone tried it on August 17 and got no further [18]. Other tokens in the code had been rotated or could not be used from the internet, as far as the company knows [19]. The exposed credentials were rotated on September 16 and 17 [20].

The repositories include the one part of the archive that stays useful after the code goes stale: the consensus algorithm that decides which IP addresses go onto CrowdSec's blocklists [5]. The leak revealed the thresholds it uses, such as how many detections an address needs before it is added [24]. Those thresholds had not been public [24]. CrowdSec says poisoning the blocklist would still require tens of detections from tens of trusted engines across tens of separate networks, at great cost, and that it can change the thresholds, as it often does [25]. The company says the code is almost four months old and has changed a lot since [6].

The leak exposed 83 user email addresses against about 150,000 users, roughly 0.06 percent [23]. CrowdSec's data science team had kept those addresses to study how people used the product, and the company says it will contact the users [7]. The second set is 51 potential investors from 2020, with names, email addresses and investment context, from a system CrowdSec says was never meant to be public [4][9]. CEO Philippe Humeau wrote to the investors in the report that "for this I personally apologize." [10]

CrowdSec did not require endpoint protection software on developers' machines in May; it now runs such software on the laptops of staff who work with its code or systems [21]. It says those machines were checked and came back clean [29]. CrowdSec has not said which malicious package reached the former employee's laptop, and its report leaves out GitHub's own findings [29]. The report asks nothing of users, and neither did CrowdSec's first statement [22].

What to watch

  • Whether GitHub publishes its own account of the token history that CrowdSec's September 18 report does not include.
  • Whether any other TanStack victim reports code modified rather than copied. That would change how the campaign's intent is understood.
  • CrowdSec's promised contact with the 83 users and its report to the authorities over the 51 investor records.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence55
Adoption
Not scored
Hype gap−25
Incentives65
Confidence58

Perspective Coverage

4 publishers
Builder
Builder 34%
Operator
Operator 51%
Investor
Investor 15%
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    CrowdSec said on September 18 that an attacker copied about 170 of its private GitHub repositories on May 22 using the account of an employee who had just left.

    Reported SupportedView cited source
  2. [2]

    CrowdSec is a French security company and had kept the departed employee's GitHub access open.

    Reported SupportedView cited source
  3. [3]

    CrowdSec says the copy was made 11 days after the malicious packages were published, using a GitHub OAuth token from the former employee's account, and that it had kept his access so he could finish some work.

    Reported SupportedView cited source
  4. [4]

    Along with the source code, the leak contained the email addresses of 83 CrowdSec users and the names, email addresses and investment context of 51 potential investors from 2020, the company said.

    Reported SupportedView cited source
  5. [5]

    According to CrowdSec, the leaked code includes its web console, data science scripts and models, automation scripts, and the consensus algorithm that determines which IP addresses are added to the blocklists.

    Reported SupportedView cited source
  6. [6]

    CrowdSec says the leaked code is almost four months old and has changed a lot since.

    Reported SupportedView cited source
  7. [7]

    CrowdSec says it has about 150,000 users; its data science team kept the 83 exposed email addresses to study how people used the product, and the company says it will contact those users.

    Reported SupportedView cited source
  8. [8]

    The copied code appeared on an online forum on September 16.

    Reported SupportedView cited source
  9. [9]

    The investors' details came from a 2020 system that CrowdSec says was never meant to be public, and the company says it will report the leak to the investors and to the authorities.

    Reported SupportedView cited source
  10. [10]

    CEO Philippe Humeau wrote to the investors in the report that "for this I personally apologize."

    Reported SupportedView cited source
  11. [11]

    CrowdSec says the account was used only to copy code, that its infrastructure and databases were not accessed, and that no code was changed.

    Reported SupportedView cited source
  12. [12]

    On May 11, 84 malicious versions of 42 TanStack npm packages were published; the compromise is tracked as CVE-2026-45321.

    Reported SupportedView cited source
  13. [13]

    Installing one of the malicious versions ran code that stole credentials from the machine, including GitHub tokens, SSH keys and cloud credentials, according to TanStack's advisory.

    Reported SupportedView cited source
  14. [14]

    CrowdSec removed the former employee's account from its GitHub organization on May 25, three days after the copy and months before it learned of the leak.

    Reported SupportedView cited source
  15. [15]

    The former employee's other access had already been removed, which CrowdSec says explains why it saw no suspicious activity in its AWS systems.

    Reported SupportedView cited source
  16. [16]

    CrowdSec says the token left no trace in the GitHub logs it could check and no longer existed when the company learned of the leak.

    Reported SupportedView cited source
  17. [17]

    Mistral AI said a developer device was involved in its case, and OpenAI said two employee devices were affected, with unauthorized access to a limited set of its internal code repositories.

    Reported SupportedView cited source
  18. [18]

    According to CrowdSec, the only usable credential in the leak was for AWS's SNS notification service and could only publish messages to one topic; someone tried to use it on August 17 but got no further.

    Reported SupportedView cited source
  19. [19]

    CrowdSec says other tokens in the code had already been rotated or could not be used from the internet, as far as it knows.

    Reported SupportedView cited source
  20. [20]

    CrowdSec rotated the exposed credentials on September 16 and 17.

    Reported SupportedView cited source
  21. [21]

    CrowdSec did not require endpoint protection software on developers' machines at the time, but it now runs such software on the laptops of staff who work with its code or systems.

    Reported SupportedView cited source
  22. [22]

    Neither CrowdSec's report nor its first statement asks users to take any action.

    Reported SupportedView cited source
  23. [23]

    The 83 exposed user email addresses are about 0.06 percent of CrowdSec's roughly 150,000 users.

    Derived Supported
  24. [24]

    CrowdSec says the leak revealed the thresholds the consensus algorithm uses, such as how many detections it requires before adding an IP address to the blocklist, and that these had not been public before.

    Reported SupportedView cited source
  25. [25]

    CrowdSec says that as far as it knows the blocklist still cannot be poisoned, that an attacker would need tens of detections from tens of trusted engines across tens of separate networks at great cost, and that it can change the thresholds, as it often does.

    Reported SupportedView cited source
  26. [26]

    117 days passed between the May 22 copy of the repositories and the code appearing on an online forum on September 16.

    Derived Supported
  27. [27]

    CrowdSec says the former employee's laptop was compromised in May's supply chain attack on TanStack, in which malicious versions of TanStack's npm packages stole credentials from developers' machines.

    Reported ContestedView cited source
  28. [28]

    CrowdSec says GitHub support traced the token's history and confirmed its suspicion that TanStack was the source.

    Reported ContestedView cited source
  29. [29]

    CrowdSec did not say which malicious package reached the former employee's laptop or when, and its report does not include GitHub's own findings; it says its developers' machines were checked and came back clean.

    Reported ContestedView cited source

Sources

4 independent publishers whose own reporting we read for this story.

  1. crowdsec.net

    1 article · September 20, 2026

    CrowdSec Statement: Source Code Exposure in May 2026
  2. github.com

    1 article · September 20, 2026

    Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys · Advisory · TanStack/router · GitHub
  3. securityweek.com

    1 article · September 21, 2026

    CrowdSec Confirms Source Code Stolen in Supply Chain Attack
  4. thehackernews.com

    2 articles · September 19, 2026

    CrowdSec Says TanStack npm Attack Led to Copy of 170 Private GitHub Repositories

Topics and entities

Topics