Der SolarWinds-Hack zeigte, was passiert, wenn ein Angreifer die Build-Pipeline kompromittiert. Integrity Failures umfassen unsichere CI/CD und gefährliche Deserialisierung.
Beispiele für Angriffe¶
- SolarWinds: Backdoor in der Firmware aus kompromittiertem Build
- Codecov: Modifiziertes CI-Skript exfiltrierte Umgebungsvariablen
- ua-parser-js: Kompromittiertes npm-Paket
CI/CD-Schutz¶
GitHub Actions — signierte Commits¶
- uses: actions/checkout@v4
- name: Verify commit signature run: git verify-commit HEAD || exit 1
Subresource Integrity¶
Unsichere Deserialisierung¶
NIEMALS pickle auf nicht vertrauenswürdige Daten¶
data = pickle.loads(user_input) # RCE!
JSON + Validierung¶
from pydantic import BaseModel class UserData(BaseModel): name: str age: int data = UserData.model_validate_json(user_input)
Wichtigste Erkenntnis¶
Integrität von Abhängigkeiten, Build-Artefakten und CI/CD-Pipeline überprüfen. Releases signieren, SRI verwenden.