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

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.
Next story · Security · 3d ago
npm Trusted Publishing accepted a freed GitHub repo name as proof of who may publishConfirmed3 publishers
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%
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [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.
- [2]
CrowdSec is a French security company and had kept the departed employee's GitHub access open.
- [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.
- [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.
- [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.
- [6]
CrowdSec says the leaked code is almost four months old and has changed a lot since.
- [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.
- [8]
The copied code appeared on an online forum on September 16.
- [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.
- [10]
CEO Philippe Humeau wrote to the investors in the report that "for this I personally apologize."
- [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.
- [12]
On May 11, 84 malicious versions of 42 TanStack npm packages were published; the compromise is tracked as CVE-2026-45321.
- [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.
- [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.
- [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.
- [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.
- [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.
- [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.
- [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.
- [20]
CrowdSec rotated the exposed credentials on September 16 and 17.
- [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.
- [22]
Neither CrowdSec's report nor its first statement asks users to take any action.
- [23]
The 83 exposed user email addresses are about 0.06 percent of CrowdSec's roughly 150,000 users.
- [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.
- [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.
- [26]
117 days passed between the May 22 copy of the repositories and the code appearing on an online forum on September 16.
- [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.
- [28]
CrowdSec says GitHub support traced the token's history and confirmed its suspicion that TanStack was the source.
- [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.
Sources
4 independent publishers whose own reporting we read for this story.
- CrowdSec Statement: Source Code Exposure in May 2026
crowdsec.net
1 article · September 20, 2026
- github.comMalware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys · Advisory · TanStack/router · GitHub
1 article · September 20, 2026
- securityweek.comCrowdSec Confirms Source Code Stolen in Supply Chain Attack
1 article · September 21, 2026
- thehackernews.comCrowdSec Says TanStack npm Attack Led to Copy of 170 Private GitHub Repositories
2 articles · September 19, 2026
Topics and entities
Topics
- Software Supply Chain Security
- Employee offboarding and access revocation
- Source code leaks
Entities
- OpenAI
- Amazon SNS
- CrowdSec
- npm registry
- CrowdSec Security Engine
- Mistral AI
- GitHub
- TanStack