Pe 17 septembrie 2026, compania franceză de securitate CrowdSec a publicat o declarație despre expunerea codului său sursă privat. Cronologia pe care o descrie chiar ea este partea instructivă: expunerea s-a produs în mai, iar compania a fost informată despre ea abia pe 16 septembrie, de către un terț.
Cauza rădăcină indicată de CrowdSec este compromiterea lanțului de aprovizionare TanStack, un set de pachete npm folosit pe scară largă pentru interfețe web pe Node. Declarația spune că respectiva componentă „a fost folosită în organizația noastră în mai și pare să fi fost backdoor-ată pentru a extrage o cheie de API cu autorizație de citire a codului privat”.
Lanțul, verigă cu verigă
- Un pachet npm larg folosit este compromis și publicat în versiuni malițioase. Potrivit relatării independente, versiunile otrăvite au apărut pe 11 mai 2026, iar instalarea lor extrăgea de pe mașina dezvoltatorului credențiale: token-uri GitHub, chei SSH și credențiale de cloud.
- Laptopul unui dezvoltator instalează pachetul în cursul lucrului normal. Nu a fost nevoie de phishing, de o parolă slabă sau de o greșeală vizibilă a cuiva — doar de o comandă de instalare pe care echipele o rulează de zeci de ori pe zi.
- Credențialele furate deschid accesul la repository-urile private. Relatarea independentă precizează că, pe 22 mai, au fost copiate aproximativ 170 de repository-uri private, folosind contul unui angajat care tocmai plecase din companie și căruia accesul îi fusese lăsat deschis ca să își încheie lucrările.
- Nimeni nu observă. Între copiere și momentul în care compania află de la un terț trec aproape patru luni.
Ce confirmă CrowdSec și ce se raportează în plus
- Confirmat de CrowdSec: conținutul repository-urilor private — codul sursă al consolei SaaS, unele rutine AWS Cloud, conectori și automatizări. Motorul de securitate open-source este public prin construcție și nu intră în discuție.
- Confirmat de CrowdSec: contul a fost folosit exclusiv pentru clonări Git, fără niciun commit și fără modificări asupra codului, infrastructurii sau CI-ului, iar token-urile și credențialele necesare au fost rotite.
- Afirmat de CrowdSec: „Nicio dată de client, login/parolă, nume, organizație sau altceva nu a fost divulgat”, compania precizând că nu stochează date cu caracter personal sau loguri de clienți.
- Raportat independent, în plus față de declarație: arhiva ar fi conținut și adresele de e-mail a 83 de utilizatori CrowdSec, plus nume, adrese de e-mail și contextul investiției pentru 51 de potențiali investitori din 2020.
- Aici există o tensiune pe care merită să o vezi ca atare: declarația companiei spune că nu a fost divulgată nicio dată de client, în timp ce relatarea independentă descrie adrese de e-mail în arhivă. Nu le putem împăca din surse publice; le prezentăm separat, cu atribuire, fără să alegem una.
Ce rămâne necunoscut
- Cine a efectuat copierea și dacă arhiva a fost publicată, vândută sau folosită ulterior.
- Dacă alte organizații care foloseau aceleași pachete au fost afectate în același val și nu au aflat încă.
- De ce a fost nevoie de un terț ca să semnaleze expunerea, adică ce anume nu a produs alertă intern între mai și septembrie.
Offboarding-ul este locul cel mai ieftin de reparat
Din tot lanțul, veriga cea mai simplu de eliminat este contul rămas deschis. Motivul pentru care a fost lăsat activ — ca omul să își termine treaba după plecare — este unul pe care îl auzi în aproape orice organizație și care sună rezonabil în ședință. Costul lui apare abia când acel cont devine calea de intrare.
Alternativa nu este rigiditatea, ci termenul. Un acces prelungit după plecare poate fi legitim dacă are o dată de expirare setată tehnic, nu promisă, un proprietar intern care răspunde pentru el și o revizuire la finalul perioadei. Diferența dintre „îi mai lăsăm accesul o săptămână” și „accesul expiră automat pe 30 ale lunii” este exact diferența dintre acest incident și un non-eveniment.
Ce verifici în următoarele zile
- Listează conturile persoanelor plecate din organizație în ultimele douăsprezece luni și verifică efectiv, nu din evidență, dacă mai au acces la GitHub, la cloud, la VPN sau la instrumentele de administrare. Notează pentru fiecare cine a aprobat prelungirea și când expiră.
- Verifică unde sunt stocate token-urile de acces pe laptopurile de dezvoltare și ce durată de viață au. Un token cu valabilitate nelimitată, salvat local, transformă orice compromitere de stație într-o compromitere de cod.
- Tratează instalarea unei dependențe ca pe o execuție de cod pe stația dezvoltatorului, pentru că asta este. Discută cu echipa dacă fixarea versiunilor, verificarea integrității și instalarea în medii izolate sunt realiste pentru fluxul vostru.
- Verifică dacă ai vizibilitate asupra clonărilor masive din repository-urile private. Clonarea a 170 de repository-uri într-o zi este un tipar detectabil, dacă cineva se uită la loguri și dacă logurile există.
- Stabilește ce ai face dacă ai afla peste patru luni că ți-a fost copiat codul. Ce rotești, în ce ordine, cine decide și ce comunici. CrowdSec spune că a rotit credențialele în zilele imediat următoare aflării; asta se poate face repede doar dacă lista lor există dinainte.
Dovada care contează pentru conducere
Un raport util nu spune „am revizuit accesele”. Arată câte conturi ale foștilor angajați erau încă active, câte au fost închise, câte au primit o dată de expirare și cine le deține, plus ce s-a schimbat în procesul de offboarding ca situația să nu se repete peste șase luni.
Pentru o organizație aflată în sfera NIS2, această trasabilitate susține controlul accesului și securitatea lanțului de aprovizionare, fără a echivala automat cu conformitatea legală, care rămâne evaluarea proprie a organizației. Awarely Monitor poate lega semnalele de securitate de active, responsabili și dovada închiderii; revizuirea accesului și decizia de risc rămân ale echipei.
Surse și verificare
Deschide sursele originale pentru context, actualizări și formularea exactă a afirmațiilor.