Den 19 mars 2026 klockan 17:43 UTC aktiverade hotaktören TeamPCP ett enda komprometterat GitHub Personal Access Token i Aqua Securitys organisation. Det var startpunkten för en attackkampanj som på tolv dagar komprometterade fem av världens mest använda öppen källkodsverktyg, satte miljoner CI/CD-pipelines i riskzonen och placerade leveranskedjeattacker högst på agendan för DevSecOps-team globalt, inklusive i Sverige och Norden.
Hur ett enda glömt access-token raserade branschens förtroende
Attacken mot Aqua Securitys Trivy-scanner hade sina rötter i en sårbarhet som identifierades månader i förväg. Den 29 november 2025 flaggade säkerhetsföretaget Boost Securitys automatiserade verktyg poutine för en kritisk CI/CD-konfigurationssvaghet i Trivys GitHub-repository: en pull_request_target-misconfiguration i filen apidiff.yaml som lagts till i oktober 2025. Ingen åtgärd vidtogs under de närmast fyra månader som följde.
“Misconfigurationen i apidiff.yaml var en välkänd CI-sårbarhet som möjliggjorde stöld av inloggningsuppgifter. Vi flaggade den i november 2025, men ingen åtgärd vidtogs förrän attacken väl hade inträffat”, säger Paul McCarty, säkerhetsforskare på Boost Security och skapare av poutine-verktyget som identifierade bristen.
Den 20 februari 2026 skapades GitHub-kontot hackerbot-claw. Under februari månads sista vecka skannade kontot systematiskt publika GitHub-repositories efter exploaterbara Actions-konfigurationer, inklusive felaktiga pull_request_target-workflows hos Microsoft, Datadog och Aqua Security. TeamPCP hade tålamod: från kontots skapande till den faktiska attacken gick nästan en månad av förberedelser, rekognoscering och positionering.
Trivy är ingen obetydlig komponent i moderna CI/CD-pipelines. Aqua Securitys öppen källkods-containerscanner används i uppskattningsvis 90 procent av alla cloud-native CI/CD-pipelines globalt. Med en sådan marknadstäckning fick attacken omedelbar, global räckvidd och drabbade sannolikt ett stort antal svenska och nordiska organisationer som förlitar sig på verktyget för sårbarhetsskanning av containrar.
Tidslinje: TeamPCP-kampanjens spridning mars till april 2026
Kampanjen rullade ut i distinkta faser, var och en byggd på inloggningsuppgifter och åtkomst stulna i föregående steg. Kedjans natur innebar att varje komprometterat verktyg öppnade dörren för nästa angrepp, i en eskalering som på tolv dagar träffade fem separata ekosystem.
| Datum 2026 | Mål | Ekosystem | Angreppsvektor | Månatliga nedladdningar |
|---|---|---|---|---|
| 19 mars | Trivy (Aqua Security) | GitHub Actions / Docker | PAT-stöld via pull_request_target | Miljoner CI/CD-körningar |
| 21 mars | Checkmarx AST | GitHub Actions | Identisk credential-stealer som Trivy | Utbredd CI/CD-användning |
| 23 mars | Checkmarx KICS (35 taggar) | GitHub Actions / OpenVSX | Komprometterat cx-plugins-releases-konto | Hundratusentals dagligen |
| 24 mars | LiteLLM | PyPI | Via Trivy-stulna inloggningsuppgifter | 97 miljoner |
| 27 mars | Telnyx | PyPI | Komprometterat distributionspaket | Kommunikations-SDK |
| 31 mars | Axios | npm | Kapning av underhållarkonto | 400 miljoner (100M/vecka) |
| 22 april | Bitwarden CLI | npm | Komprometterat npm-konto, delad C2-domän med Checkmarx | Begränsat 93-minutersfönster |
Startpunkten: Aqua Securitys Trivy komprometteras 19 mars
Klockan 17:43 UTC den 19 mars 2026 utnyttjade TeamPCP ett icke-roterarat Personal Access Token från Aqua Securitys GitHub-organisation. Det var ett PAT som inte hade bytts ut korrekt efter en tidig incidentrespons, och vars exponering möjliggjorts av den pull_request_target-konfiguration som Boost Security flaggat fyra månader tidigare.
Angriparna injicerade credential-stälande skadlig kod i de officiella utgåvorna av Trivy: versionerna v0.69.4, v0.69.5 och v0.69.6. Samma kod placerades i trivy-action och setup-trivy-repositories på GitHub Actions. Den skadliga koden riktade sig mot GitHub-credentials, CI-token och miljöhemligheter i alla CI/CD-pipelines som använde de drabbade versionerna utan att pinna på specifika commit-SHA:er.
GitHub Security Advisory GHSA-69fq-xp46-6×23 publicerades för Trivy-incidenten. Aqua Security inledde credential-rotation och kommunicerade att Trivy v0.69.3 var senaste säkra version. Teams som använde trivy-action refererat via tag, i stället för SHA-pin, behövde räkna med potentiell exponering under angreppsperioden den 19 till 20 mars 2026.
Kedjereaktionen: Checkmarx AST och KICS drabbas den 23 mars
TeamPCP nöjde sig inte med Trivy. Med inloggningsuppgifter stulna från komprometterade Trivy-pipelines rörde sig kampanjen vidare mot Checkmarx, en av världens ledande leverantörer av appsäkerhetsverktyg. Attacken mot Checkmarx AST-actions inträffade den 21 mars 2026 och eskalerade den 23 mars när samtliga 35 taggar av checkmarx/kics-github-action kapades.
Kapningen ägde rum mellan klockan 12:58 och 16:50 UTC den 23 mars med hjälp av det komprometterade tjänstekontot cx-plugins-releases (GitHub ID 225848595). Utöver GitHub Actions distributerade TeamPCP skadliga VS Code-extensions, namngivna Checkmarx Developer Assist och AST-Results i versionerna 1.17.0 och 1.19.0, via OpenVSX-marknadsplatsen, samt en Jenkins-plugin och modifierade Docker-images.
Checkmarx bekräftade i sin officiella incidentrapport att dataexfiltrering ägde rum den 30 mars 2026, och att en kriminell grupp publicerade data från Checkmarx GitHub-repositories på det mörka webbet den 25 april 2026. Den sista belagda hotaktiviteten i Checkmarx-miljön skedde den 22 april 2026, exakt 34 dagar efter det initiala Trivy-intrånget.
Det faktum att ett säkerhetsföretag vars kärnaffär är att hjälpa andra skydda sin kod föll offer för en leveranskedjeattack, skickade en tydlig signal till hela branschen: de verktyg som skyddar din kod kan själva bli ett angreppsvapen.
PyPI träffas: LiteLLM och Telnyx komprometteras
Kampanjen spred sig till Python-ekosystemet den 24 mars 2026. LiteLLM, en AI-proxyserver för stora språkmodeller som laddas ned ungefär 97 miljoner gånger per månad via PyPI, komprometterades via inloggningsuppgifter stulna i Trivy-attacken. Angriparna injicerade en .pth-fil för auto-exekvering vid Python-start samt modifierad kod i proxy_server.py som fungerade som credential-harvester riktad mot API-nycklar och miljövariabler.
Den 27 mars drabbades Telnyx, ett kommunikations-SDK med bred användning i SaaS-plattformar och telekommunikationsapplikationer. Attacken mot Telnyx följde samma grundläggande mönster: ett komprometterat distributionspaket som smugglade in credential-stälande kod utan att omedelbart väcka larm i automatiserade säkerhetssystem, eftersom paketet publicerades via ett legitimt konto.
Exponeringen av LiteLLM är särskilt anmärkningsvärd i ett nordiskt perspektiv: LiteLLM används flitigt av organisationer som bygger egna AI-lösningar ovanpå OpenAI, Anthropic och open source-modeller. Nordiska tech-bolag och startups som integrerat LiteLLM under mars 2026 bör ha granskat sina API-nycklar och tokenrotationer omedelbart efter incidenten.
Axios: Det mest nedladdade npm-paketet med 100 miljoner nedladdningar per vecka
Kampanjens mest alarmerande enskilda kompromiss inträffade den 31 mars 2026, när Axios, npm-registrets överlägset mest nedladdade HTTP-klientbibliotek med runt 100 miljoner nedladdningar per vecka, drabbades av en supply chain-attack. En hotaktör kapade ett underhållarkonto och publicerade en trojaniserad version av paketet, innehållande en postinstall-RAT-dropper, till npm-registret.
Axios-attacken skiljer sig från resten av kampanjen i ett avgörande avseende: den har inte tillskrivits TeamPCP. Analyser från säkerhetsforskare pekar mot en hotaktör med espionage-liknande operationell sofistikation och APT-karaktär, med ett tydligt annorlunda tekniskt fingeravtryck jämfört med TeamPCP-kampanjens credential-harvesting-fokus. Huruvida det rör sig om en koordinerad insats eller ett opportunistiskt angrepp under pågående leveranskedjekris är ännu inte klarlagt.
För nordiska organisationer återfinns Axios i praktiskt taget varje JavaScript- och Node.js-baserat projekt. Axios-kompromissen innebar ett akut behov av att granska dependencies och rotera tokens i alla miljöer som laddade ned paketet under det kritiska tidsfönstret den 31 mars.
Bitwarden CLI: CVE-2026-42994 drabbar lösenordshanterarens kommandorad
Den 22 april 2026 mellan klockan 17:57 och 19:30 ET, ett tidsintervall på 93 minuter, publicerades paketet @bitwarden/[email protected] med skadlig kod till npm-registret. Bitwarden, vars lösenordshanterare används av miljontals individer och organisationer, fick sin CLI-distributionskanal komprometterad i vad som uppgavs vara kopplat till den bredare Checkmarx supply chain-incidenten.
Sophos X-Ops identifierade att attacken mot Bitwarden CLI och en separat attack mot Checkmarx Docker-images inträffade med timmar emellan och delade samma kommando- och kontrolldomän (C2). Fyndet pekade mot en möjlig gemensam hotaktör, skild från TeamPCP men med koppling till Checkmarx-kampanjen.
“Attackerna mot Checkmarx och Bitwarden inträffade inom timmar, delar samma C2-domän och pekar potentiellt mot en enda hotaktör som kör en koordinerad kampanj, skild från TeamPCP”, skriver Sophos X-Ops i sin tekniska analys av incidenten.
CVE-2026-42994 utfärdades för Bitwarden CLI version 2026.4.0. Bitwarden betonade i sin officiella kommunikation att inga vault-data komprometterades och att vanliga Bitwarden-användare, inklusive de som använder webbläsarextension, mobilapp och desktopklient, inte påverkades. Enbart de som laddade ned CLI-verktyget under det 93 minuter långa fönstret var exponerade för risken.
Teknisk anatomin: Credential-kaskaden steg för steg
Attackens tekniska mekanik följde ett konsekvent mönster som av experter på Phoenix Security beskrivs som “den mest konsekventa CI/CD supply chain-attack som dokumenterats hittills”, startande från ett enda icke-roterarat Personal Access Token och kaskaderande tvärs över fyra GitHub Actions-repositories, två OpenVSX-extensions, containerregistren Docker Hub, GHCR och ECR, samt över 66 npm-paket.
Angreppsvektorn utnyttjar ett välkänt men alltför sällan åtgärdat problem: GitHub Actions-workflöden med pull_request_target-triggers exponerar, om de är felkonfigurerade, write-behörigheter för pull requests från forkade repositories. TeamPCP använde detta för att stjäla ett PAT med tillräckliga behörigheter för att publicera officiella releases, och etablerade därmed ett fotfäste med legitimitetens fulla tyngd bakom sig.
Den injicerade skadliga koden riktade sig genomgående mot dessa kategorier av känslig data:
- GitHub Personal Access Tokens och CI-token
- Miljöhemligheter i CI/CD-pipeline-konfigurationer
- npm-, PyPI- och Docker Hub-autentiseringsuppgifter
- GitLab-tokens och deploy keys
Microsoft Defender for Cloud publicerade den 27 april 2026 en uppdatering som sammanfattade kampanjens övergripande mål: att skörda inloggningsuppgifter och annan känslig data från utvecklar- och CI/CD-miljöer, följt av exfiltrering till aktörskontrollerade servrar. Kampanjens expansion från Trivy till Checkmarx Docker-images och Bitwarden CLI speglade en metodisk eskalering av angreppsytan.
Drabbade versioner och CVE-referens
| Verktyg | Drabbad version | Säker version | CVE / GHSA | Exponeringsperiod |
|---|---|---|---|---|
| Trivy | v0.69.4 till v0.69.6 | v0.69.3 eller senare | GHSA-69fq-xp46-6×23 | 19–20 mars 2026 |
| trivy-action | Tags utan SHA-pin | v0.35.0 (SHA-pinnad) | GHSA-69fq-xp46-6×23 | 19–20 mars 2026 |
| Checkmarx KICS | v2.1.20, v2.1.21, alpine, debian, latest | Granskad och uppdaterad version | Ingen separat CVE | 23 mars, 12:58–16:50 UTC |
| Checkmarx VS Code | Developer Assist 1.17.0 och 1.19.0 | Uppdaterad version via OpenVSX | Ingen separat CVE | 23 mars 2026 |
| LiteLLM | Komprometterade versioner via PyPI | Uppdaterade versioner | Ingen separat CVE | 24 mars 2026 |
| Axios | Trojaniserad version via npm | Verifierade versioner | Utreds, möjlig APT-aktör | 31 mars 2026 |
| Bitwarden CLI | @bitwarden/[email protected] | Alla övriga versioner | CVE-2026-42994 | 22 april, 17:57–19:30 ET |
Vem är TeamPCP och varför riktas angreppen mot säkerhetsföretag?
TeamPCP etablerade sig som hotaktör under tidigt 2026 med en metodisk kampanj specifikt riktad mot säkerhetsföretags öppna källkodsprojekt. Valet av mål är ingen tillfällighet: säkerhetsverktyg som Trivy och Checkmarx har djup integration i tusentals organisationers CI/CD-pipelines. En kompromiss av ett sådant verktyg ger automatisk, tillit-baserad tillgång till alla organisationer som använder det, utan att behöva brutalt forcera sig in i varje enskild organisations system.
Hotaktörens modus operandi består av tre faser: identifiering av felkonfigurerade GitHub Actions med läckande behörigheter via automatiserad skanning, stöld av PAT eller tjänstekontots credentials via den identifierade sårbarheten, och spridning via officiella distributions- och releasekanaler vars legitimitet är det egentliga vapnet.
Analysen av kampanjen pekar på ett ekonomiskt snarare än statsstyrt motiv. TeamPCPs credential-harvesting-fokus och avsaknad av klassiska spionageindikatorer tyder på att stulna tokens säljs vidare eller används för att ge initial access till företagsnätverk. Säkerhetsforskare vid Semgrep konstaterar att kampanjen visar “hur säkerhetsföretag, trots sin specialisering, kan bli en angripares mest värdefulla mål och en inkörsport till hundratals av deras kunder”.
Påverkan på svenska och nordiska DevOps-miljöer
För svenska och nordiska organisationer är attacken direkt relevant. Norden är starkt representerat i cloud-native och DevOps-mognad: en stor andel nordiska tech-organisationer använder containerisering och GitHub Actions i sina pipelines, ofta med Trivy som primärt skanningsverktyg för containerimages. Axios är, precis som i resten av världen, en standarddependency i i stort sett varje JavaScript-baserat projekt.
Organisationer som använde drabbade versioner under de specificerade tidsfönstren bör betrakta sina CI/CD-miljöer som potentiellt komprometterade och omedelbart vidta dessa åtgärder:
- Rotera alla GitHub-token, npm-token, PyPI-credentials och deploy keys
- Granska CI/CD-loggar för misstänkt aktivitet under angreppsperioderna
- Uppdatera till verifierat säkra versioner och pinna med specifika SHA-checksummor
- Genomföra en fullständig granskning av
pull_request_target-workflöden i organisationens repositories - Implementera automatiserade verktyg som Boost Securitys poutine för kontinuerlig CI/CD-misconfigurationsidentifiering
Europeiska regelverk som Cyber Resilience Act och NIS2-direktivet, som inkorporerats i Cybersäkerhetslagen, ställer bindande krav på hantering av just denna typ av tredjepartsrisk i programvaruförsörjningskedjan. Nordiska organisationer som inte kan demonstrera kontroll över sina supply chain-beroenden riskerar regulatoriska konsekvenser vid tillsyn.
Branschresponsen: Nya säkerhetspolicyer och lärdomar
TeamPCP-kampanjen utlöste snabba motåtgärder från plattformsoperatörerna och etablerade nya branschnormer. GitHub meddelade skärpta riktlinjer för GitHub Actions, inklusive stärkt vägledning om SHA-pinning av externa actions och förbättrad dokumentation kring riskerna med pull_request_target-workflöden. npm och PyPI implementerade förbättrade policyer för token-rotation och distribution-account-säkerhet.
Aqua Security fick kritik för sin hantering av den tidiga varningen från Boost Security. Det faktum att Boost Security flaggade misconfigurationen den 29 november 2025, nästan fyra månader innan attacken, och att ingen åtgärd vidtogs, belyser ett systemiskt problem: säkerhetslarm som inte omsätts i konkret åtgärd inom rimlig tid skapar en falsk trygghet som angripare kan utnyttja när de anser sig redo.
Checkmarx stod inför svåra samtal med enterprise-kunder om förtroendet för en säkerhetsleverantör som blivit offer för en supply chain-attack, med data publicerat på det mörka webbet den 25 april. Bitwarden fick generellt beröm för snabb och transparent respons, ett 93-minutersfönster som begränsade påverkan avsevärt och ett tydligt budskap om att inga vault-data läckte.
Den analys som DreamFactory Security publicerade sammanfattade branschens känsla: “Mars 2026 bröt öppen källkodsförtroendet på ett sätt som kommer att ta år att bygga upp igen.” Red Hat publicerade officiella åtgärdsguider för drabbade kunder, och CISA inkluderade supply chain-riskhantering från öppen källkod i sina uppdaterade riktlinjer för kritisk infrastruktur.
Fem förutsägelser för CI/CD-säkerheten i Norden 2026 och 2027
TeamPCP-kampanjen sätter ribban för hur sofistikerade supply chain-attacker mot öppen källkod kan bli. Baserat på kampanjens genomförande, branschresponsen och det regulatoriska trycket från EU pekar fem trender mot hur CI/CD-säkerheten kommer att förändras.
- SHA-pinning av GitHub Actions blir branschnorm: Organisationer som ännu inte pinnar GitHub Actions-beroenden på commit-SHA i stället för mutable tags kommer att pressas att göra det, drivna av plattformspolicyer, försäkringskrav och interna DevSecOps-mandat. Bristen på SHA-pinning är en direkt bidragande orsak till att TeamPCP fick ogenerat inflytande via komprometterade tags.
- PAT-rotation automatiseras bort från manuella processer: Manuell hantering av Personal Access Tokens ersätts med automatiserade rotationsflöden och noll-tillit-arkitektur för maskintillgång. Ett enda icke-roterarat PAT räckte för att kompromissa verktyg med global räckvidd.
- SBOM-krav via Cyber Resilience Act tar fäste: EU:s Cyber Resilience Act driver på att leverantörer av produkter med digitala element tillhandahåller och verifierar Software Bill of Materials. TeamPCP-kampanjen är ett skolboksexempel på exakt den leveranskedjerisk som lagen syftar till att åtgärda och ge incitament att förebygga.
- Dedikerade CI/CD-säkerhetsverktyg ökar kraftigt: Marknaden för verktyg som identifierar CI/CD-misconfigurationer, liknande Boost Securitys poutine, kommer att växa markant under 2026 och 2027. När fler organisationer inser att säkerheten i deras pipeline-konfigurationer är lika kritisk som säkerheten i applikationskoden följer budgetar och investeringar.
- Säkerhetsleverantörer attackeras allt mer: Attackkedjan Trivy till Checkmarx visar att säkerhetsleverantörer, vars verktyg har privilegierad tillgång till kundmiljöer, är extremt attraktiva mål. Initial access brokers med förmåga att kompromissa sådana verktyg besitter ett disproportionerligt högt värde på den kriminella marknaden, och attacker mot liknande mål förväntas öka under 2026 och 2027.
Relaterade artiklar
Fördjupa förståelsen av leveranskedjeattacker, cybersäkerhetslagar och hotbilden mot Sverige och Norden:
- Cyberattacker mot Sverige: 3 215 i veckan [2026]
- Cybersäkerhetslagen: 6 000 företag under NIS2 [2026]
- Cyber Resilience Act: 15 M€ i böter [2026]
- Nordisk cybersäkerhet 2026: 54% av chefer skyller ifrån sig
- Sverige under cyberattack: BankID, SVT och banker drabbade [2026]
- Cybersäkerhet: Guider, analyser och nyheter
Vanliga frågor om TeamPCP-kampanjen och CI/CD supply chain-attacker
Vad är en CI/CD supply chain-attack?
En CI/CD supply chain-attack innebär att angripare komprometterar ett verktyg som ingår i mjukvaruleverantörens produktions- eller distributionsprocess, i stället för att attackera slutprodukten direkt. Eftersom CI/CD-verktyg som GitHub Actions, containerscannrar och pakethanterare körs med höga privilegier i känsliga miljöer, kan en kompromiss av dessa ge direkttillgång till produktionskod, inloggningsuppgifter och infrastruktur.
Vilka versioner av Trivy drabbades av TeamPCP-attacken?
Trivy-versionerna v0.69.4, v0.69.5 och v0.69.6 komprometterades den 19 mars 2026. Trivy v0.69.3 är den senaste säkra versionen från perioden före attacken. GitHub Actions trivy-action och setup-trivy komprometterades också för alla pipelines som refererade dessa via tags snarare än via specifik commit-SHA. GitHub Security Advisory GHSA-69fq-xp46-6×23 gäller för incidenten.
Komprometterades Bitwardens lösenordsvault?
Nej. Bitwarden bekräftade tydligt att inga vault-data komprometterades. Incidenten (CVE-2026-42994) berörde uteslutande Bitwarden CLI-paketet @bitwarden/[email protected], tillgängligt via npm under 93 minuter den 22 april 2026. Vanliga Bitwarden-användare av webbläsarextension, mobilapp eller desktopklient påverkades inte alls.
Hur skyddar min organisation sig mot liknande supply chain-attacker?
Fem centrala åtgärder minskar risken avsevärt: (1) Pinna alla GitHub Actions-beroenden på specifika commit-SHA:er i stället för mutable tags. (2) Implementera automatisk rotation av Personal Access Tokens och maskintillgångscredentials med kort livstid. (3) Granska alla pull_request_target-workflöden för oavsiktlig exponering av write-behörigheter. (4) Verktyg som Boost Securitys poutine identifierar automatiskt sådana CI/CD-misconfigurationer. (5) Implementera ett Software Bill of Materials (SBOM) för alla kritiska dependencies för snabb spårning vid framtida incidenter.
Är TeamPCP en statsaktör?
Inga offentliga utredningar har officiellt attributerat TeamPCP till en specifik nationalstat. Säkerhetsforskare vid Sophos X-Ops och Semgrep bedömer att kampanjen drivs av ekonomiska snarare än geopolitiska motiv, baserat på credential-harvesting-fokus och avsaknad av klassiska spionageindikatorer. Axios-attacken, som skedde parallellt men troligen genomfördes av en annan aktör, har kopplats till APT-liknande operationell sofistikation men saknar officiell statsattribution.
Vad är Cyber Resilience Act och hur påverkar det leveranskedjesäkerheten?
EU:s Cyber Resilience Act ställer bindande krav på tillverkare av produkter med digitala element, inklusive programvara, att säkerställa leveranskedjesäkerhet och tillhandahålla Software Bill of Materials. Organisationer som inte kan visa att de har kontroll över sina tredjepartsberoenden riskerar böter på upp till 15 miljoner euro eller 2,5 procent av den globala omsättningen. TeamPCP-kampanjen är ett praktexempel på exakt den leveranskedjerisk som lagen syftar till att åtgärda.
Vad innebär det att “pinna” en GitHub Action på SHA?
Att pinna en GitHub Action på SHA innebär att man i workflödet refererar till en specifik, oföränderlig commit-hash i stället för ett versionsnummer eller tag som kan pekas om av en angripare. I stället för uses: aquasecurity/[email protected] (mutable tag) används en fullständig SHA-hash för den specifika commit man vill köra. När TeamPCP kapade Trivys tags drabbades alla pipelines som använde sig av tags utan SHA-pin, medan pipelines med SHA-pinning var skyddade eftersom hashen pekade på den legitima, omodifierade koden.



