Snyk-Befehle
Umfassende Snyk CLI-Befehle und Arbeitsabläufe für Sicherheits-Scans über Open Source, Code, Container und Infrastructure as Code.
Installation
npm (Node.js)
# Install globally
npm install -g snyk
# Install in project
npm install --save-dev snyk
# Verify installation
snyk --version
macOS (Homebrew)
# Install via Homebrew
brew install snyk
# Update Snyk
brew upgrade snyk
# Verify installation
snyk --version
Windows (Scoop)
# Install via Scoop
scoop install snyk
# Verify installation
snyk --version
Standalone Binary
# Download standalone CLI (Linux/macOS)
curl https://static.snyk.io/cli/latest/snyk-linux -o snyk
chmod +x ./snyk
./snyk --version
# Or macOS
curl https://static.snyk.io/cli/latest/snyk-macos -o snyk
chmod +x ./snyk
Authentifizierung
Authentifizierung mit Browser
# Öffne Browser zur Authentifizierung
snyk auth
# Standard: öffnet Browser und erstellt Auth-Token
snyk auth --token <token>
API-Token-Methoden
# Authentifiziere mit explizitem Token
snyk auth --token <your-api-token>
# Setze Token über Umgebungsvariable
export SNYK_TOKEN=<your-api-token>
snyk test
# Überprüfe aktuelle Authentifizierung
snyk config get api
# Setze Organisation
snyk config set org=<org-id>
Abmelden
# Löschen Sie gespeicherte Anmeldedaten
snyk logout
# Löschen Sie alle Authentifizierungen
rm ~/.snyk
Open Source-Scanning (SCA)
Basis-Tests
# Scan des aktuellen Projekts auf Sicherheitslücken
snyk test
# Scan mit minimalem Output
snyk test --quiet
# Scan und detaillierte Informationen anzeigen
snyk test --verbose
# Scan spezifischer Datei
snyk test --file=package.json
# Scan mit allen Schweregrad-Stufen
snyk test --severity-threshold=low
Schweregrad-Filterung
# Nur kritische Sicherheitslücken anzeigen
snyk test --severity-threshold=critical
# Kritisch und hoch anzeigen
snyk test --severity-threshold=high
# Kritisch, hoch und mittel anzeigen
snyk test --severity-threshold=medium
# Alle anzeigen (kritisch, hoch, mittel, niedrig)
snyk test --severity-threshold=low
Multi-Language-Support
# Scan von npm/Node.js-Projekten
snyk test
# Scan von Python-Projekten
snyk test --file=requirements.txt
# Scan von Java (Maven)
snyk test --file=pom.xml
# Scan von Java (Gradle)
snyk test --file=build.gradle
# Scan von .NET (NuGet)
snyk test --file=packages.config
# Scan von Ruby
snyk test --file=Gemfile.lock
# Scan von PHP/Composer
snyk test --file=composer.lock
# Scan von Go
snyk test --file=go.mod
Projekte überwachen
# Erstelle Snapshot von Sicherheitslücken zur Überwachung
snyk monitor
# Überwachung mit benutzerdefiniertem Namen
snyk monitor --project-name=my-app
# Überwache spezifische Organisation
snyk monitor --org=<org-id>
# Überwachung mit Tags
snyk monitor --tags=production,critical
Code-Scanning (SAST)
Basis-Code-Scanning
# Scan Code auf Sicherheitslücken
snyk code test
# Scan mit minimalem Output
snyk code test --quiet
# Scan mit detailliertem Output
snyk code test --verbose
# Scan spezifisches Verzeichnis
snyk code test --scan-unmanaged
Code-Schweregrad-Filterung
# Nur kritische Probleme
snyk code test --severity-threshold=critical
# Kritisch und hoch
snyk code test --severity-threshold=high
# Alle Schweregrade
snyk code test --severity-threshold=low
Container-Scanning
Image-Tests
# Scan Docker-Image auf Sicherheitslücken
snyk container test <image-name>
# Test mit Tag
snyk container test myapp:latest
# Test aus Registry
snyk container test docker.io/node:16
# Test lokales Image nach ID
snyk container test --image=<image-id>
Container-Überwachung
# Erstelle Snapshot von Container-Sicherheitslücken
snyk container monitor <image-name>
# Überwachung mit Organisation
snyk container monitor <image-name> --org=<org-id>
# Überwache mehrere Images
snyk container monitor myapp:v1.0
snyk container monitor myapp:v1.1
Erweiterte Container-Optionen
# Zeige alle Sicherheitslücken (einschließlich nicht behobener)
snyk container test <image> --show-vulnerable-paths
# Einschließlich Base-Image-Sicherheitslücken
snyk container test <image> --detect-scan-errors
# Test ohne Upload zu Snyk
snyk container test <image> --skip-unresolved
Infrastructure as Code-Scanning (IaC)
Terraform-Scanning
# Scan von Terraform-Dateien
snyk iac test
# Scan spezifischer Datei
snyk iac test main.tf
# Scan mit Schweregrad-Filter
snyk iac test --severity-threshold=high
# Test mit Framework
snyk iac test --framework=terraform
# Erstelle menschenlesbaren Bericht
snyk iac test --report
Andere IaC-Formate
# Scan von CloudFormation
snyk iac test --framework=cloudformation template.yaml
# Scan von Kubernetes-Manifesten
snyk iac test --framework=k8s deployment.yaml
# Scan von ARM-Templates
snyk iac test --framework=arm
# Scan von Dockerfile
snyk iac test Dockerfile
# Scan von Helm-Charts
snyk iac test --framework=helm chart/
IaC-Überwachung
# Überwache IaC-Konfiguration
snyk iac describe
# Erhalte Compliance-Informationen
snyk iac describe --framework=terraform
# Zeige detaillierte Konfiguration
snyk iac describe --nested
Fix & Behebung
Auto-Fix von Sicherheitslücken
# Auto-fix von Sicherheitslücken
snyk fix
# Dry-run zur Vorschau von Änderungen
snyk fix --dry-run
# Fix für spezifischen Schweregrad
snyk fix --severity-threshold=high
# Erzwinge Überschreiben bestehender Änderungen
snyk fix --force
Dependency Protection
# Wende Snyk Protect an (fügt Sicherheits-Patches zu Abhängigkeiten hinzu)
snyk protect
# Überprüfe, ob der Schutz angewendet wurde
snyk protect --verbose
# Entferne Schutz
snyk protect --uninstall
Sicherheitslücken ignorieren
Spezifische Sicherheitslücken ignorieren
# Ignoriere eine Sicherheitslücke interaktiv
snyk ignore
# Ignoriere mit spezifischem Grund und Ablaufdatum
snyk ignore --id=<vuln-id> --reason=<reason> --expiry=<date>
# Beispiel: ignorieren für 30 Tage
snyk ignore --id=SNYK-JS-123456 --expiry=2026-04-30
# Setze permanentes Ignorieren
snyk ignore --id=SNYK-JS-123456 --permanent
Policy-Dateien
# Erstelle .snyk-Policy-Datei
snyk policy --create
# Test mit Policy
snyk test --policy-path=.snyk
# Zeige Policy
cat .snyk
# Aktualisiere Policy
snyk ignore --id=SNYK-JS-123456 --reason="False positive"
SBOM-Generierung
Software Bill of Materials
# Generiere SBOM im JSON-Format
snyk sbom
# Generiere SBOM für Docker-Image
snyk sbom --format=json <image-name>
# Ausgabe in Datei
snyk sbom > sbom.json
# Generiere SPDX-Format
snyk sbom --format=spdx
# Zeige in Tabellenformat
snyk sbom --format=table
Ausgabeformate
JSON-Ausgabe
# Test und Ausgabe als JSON
snyk test --json > results.json
# Pretty-print JSON
snyk test --json-file-output=results.json
# Code-Test als JSON
snyk code test --json
SARIF-Ausgabe
# Generiere SARIF-Format (für GitHub Code Scanning)
snyk test --sarif > results.sarif
# SARIF für Code-Scanning
snyk code test --sarif > code-results.sarif
# Container SARIF
snyk container test <image> --sarif > container.sarif
HTML-Berichte
# Generiere HTML-Bericht
snyk test --html > report.html
# Öffne im Browser
snyk test --html > report.html && open report.html
Konfiguration & Einstellungen
Konfigurationsbefehl
# Zeige aktuelle Konfiguration
snyk config show
# Setze API-Endpunkt
snyk config set api=https://api.snyk.io
# Setze Organisation
snyk config set org=<org-id>
# Erhalte spezifische Einstellung
snyk config get api
# Deaktiviere Konfiguration
snyk config unset org
Umgebungsvariablen
# Setze Token über Umgebungsvariable
export SNYK_TOKEN=<your-token>
# Setze Organisation
export SNYK_ORG=<org-id>
# Setze API-Endpunkt
export SNYK_API=https://api.snyk.io
# Setze benutzerdefiniertes CA-Zertifikat
export NODE_EXTRA_CA_CERTS=/path/to/ca.crt
# Deaktiviere SSL-Verifizierung (mit Vorsicht)
export NODE_TLS_REJECT_UNAUTHORIZED=0
.snyk Policy-Datei
# .snyk file for ignoring vulnerabilities
version: v1.25.0
ignore:
SNYK-JS-123456:
- '*':
reason: False positive
expires: 2026-04-30
SNYK-PY-789012:
- '*':
reason: Not applicable to our use case
expires: 2026-06-30
patch:
SNYK-JS-111111:
- '*':
patched: '2024-03-15'
Filterung & Organisation
Filterung von Sicherheitslücken
# Einschließlich nicht behobener Sicherheitslücken
snyk test --show-vulnerable-paths
# Nur behobene anzeigen
snyk test --show-vulnerable-paths=false
# Filterung nach Projekt
snyk test --project-name=<name>
# Filterung nach Tags
snyk monitor --tags=team:backend,env:prod
Organisation Kontext
# Test innerhalb spezifischer Org
snyk test --org=<org-id>
# Setze Standard-Organisation
snyk config set org=<org-id>
# Zeige Org-ID
snyk org
# Liste Organisationen auf
snyk org list
CI/CD-Integration
GitHub Actions
# .github/workflows/snyk.yml
name: Snyk Security Scan
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
snyk:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: snyk/actions/setup@master
- env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
run: snyk test --severity-threshold=high
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarif
GitLab CI
# .gitlab-ci.yml
snyk_scan:
image: snyk/snyk:latest
script:
- snyk auth --token $SNYK_TOKEN
- snyk test --severity-threshold=high --json > results.json
artifacts:
reports:
sast: results.json
Jenkins Pipeline
pipeline {
agent any
environment {
SNYK_TOKEN = credentials('snyk-token')
}
stages {
stage('Snyk Test') {
steps {
sh 'npm install -g snyk'
sh 'snyk auth $SNYK_TOKEN'
sh 'snyk test --severity-threshold=high --json > results.json'
}
}
}
post {
always {
publishHTML target: [
reportDir: '.',
reportFiles: 'results.json',
reportName: 'Snyk Report'
]
}
}
}
Nützliche Befehlskombinationen
Umfassender Scan-Arbeitsablauf
# 1. Authentifiziere
snyk auth
# 2. Teste Open-Source-Abhängigkeiten
snyk test --severity-threshold=high
# 3. Scanne Code auf Sicherheitsprobleme
snyk code test --severity-threshold=high
# 4. Scanne Container
snyk container test myapp:latest
# 5. Scanne Infrastructure as Code
snyk iac test terraform/
# 6. Generiere SBOM
snyk sbom > sbom.json
# 7. Erstelle Überwachungs-Snapshot
snyk monitor --org=<org-id>
CI/CD Arbeitsablauf
# Installiere Abhängigkeiten
npm install
# Authentifiziere
snyk auth --token $SNYK_TOKEN
# Führe alle Scans mit striktem Schwellenwert aus
snyk test --severity-threshold=critical --fail-on=all
snyk code test --severity-threshold=critical
snyk container test $DOCKER_IMAGE --severity-threshold=critical
# Generiere Berichte
snyk test --json > sca-results.json
snyk code test --sarif > code-results.sarif
snyk container test $IMAGE --json > container.json
# Überwache für kontinuierliche Verfolgung
snyk monitor --org=$SNYK_ORG --project-name=$CI_PROJECT_NAME
Fix und Deploy Arbeitsablauf
# Teste aktuellen Status
snyk test
# Auto-fix was repariert werden kann
snyk fix
# Überprüfe Änderungen
git diff
# Test nach Fixes
snyk test
# Commit und Push
git commit -am "chore: fix security vulnerabilities"
git push
Debugging & Troubleshooting
Debug-Modus
# Detaillierter Output zum Debugging
snyk test --verbose
# Debug-Modus (sehr detaillierte Protokollierung)
snyk test --debug
# Überprüfe Authentifizierung
snyk auth --debug
# Überprüfe installierte Pakete
snyk test --print-deps
Häufige Probleme
# Cache löschen
rm -rf ~/.snyk
# Erzwinge Neuauthentifizierung
snyk logout && snyk auth
# Test ohne Upload von Ergebnissen
snyk test --skip-unresolved
# Überprüfe Snyk CLI-Version
snyk --version
# Aktualisiere auf neueste Version
npm install -g snyk@latest
Test-Zusammenfassung
# Zeige nur Zusammenfassung
snyk test --quiet
# Zähle Sicherheitslücken
snyk test --json | jq '.vulnerabilities | length'
# Erhalte höchsten Schweregrad
snyk test --json | jq '.metadata.severityHeader'
Umgebungsvariablen Referenz
| Variable | Zweck | Beispiel |
|---|---|---|
SNYK_TOKEN | API-Authentifizierungs-Token | export SNYK_TOKEN=abc123 |
SNYK_ORG | Standard-Organisations-ID | export SNYK_ORG=org-id |
SNYK_API | Benutzerdefinierter API-Endpunkt | export SNYK_API=https://custom.snyk.io |
SNYK_INTEGRATION_NAME | Integrations-Identifikator in CI/CD | export SNYK_INTEGRATION_NAME=github-actions |
NODE_EXTRA_CA_CERTS | Benutzerdefiniertes CA-Zertifikat | export NODE_EXTRA_CA_CERTS=/path/ca.crt |
HTTP_PROXY | HTTP-Proxy-Einstellungen | export HTTP_PROXY=http://proxy:8080 |
HTTPS_PROXY | HTTPS-Proxy-Einstellungen | export HTTPS_PROXY=https://proxy:8080 |
Best Practices
Sicherheit
- Authentifiziere dich immer mit einem sicheren API-Token (committe niemals Tokens)
- Verwende
--severity-threshold=criticalin Production CI/CD - Aktualisiere Snyk CLI regelmäßig auf die neueste Version
- Überprüfe und genehmige Auto-Fixes vor dem Mergen
- Halte
.snykPolicy-Dateien unter Versionskontrolle - Verwende Richtlinien auf Organisations-Ebene für Konsistenz
- Überwache Sicherheitslücken kontinuierlich mit
snyk monitor
Performance
- Verwende
--quietFlag für CI/CD zum Reduzieren der Ausgabe - Cache-Abhängigkeiten zwischen Durchläufen wenn möglich
- Führe Container-Scans nur auf spezifischen Tags durch, nicht auf allen
- Verwende
--skip-unresolvedzum Überspringen von nicht behebbaren Problemen - Filterung nach Schweregrad um auf umsetzbare Probleme zu konzentrieren
- Scanne nur betroffene Pfade wenn möglich
Arbeitsablauf
- Integriere in PR-Checks um unsicheren Code vom Mergen abzuhalten
- Verwende
snyk fixum Patching zu automatisieren - Überprüfe
snyk ignoreEntscheidungen vor dem Committen - Verwende
snyk monitorfür kontinuierliche Verfolgung - Richte Benachrichtigungen für neue Sicherheitslücken ein
- Dokumentiere Ausnahmen mit Gründen und Ablaufdaten
- Regelmäßige Überprüfung ignorierter Sicherheitslücken
Ressourcen
Offizielle Dokumentation
- Snyk Documentation
- CLI Commands Reference
- Snyk Code Documentation
- Container Scanning
- IaC Scanning
- API Reference
Community & Support
Related Tools
- Docker - Container scanning integration
- Kubernetes - IaC scanning for K8s
- Terraform - Infrastructure as Code security
Zuletzt aktualisiert: 2026-03-30