Gå til indhold
atlas

Angreb på AI-forsyningskæden

Også kendt som: angreb på ML-forsyningskæden

At angribe de færdige dele, et AI-system er bygget af - delte modeller, datasæt eller tilføjelser - i stedet for selve systemet.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

Manipulation af tredjepartsdele i et AI-system - modelvægte, tilføjelser som LoRA, træningsdata, modelfiler, der kører skjult kode, når de indlæses, eller efterlignede modelsider på offentlige hubs; OWASP fører det som LLM03:2025.

Forklaret enkelt

Som at købe en reservedel i en butik, hvis navn afviger med ét bogstav fra den, du plejer at bruge - den passer og virker, men nogen har ændret den, før du fik den.

I praksis

En udvikler i en pensionskasses IT-afdeling henter en populær åben model fra en efterlignet side; når den gamle filtype indlæses, kører der stille kode, der åbner en bagdør på byggeserveren.

Hvorfor det betyder noget

De fleste teams bygger på modeller og data, de ikke selv har lavet og ikke fuldt kan efterprøve, så én forgiftet download kan nå ud til alle produkter, der bruger den.

Teknisk uddybning

Et ML-system arver en længere afhængighedsgraf end almindelig software: fortrænede basismodeller, finjusterede afledninger og adaptere (LoRA), tokenizere og konfigurationsfiler, datasæt og deres download-URL'er, værktøjer til konvertering og kvantisering, inferensservere, Python-pakker og i stigende grad plugins, MCP-servere og agentværktøjer. OWASP LLM03:2025 (Supply Chain) dækker manipulerede eller sårbare tredjepartskomponenter, forældede eller udfasede modeller, uklare licenser, sårbare LoRA-adaptere og svag sporbarhed af modellers oprindelse på offentlige hubs; NIST AI 100-2 behandler kompromittering af forsyningskæden som en vej til forgiftnings- og bagdørsangreb.

Den mest direkte tekniske angrebsvej er usikker deserialisering. PyTorchs gamle checkpoint-format er en ZIP-fil med en Python-pickle, og unpickling kan kalde vilkårlige funktioner via __reduce__, så torch.load på en upålidelig .pt- eller .bin-fil svarer til remote code execution. Tilsvarende problemer findes med Keras Lambda-lag (CVE-2024-3660) og joblib-filer. Forskere har gentagne gange fundet ondsindede modeller på Hugging Face (JFrog rapporterede omkring 100 i 2024), og ReversingLabs' "nullifAI"-eksempler fra 2025 brugte bevidst ødelagte pickles, der slap uden om Picklescan. Modtræk er kun at indlæse rene vægtformater som safetensors, der gemmer rå tensorer plus en JSON-header og ikke afvikler kode, at bruge torch.load(weights_only=True) (standard siden PyTorch 2.6) og at køre konverteringsjob i sandkasser uden adgangsnøgler.

Den mere subtile angrebsvej er adfærdsmæssig: vægte, der ikke afvikler kode, men er finjusteret eller redigeret til at indeholde en bagdør eller målrettet misinformation. Mithril Securitys PoisonGPT-demonstration fra 2023 redigerede præcist én kendsgerning i GPT-J med ROME og uploadede modellen under et organisationsnavn, der lignede det rigtige, og modellen scorede stadig normalt på standard-benchmarks. Den slags manipulation findes ikke med malwarescanning; det kræver sporbarhed og adfærdsmæssig evaluering. Efterlignede og overtagne navnerum på model-hubs spiller den rolle, typosquatting spiller i npm og PyPI, og agenter, der foreslår pakker, som ikke findes, åbner den beslægtede slopsquatting-vej.

Kontrollerne følger klassisk praksis for softwareforsyningskæden, tilpasset modeller: et internt modelregister eller en proxy med allow-list, fastlåsning af modeller på uforanderlig commit-hash i stedet for et foranderligt tag eller "latest", verifikation af kryptografiske signaturer (fx OpenSSF model signing baseret på Sigstore), registrering af komponenter i en ML-BOM (CycloneDX 1.5 indførte BOM'er for maskinlæring; SPDX 3.0 har en AI-profil), gennemgang af modelkort og licenser, egen evaluering og red teaming af hver ny version, og at behandle datasæt som versionerede artefakter med hash-værdier. Efter AI-forordningen skal udbydere af højrisikosystemer dokumentere tredjepartskomponenter i den tekniske dokumentation, og art. 25, stk. 4, kræver skriftlige aftaler med leverandører af AI-værktøjer, tjenester, komponenter eller processer, der indgår i et højrisikosystem.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Træningsdata
  2. →Softwareforsyningskæde
  3. →Modeltræning
  4. →Modelvægte (weights)
  5. →Angreb på AI-forsyningskæden

Relationer

Forveksl ikke med
Slopsquatting

Kilder og videre læsning

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Test dig selv

Indlæser…

Atlas er i beta.