TuBrief
구독 채널
비디오
커뮤니티

Wie ein Frontend-Junior nach einem Sicherheitsvorfall Spuren einer Kompromittierung in lokalen Repositories und Paketkonfigurationen findet

TuBrief 편집팀
2026년 8월 12일
0
Computing/Software

원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.

Deutsch한국어EnglishEspañol中文العربيةहिन्दीFrançaisPortuguêsРусскийBahasa Indonesia日本語

관련 영상

Ich werde müde...6:21

Ich werde müde...

Maximilian Schwarzmüller

커뮤니티의 다른 글

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

2026년 9월 13일

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

2026년 9월 13일

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

2026년 9월 13일

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

2026년 9월 13일

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

2026년 9월 12일

Apple Won the AI Race

2026년 9월 12일

댓글 (0)

Log in to leave a comment

아직 작성된 글이 없습니다

© 2026 . All rights reserved.

TuBrief
구독 채널
비디오
커뮤니티
로그인

Wie ein Frontend-Junior nach einem Sicherheitsvorfall Spuren einer Kompromittierung in lokalen Repositories und Paketkonfigurationen findet

Nach den Nachrichten über einen Sicherheitsvorfall bleibt keine Zeit, um spät in der Nacht nur zu googeln. Im Mai 2026 wurde eine bösartige Visual Studio Code-Erweiterung verbreitet, wodurch Entwickler-Maschinen kompromittiert und rund 3.800 firmeninterne Quellcode-Repositories unverschlüsselt entwendet wurden. Wenn man in dieser Situation einfach blind den Code löscht oder den Laptop formatiert, gehen alle forensischen Beweise verloren und die Ursache kann nicht mehr ermittelt werden. Lassen Sie uns die Ausführungsprotokolle des Paketmanagers, die Zeitstempel globaler CLIs und die Berechtigungen laufender Prozesse direkt durchforsten, um zu überprüfen, ob ein Angriff stattgefunden hat.

In 10 Minuten die eigene lokale Entwicklungsumgebung auf Kompromittierung prüfen

Paketmanager hinterlassen während des Installationsprozesses Transaktionsaufzeichnungen im System-Cache-Verzeichnis. NPM gibt Debug-Logs im Ordner _logs innerhalb des Pfades von npm config get cache aus, während pnpm Artefakte in pnpm store path ablegt. Da bösartige Pakete Umgebungsvariablen oder Anmeldeinformationen über Skripte abgreifen, die im Moment der Installation ausgeführt werden, müssen als Erstes die Lifecycle-Ausführungsprotokolle überprüft werden.

Der folgende Befehl durchsucht die Protokolle der letzten 14 Tage, um das unbefugte Hinzufügen von Paketen oder die Ausführung externer Skripte aufzuspüren. Öffnen Sie das Terminal und führen Sie den Befehl unverändert aus.

`bash
NPM_CACHE_DIR=$(npm config get cache)
find $NPM_CACHE_DIR/_logs/ -type f -mtime -14 -exec grep -Hn "lifecycle" {} +

`

Überprüfen Sie im Ausgabebildschirm, ob nicht beabsichtigte preinstall- oder postinstall-Hooks ausgeführt wurden. Das dauert nur 3 Minuten. Wenn es keine Protokolle über verdächtige externe URL-Kommunikation gibt, können Sie vorerst aufatmen, was die Angst vor einer direkten Kontamination auf Paketebene betrifft.

Angreifer pflanzen bösartige Binärdateien in globale CLI-Tools oder den npx-Cache ein, um auf dem Laptop zu überleben. Listen Sie die global installierten Pakete auf und vergleichen Sie die Erstellungs- und Änderungsdaten der Binärordnerdateien mit den Systemprotokollen, um die Integrität zu überprüfen.

`bash
npm list -g --depth=0 --json
ls -lact $(npm config get prefix)/bin/

`

Wenn die Zeitpunkte der Änderungen mit ungewöhnlichen Zeitfenstern übereinstimmen, ermitteln Sie die Hash-Werte mit dem folgenden Befehl zum Abgleich:

`bash
shasum -a 256 $(npm config get prefix)/bin/

`

Paketskripten werden mit den Berechtigungen des Entwicklerkontos ausgeführt. Im Hintergrund laufende Daemon-Prozesse müssen gestoppt werden.

`bash
ps aux | grep -E "node|npm|pnpm|bun" | grep -v grep
lsof -i -P -n | grep -E "node|npm|pnpm"

`

Wenn ein verdächtiger Prozess mit einem externen C2-Server kommuniziert, stoppen Sie ihn sofort.

`bash
kill -9 [PID]
npm config set ignore-scripts true

`

