Zum Inhalt springen

Socket - Supply Chain & Malicious Package Detection Cheatsheet

Socket - Supply Chain & Malicious Package Detection Cheatsheet

Socket ist ein Software-Supply-Chain-Sicherheitstool, das sich auf die Verhaltenerkennung von bösartigen Paketen konzentriert, anstatt nur bekannte CVEs zu abgleichen. Es inspiziert, was eine Abhängigkeit tatsächlich tut — Install-Skripte, Netzwerk- und Dateisystemzugriff, verschleierter Code und andere riskante Fähigkeiten — um Typosquats und kompromittierte Releases zu erkennen, die signaturbasierte Scanner verpassen. Es deckt Ökosysteme wie npm, PyPI, Go, Maven und andere ab und integriert sich in den Entwickler-Workflow über CLI, GitHub-App und CI.

Installation

MethodeBefehl
npm (CLI)npm install -g @socketsecurity/cli
npx (keine Installation)npx @socketsecurity/cli --help
Homebrewbrew install socket
pip (Python CLI)pip install socketsecurity
GitHub-AppInstallieren Sie die Socket-App aus dem GitHub Marketplace
Authsocket login (richten Sie ein API-Token ein)

Core CLI-Befehle

BefehlBeschreibung
socket scan create .Erstellen Sie einen neuen Supply-Chain-Scan des aktuellen Projekts
socket scan listListet vorherige Scans für die Organisation auf
socket scan view <ID>Anzeige von Ergebnissen eines bestimmten Scans
socket package score npm reactRufen Sie die Supply-Chain-Bewertung eines Pakets ab
socket npm install <pkg>Wrapper um npm, der Pakete vor der Installation überprüft
socket npx <pkg>Sicheres npx, das das Paket zuerst überprüft
socket ciFühren Sie einen für CI optimierten Scan durch (Non-Zero-Exit bei Problemen)
socket --helpVollständige Befehlsreferenz

Was Socket flaggt

Fähigkeit/SignalWarum es wichtig ist
Install-Skriptepostinstall-Hooks sind ein häufiger Malware-Vektor
NetzwerkzugriffUnerwartete ausgehende Verbindungen beim Installieren/Runtime
DateisystemzugriffLesezugriff auf sensible Pfade (SSH-Schlüssel, Env-Dateien)
Shell / Process ExecSpawning von Shells oder Kindprozessen
Verschleierter CodeMinifizierte/kodierte Payloads, die Verhalten verstecken
TyposquatsNamen, die beliebte Pakete nachahmen
Telemetrie / ExfilDatenerfassungs- und Exfiltrationsmuster

Paket-Bewertungen

# Inspizieren Sie eine einzelne Abhängigkeit, bevor Sie sie hinzufügen
socket package score npm left-pad
socket package score pypi requests

# Vergleichen Sie das Risiko eines Kandidaten vs. einer Alternative
socket package score npm chalk

Bewertungen fassen Supply-Chain-Risiko, Qualität, Wartung und Sicherheitsdimensionen zusammen, damit Sie eine Abhängigkeit schnell beurteilen können.

CI / GitHub-Integration

IntegrationVerhalten
GitHub-AppKommentiert PRs, die riskante Abhängigkeitsänderungen einführen
socket ciSchlägt die Pipeline fehl, wenn ein Scan die Schwellenwerte überschreitet
Config-Dateisocket.yml passt an, welche Problemtypen blockieren vs. warnen
Diff-AwareKonzentriert sich auf das, was ein PR hinzufügt, reduziert Rauschen

Konfiguration (socket.yml)

version: 2
issueRules:
  installScripts: error
  networkAccess: warn
  telemetry: warn
  obfuscatedCode: error
FeldZweck
issueRulesSetzen Sie jede Fähigkeit/Problem auf error, warn oder ignore
projectIgnorePathsSchließen Sie Pfade vom Scan aus

Häufige Workflows

# Überprüfen Sie eine Abhängigkeit, bevor sie jemals in package.json kommt
socket npm install some-package

# Gate a pull request in CI
socket ci

# Audits eines existierenden Repos gesamter Abhängigkeitsbaum
socket scan create . && socket scan list

Socket vs Traditional SCA

AspektSocketTraditional SCA (z.B. CVE-Matcher)
Primäres SignalVerhalten/FähigkeitenBekannte CVE-Datenbankabgleiche
Fängt Zero-Day-Malware abJa (Verhalten)Nein (benötigt eine bekannte CVE)
Typosquat-ErkennungJaBegrenzt
Beste Paarung mitSyft/Grype, SigstoreSocket für Malware-Abdeckung

Ressourcen