Überprüfung von Paketkonfigurationsdateien und Registry-Adressen auf Kontamination

Ein wiederkehrendes Muster bei Lieferkettenangriffen besteht darin, Konfigurationsdateien zu manipulieren, um die Registry zu kapern. Angreifer betten bösartige Mirror-Server-Adressen in die .npmrc-Datei eines Projekts oder in die globale Konfiguration ein. Da die Download-URL-Pfade innerhalb der Lock-Dateien ausgetauscht werden, um beim eigentlichen Installieren bösartige Tarballs herunterzuladen, müssen alle Konfigurationswerte gründlich durchsucht werden.

Das Verfahren zur Überprüfung, ob nicht autorisierte Overrides in der lokalen und globalen Konfiguration enthalten sind, sieht wie folgt aus. Listen Sie zunächst die Konfigurationsbindungen auf:

`bash
npm config list
pnpm config list

`

Überprüfen Sie als Nächstes, ob der unternehmensinterne Private-Registry-Scope korrekt gesetzt ist:

`bash
npm config get @company:registry

`

Suchen Sie außerdem direkt danach, ob externe Mirror-Adressen im Home-Verzeichnis des Benutzers und in den Konfigurationsdateien des Projektstamms hartcodiert sind.

`bash
grep -Rn "registry" ~/.npmrc ./.npmrc

`

Durch diese drei Schritte lässt sich innerhalb von 5 Minuten feststellen, ob eine verdächtige Mirror-Adresse registriert wurde.

Da die Dateien package-lock.json und pnpm-lock.yaml die ursprünglichen URLs für den Download von Abhängigkeiten aufzeichnen, müssen sie mit regulären Ausdrücken auf Kontaminationen untersucht werden:

`bash
grep -E '"resolved": "https?://' package-lock.json | grep -vE 'registry.npmjs.org|registry.corp.example'

`

Wenn Sie pnpm verwenden, geben Sie den folgenden Befehl ein:

`bash
grep -E 'resolution: {tarball:' pnpm-lock.yaml | grep -vE 'registry.npmjs.org|registry.corp.example'

`

Wenn eine kontaminierte Lock-Datei gefunden wird, muss sie vollständig gelöscht und neu erstellt werden:

`bash
rm -rf node_modules package-lock.json pnpm-lock.yaml
npm cache clean --force
pnpm store prune
npm config set registry https://registry.npmjs.org/
npm ci --ignore-scripts

`

Indem Sie die Ausführung von Lifecycle-Skripten ignorieren und den Abhängigkeitsbaum im unveränderlichen Zustand neu aufbauen, können Sie eine saubere Umgebung wiederherstellen.

Berechtigungen für SSH-Schlüssel und API-Tokens reduzieren

Bösartige Binärdateien stehlen unter Linux- und Mac-Umgebungen den Passwortspeicher des Browsers und kratzen sämtliche in Umgebungsvariablen gespeicherten AI-API-Schlüssel, AWS Access Keys und SSH-Schlüssel zusammen. Sie müssen jetzt sofort überprüfen, ob Anmeldeinformationen in der Terminal-Umgebung offengelegt wurden.

`bash
ls -la ~/.ssh/
env | grep -E 'TOKEN|KEY|SECRET|AUTH|AWS|GITHUB|OPENAI|ANTHROPIC'
grep -E '(ghp_[A-Za-z0-9]{36}|AKIA[0-9A-Z]{16}|bearer)' ~/.zsh_history ~/.bash_history

`

Wenn im Klartext exponierte Schlüssel auftauchen, sehen Sie nicht darüber hinweg, sondern widerrufen Sie diese sofort. Überprüfen Sie auch den Token-Scope, mit dem Sie sich bei der GitHub CLI angemeldet haben.

`bash
gh auth status

`

Löschen Sie Classic-Tokens, die Zugriff auf alle Repositories gewähren, sofort. Wenn Sie ein PAT (Personal Access Token) neu erstellen, beschränken Sie es auf bestimmte Repositories und binden Sie es an den minimal erforderlichen Lesebereich.

Um den localhost und die Entwicklungsprozesse zu isolieren, sollte die DevContainer-Struktur verwendet werden. Erstellen Sie die Datei .devcontainer/devcontainer.json im Stammverzeichnis des Projekts und konfigurieren Sie das Image wie folgt:

`json
{
"image": "mcr.microsoft.com/devcontainers/javascript-node:22",
"postCreateCommand": "npm ci --ignore-scripts"
}

`

Wenn Sie den Container auf diese Weise starten, laufen die Paketinstallation und der Build vollständig isoliert von den System-Anmeldeinformationen des Laptops, wodurch potenzielle Abflusswege für unternehmensinterne Assets an der Quelle blockiert werden können.