Skip to main content

Einführung

Die Corgea CLI ist ein leistungsstarkes Entwicklungstool, mit dem Sie Schwachstellen in Ihrem Code finden und beheben können. Corgea identifiziert mithilfe des KI-gestützten Scanners BLAST komplexe Sicherheitsprobleme wie Fehler in der Geschäftslogik, Authentifizierungsschwachstellen und andere schwer erkennbare Bugs. Über die CLI können Sie Ihre Codebasis scannen, Befunde untersuchen, Fixes anwenden und vieles mehr – mit einem auf Entwickler zugeschnittenen Bedienkonzept.
Erweitern Sie Ihren KI-Coding-Agenten. Die Corgea CLI bildet auch die Grundlage für unsere agentenbasierten Integrationen: Installieren Sie den Corgea Agent Skill und lassen Sie Ihren KI-Agenten (Cursor, Claude Code, Copilot und weitere) Schwachstellen für Sie scannen, priorisieren und beheben.

Funktionen

  • Unterstützung mehrerer Scanner: Scannen Sie mit BLAST (unserem KI-gestützten Scanner) und laden Sie Berichte von Semgrep, Snyk, Checkmarx, CodeQL, Fortify und Coverity hoch.
  • Issue-Management: Listen Sie Sicherheitsbefunde auf, untersuchen und verwalten Sie sie.
  • Fix-Integration: Zeigen Sie KI-generierte Fixes für Schwachstellen direkt in Ihrem Terminal an und wenden Sie sie an.
  • Abhängigkeitsanalyse: Erstellen Sie Offline-Abhängigkeitsinventare, prüfen Sie Abhängigkeitsdiagramme, generieren Sie SBOMs und bewerten Sie Abhängigkeitsrichtlinien mit corgea deps.
  • Prüfung von Package Advisories: Prüfen Sie bekannte Sicherheitshinweise, bevor Sie ein npm- oder PyPI-Paket auswählen oder installieren.
  • Package Manager Install Gate: Prüfen Sie Installationen mit npm, yarn, pnpm, pip und uv auf bekanntermaßen anfällige, bösartige oder verdächtig neue Pakete, bevor diese in das Projekt gelangen – siehe Package Manager Install Gate.
  • Flexible Ausgabe: Unterstützung sowohl für menschenlesbare als auch JSON-Ausgabeformate für einfachere CI-Integrationen.
  • CI/CD-Integration: Lassen Sie Builds abhängig von Schweregraden oder benutzerdefinierten Blocking Rules fehlschlagen.
  • Scan-Verwaltung: Verfolgen Sie den Scan-Fortschritt und die Ergebnisse Ihrer Projekte.
  • Installation von Agent Skills: Installieren Sie freigegebene Agent Skills aus der Corgea Registry in unterstützten Coding-Agenten.

Voraussetzungen

  • Corgea-Konto: Ein aktives Corgea-Konto.
  • Token zur Authentifizierung: Ein gültiges Corgea-API-Token oder JWT-Zugriffstoken.
Die Offline-Befehle corgea deps scan, graph, explain, diff, sbom und policy init benötigen weder ein Corgea-Konto noch ein Token, eine Konfiguration oder Netzwerkzugriff.

Installationsanleitung

Mit npm installieren

Das npm-Paket bündelt native Binärdateien für unterstützte Plattformen und wählt zur Laufzeit die richtige Binärdatei für Ihr Betriebssystem und Ihre Architektur aus.

Mit uv installieren

Für Python-Benutzer ist dies die bevorzugte Installationsmethode. uv tool install erstellt eine isolierte Tool-Umgebung aus dem PyPI-Paket und stellt die CLI als corgea auf Ihrem PATH bereit.
Wenn uv meldet, dass sein Tool-Verzeichnis nicht auf Ihrem PATH ist, führen Sie aus:

Mit pip installieren

Wenn Sie uv nicht verwenden, können Sie die Corgea-CLI mit dem Python-Paketinstaller pip installieren:
Dieser Befehl lädt das Corgea-CLI-Paket von PyPI (Python Package Index) herunter und installiert es auf Ihrem System. Weitere Details zum Paket finden Sie auf seiner PyPI-Seite: https://pypi.org/project/corgea-cli/.

Mit Homebrew installieren

Um das Corgea-CLI-Tool mit Homebrew zu installieren, fügen Sie zuerst den Corgea-Tap hinzu und installieren dann die CLI:

Manuell installieren

Laden Sie das Archiv für Ihre Plattform aus dem neuesten Release herunter, entpacken Sie es und verschieben Sie die Binärdatei corgea in ein Verzeichnis in Ihrem PATH. Die folgenden latest/download-URLs verweisen stets auf das neueste Release.
Eine statisch verlinkte Linux-Version wird ebenfalls als corgea-x86_64-unknown-linux-musl.zip veröffentlicht.

Authentifizierung

Über die CLI anmelden

Führen Sie zur Authentifizierung den folgenden Befehl aus. Sie werden zur Webanwendung weitergeleitet, um die CLI zu autorisieren:

Mit benutzerdefiniertem Scope anmelden (für Single-Tenant-Instanzen)

Hinweis: Der Unternehmens-Scope entspricht Ihrer Corgea-Subdomain, zum Beispiel https://your-company.corgea.app.

Mit Token anmelden (API-Token oder JWT)

Verwenden Sie für automatisierte Pipelines und CI/CD-Umgebungen die Token-Authentifizierung, um sich zuverlässig und nicht interaktiv anzumelden. Sie können ein Corgea-API-Token oder ein JWT-Zugriffstoken übergeben:
Sie können das Token auch in einer Umgebungsvariable setzen:

Auf eine Single-Tenant-Instanz verweisen

Bei einer Single-Tenant-Instanz müssen Sie die CLI mit der Option --url auf Ihre Instanz verweisen:
Sie können die URL auch in einer Umgebungsvariable setzen, und die CLI erkennt sie automatisch:

Verwendung

Befehle und Optionen

Package Advisories prüfen

Mit corgea advisories check prüfen Sie bekannte Sicherheitshinweise, bevor Sie ein npm- oder PyPI-Paket auswählen oder installieren. Eine Prüfung ohne Versionsangabe listet den Advisory-Verlauf des Pakets auf. Geben Sie eine exakte Version an, um eine Bewertung für dieses Release zu erhalten.
Als Ecosystem sind npm und pypi zulässig; pip wird als Alias akzeptiert. npm-Versionen müssen vollständig und exakt angegeben werden, beispielsweise 1.2.3. Versionsbereiche, Tags und Teilversionen werden nicht unterstützt. Bei PyPI können Sie package@version oder die pip-Syntax package==version verwenden. Ergebnisse ohne Versionsangabe helfen Ihnen, vor der Auswahl einer Version den Advisory-Verlauf zu prüfen. Ergebnisse für eine exakte Version enthalten bekannte Advisory-Details, gegebenenfalls Informationen zu korrigierten Versionen und eine Empfehlung für eine sichere Version, sofern alle gemeldeten Advisories einen Fix aufweisen. Der schreibgeschützte Befehl benötigt Netzwerkzugriff; die Installation wird weiterhin über das Package Manager Install Gate abgesichert. Mit --json erhalten Sie eine maschinenlesbare Antwort nach Schemaversion 1. Der Exit-Code lautet 0, wenn keine Advisories gefunden wurden, 1 bei vorhandenen Advisories und 2 bei einem Fehler. Ist ein Paket nicht in der Advisory-Datenbank vorhanden, wird ebenfalls Exit-Code 0 zurückgegeben.

Package Manager Install Gate

Verwenden Sie corgea npm, corgea yarn, corgea pnpm, corgea pip oder corgea uv, um unterstützte Paketmanager-Installationsbefehle über Corgea auszuführen, bevor Abhängigkeiten installiert werden.
Corgea prüft jede aufgelöste Version anhand öffentlicher Schwachstellendaten auf bekanntermaßen anfällige oder bösartige Releases – ohne Token – und blockiert ungewöhnlich neue Releases (siehe Recency Gate unten). Anfällige, bösartige oder zu neue Versionen stoppen die Installation, bevor der Paketmanager ausgeführt wird. Wrapper-Flags stehen zwischen dem Namen des Paketmanagers und dessen Befehl, beispielsweise corgea pip --force install requests. Recency Gate. Zusätzlich zu Schwachstellendaten blockiert Corgea jedes ausdrücklich angegebene Installationsziel, dessen aufgelöste Version innerhalb eines definierten Zeitfensters veröffentlicht wurde. So lassen sich kurz zuvor veröffentlichte Typosquatting-Pakete und Paketübernahmen abfangen, bevor Advisory-Feeds reagieren. Das Gate ist standardmäßig aktiviert und verwendet ein Zeitfenster von 14 Tagen. Konfigurieren Sie es in ~/.corgea/config.toml (recency_gate = false zum Deaktivieren, recency_threshold_days zum Anpassen des Zeitfensters) oder über CORGEA_RECENCY_GATE und CORGEA_RECENCY_THRESHOLD_DAYS. Pakete ohne ermittelbares Veröffentlichungsdatum lösen das Gate nicht aus. Die Bewertung als anfällig oder bösartig hat Vorrang vor dem Alter; --force umgeht das Gate für eine einzelne Installation. Abdeckung. pip install und npm install lösen die gesamte vorgesehene Installation einschließlich transitiver Abhängigkeiten auf. Dadurch blockiert auch eine anfällige transitive Abhängigkeit den Befehl. Schlägt der Dry-Run-Resolver fehl, gibt Corgea eine Warnung aus und prüft stattdessen die ausdrücklich angegebenen Pakete. npm ci wird anhand der Lockdatei des Projekts und uv sync anhand von uv.lock geprüft. Somit wird der vollständige gesperrte Abhängigkeitsbestand geprüft, obwohl die Befehle keine Paketnamen enthalten. Das uv-Gate erfasst außerdem ausdrücklich angegebene Ziele für uv add ... und uv pip install ...; uv lock wird unverändert ausgeführt, da es nichts installiert. yarn und pnpm prüfen nur ausdrücklich angegebene Ziele, weil kein sicherer Dry-Run-Resolver verfügbar ist. Installationen ohne Paketangabe. Ein einfaches npm install wird anhand der package.json des Projekts geprüft. Einfache yarn- und pnpm-Aufrufe sowie installierende uv-Befehle können nicht vorab geprüft werden. Corgea weist darauf hin und führt sie ungeprüft aus.
Öffentlicher und authentifizierter Modus. Ohne Token arbeitet das Gate im öffentlichen Modus: Anfällige und bösartige Pakete werden blockiert, nicht verifizierbare Pakete und Abfragefehler führen jedoch nur zu Warnungen und lassen die Installation zu. Wiederholte Fehler werden in einer Zusammenfassungszeile gebündelt. Mit einem Token aus CORGEA_TOKEN oder corgea login und der standardmäßigen Vulnerability API arbeitet das Gate im authentifizierten Modus nach dem Fail-Closed-Prinzip. Nicht verifizierbare Pakete, Fehler bei der Abhängigkeitsauflösung, Ausfälle der Vulnerability API und eine unvollständige Baumabdeckung bei Paketmanagern, die normalerweise den vollständigen Baum auflösen (pip, npm, uv), blockieren die Installation, sofern Sie nicht --force angeben. Benutzerdefinierte Vulnerability API. Wenn CORGEA_VULN_API_URL auf einen benutzerdefinierten Endpunkt verweist, sendet Corgea Ihr Token nicht dorthin; das Gate bleibt deshalb im öffentlichen Modus. Mit CORGEA_VULN_API_SEND_TOKEN_TO_CUSTOM_URL=1 aktivieren Sie die authentifizierte Durchsetzung für einen Endpunkt, dem Sie vertrauen. Extern verwaltetes Python. Für pip verweigert Corgea Installationen in extern verwalteten Umgebungen (PEP 668), bevor die Registry-Prüfungen durchgeführt werden. Aktivieren Sie eine virtuelle Umgebung oder übergeben Sie --force, um dies zu umgehen. Corgea führt den passenden Paketmanager von Ihrem PATH aus. Für corgea pip ... versucht es pip3, wenn pip fehlt; wenn keiner existiert, beendet die CLI 127 und nennt die fehlende Binärdatei. Befunde. Wenn ein aufgelöstes Paket anfällig ist, zeigen die Befunde im Abhängigkeitsbaum dessen Herkunft:
  • (from requirements) — über eine pip-Anforderungsdatei angefordert.
  • (already in package.json) — bereits eine direkte npm-Abhängigkeit.
  • (transitive) — über eine andere Abhängigkeit eingebunden.
Ist das ausdrücklich angegebene Paket nicht anfällig, enthält der aufgelöste Baum aber bereits ein anfälliges Paket, nennt die Ablehnung den vorhandenen Baum als Quelle. Advisory-Zeilen zeigen die angegebene korrigierte Version oder weisen darauf hin, dass keine bekannt ist. Sind für alle Advisories eines Pakets Fixdaten vorhanden, gibt Corgea safe version: axios@0.21.2 aus. Bei anfälligen direkten npm-Abhängigkeiten kann zusätzlich fix with: corgea npm install package-name@version (advertised fix) erscheinen. Anzahl der Schwachstellen und Exit-Verhalten richten sich nach dem ursprünglichen Installationsziel. JSON-Ausgabe. --json gibt einen einzelnen Bericht auf stdout aus und leitet stdout des Paketmanagers nach stderr um, sodass stdout ausschließlich Corgea gehört. Schemaversion 2 enthält manager, subcommand, args, recency_threshold_days (das aktive Zeitfenster oder null, wenn das Gate deaktiviert ist; zusammen mit age_seconds des jeweiligen Ergebnisses zu verwenden), eine nach named und tree aufgeteilte summary, verdict_mode, ein results-Array und bei ausgeführter Baumauflösung ein tree-Objekt. Baumeinträge haben für origin den Wert requested, pre-existing oder transitive. Bekanntermaßen bösartige Pakete verwenden den separaten status malicious, einen booleschen Wert malware pro Treffer und einen eigenen Zähler malicious in jedem Zusammenfassungsobjekt. remediation ist für sie immer null, da das Paket entfernt und nicht aktualisiert werden sollte. Bei anfälligen Paketen wird eine sichere Version weiterhin nur angegeben, wenn sie sämtliche Advisories abdeckt.

Agent Skills installieren

Installieren Sie einen freigegebenen Skill aus der Corgea Registry in das Skills-Verzeichnis Ihres Coding-Agenten:
Unterstützte Agenten-IDs sind cursor, claude-code, codex, github-copilot, gemini-cli, windsurf, opencode und universal. Verwenden Sie --scope project, um in das aktuelle Repository zu installieren, --scope user, um für Ihr Benutzerkonto zu installieren, oder --dir, um in ein benutzerdefiniertes Skills-Verzeichnis zu installieren. Hängen Sie eine bestimmte Version an den Skill-Namen an:
Sie können auch einen Standard-Agenten für zukünftige Installationen speichern:

Scan-Bericht hochladen

Laden Sie einen Scan-Bericht über STDIN oder als Datei (JSON, SARIF, FPR oder Coverity XML) zu Corgea hoch:
Um den in Corgea für hochgeladene Berichte angezeigten Projektnamen zu steuern, verwenden Sie --project-name. Wenn dies weggelassen wird, verwendet die CLI standardmäßig den Namen des Git-Repositorys, wenn verfügbar, und greift andernfalls auf den aktuellen Verzeichnisnamen zurück.
Große Berichte lädt die CLI in Blöcken hoch. Dabei prüft sie den serverseitigen Fortschritt und beendet den Vorgang mit einem Exit-Code ungleich null, wenn der Server einen unerwarteten Offset meldet oder nach Abschluss keine Scan-ID zurückgibt.

Codebasis scannen

Um Ihr aktuelles Verzeichnis mit dem Standard-BLAST-Scanner zu scannen:
Um einen anderen Scanner anzugeben, wie zum Beispiel Semgrep:
Sie können --fail-on mit einer oder mehreren kommagetrennten Bedingungen verwenden: CR, HI, ME, LO oder malicious. Eine Schweregradbedingung erfasst Befunde dieses oder eines höheren Schweregrads. ME erfasst beispielsweise auch Befunde mit HI und CR. malicious erfasst Abhängigkeitsbefunde, die als bösartig klassifiziert wurden. Sobald eine der angegebenen Bedingungen zutrifft, endet der Befehl mit einem Exit-Code ungleich null. Beispiele:
Alternativ kann der Befehl anhand der in der Webanwendung definierten Blocking Rules fehlschlagen:
Standardmäßig scannt scan das gesamte Projekt. Um nur noch nicht committete Änderungen zu scannen, verwenden Sie --only-uncommitted.
Bei BLAST-Scans können Sie mit --target bestimmte Dateien oder Teilbereiche Ihres Projekts auswählen. Die Option akzeptiert kommagetrennte Dateipfade, Verzeichnispfade, Glob-Muster, Git-Selektoren oder stdin. Beispiele:
Sie können Dateien von BLAST-Scans mit der Option --exclude ausschließen. Diese akzeptiert durch Kommas getrennte Glob-Muster und kann mit oder ohne --target verwendet werden.
Hinweis: --only-uncommitted und --target können nicht zusammen verwendet werden. Um Dateien während eines BLAST-Scans zu überspringen, verwenden Sie --exclude mit durch Kommas getrennten Glob-Mustern. Es kann mit --target kombiniert werden, um eine Teilmenge zu scannen und gleichzeitig Übereinstimmungen innerhalb dieser auszuschließen.
Um den in Corgea angezeigten Projektnamen zu steuern, verwenden Sie --project-name. Wenn dies weggelassen wird, verwendet die CLI standardmäßig den Namen des Git-Repositorys, falls verfügbar, und fällt auf den aktuellen Verzeichnisnamen zurück.
Um einem BLAST-Scan benutzerdefinierte Metadaten hinzuzufügen, geben Sie --metadata wiederholt mit KEY=VALUE-Paaren an. Die Werte werden dem Scan beigefügt und erscheinen in der JSON-Ausgabe der Scan-Liste.
--metadata wird nur vom BLAST-Scanner unterstützt. Jeder Eintrag muss einen nicht leeren Schlüssel haben; wenn derselbe Schlüssel mehr als einmal angegeben wird, wird der letzte Wert verwendet. Der reguläre BLAST-Scan umfasst mehrere Scans:
  • Blast Base AI Scan
  • PolicyIQ Scan
  • Malicious Code Detection Scan
  • Secrets Detection Scan
  • Erkennung von persönlich identifizierbaren Informationen (PII)
Standardmäßig werden alle diese Scans ausgeführt, sofern sie im Tarif Ihres Unternehmenskontos enthalten sind. Mit --scan-type können Sie den Scan auf einen oder mehrere Typen beschränken.
oder mehrere Typen
Mit --policy beschränken Sie einen PolicyIQ-Scan auf bestimmte Richtlinien. Übergeben Sie dazu eine oder mehrere Richtlinien-IDs.

Scan-Bericht exportieren

Mit der Corgea CLI können Sie Scan-Ergebnisse in eine Datei exportieren, beispielsweise bei der Ausführung in einer CI-Pipeline. Verwenden Sie dazu --out-format und --out-file.
Die CLI unterstützt derzeit HTML, JSON, SARIF und Markdown als Ausgabeformate.

Abhängigkeitsinventar

Mit corgea deps erstellen Sie aus npm-, Python- und Java-Manifesten sowie Lockfiles ein Offline-Inventar der Abhängigkeiten. Der Befehl prüft Richtlinien zur Versionsfixierung, kann CI-Jobs anhand der Befunde fehlschlagen lassen und benötigt weder Anmeldung noch Netzwerkzugriff.
Gängige Befehle für das Abhängigkeitsinventar:
Verwenden Sie --format human, agent, json oder quiet, um die Terminalausgabe für scan, graph, explain, diff und policy init zu steuern. In erkannten Agent-Umgebungen verwendet corgea deps standardmäßig das kompakte agent-Format; übergeben Sie --format human, um die normale Terminalausgabe zu erzwingen. Für corgea deps scan verwenden Sie --out-format table, json oder sarif mit optionalem --out-file beim Exportieren eines Berichts. Kombinieren Sie --format und --out-format nicht im selben deps scan-Befehl. Um die Abhängigkeitsrichtlinie anzupassen, initialisieren Sie .corgea/deps.yml:
Die generierte Richtlinie legt fest, ob Lockfiles erforderlich sind, ob fehlende oder veraltete Lockfiles als Fehler gelten und ob direkte Abhängigkeiten mit Wildcards, latest oder Semver-Bereichen gemeldet werden. CI-Beispiele, Richtlinienkonfiguration und Hinweise zur Fehlerbehebung finden Sie unter Dependency Scanning.

Auf einen Scan warten

Um auf den neuesten laufenden Scan zu warten:
Oder geben Sie eine Scan-ID an, auf die gewartet werden soll:

Scans, Issues oder SCA-Issues auflisten

Um alle Scans für ein aktuelles Verzeichnis aufzulisten (standardmäßig paginiert):
So listen Sie Issues eines bestimmten Scans auf:
Sie können auch die Paginierung steuern:
Hinweis: Die Option --json ist für Befehle wie list und inspect verfügbar, um Ergebnisse im JSON-Format auszugeben, was für Integrationen und Automatisierung nützlich ist.
Die Scan-Tabelle enthält die ersten acht Zeichen der Commit-SHA jedes Scans oder N/A, wenn keine SHA verfügbar ist. Die JSON-Ausgabe enthält den vollständigen Wert git_sha und alle von Corgea zurückgegebenen metadata des Scans. Um SCA-Issues für ein Projekt oder einen Scan aufzulisten, verwenden Sie --sca-issues oder die Kurzform -c.
oder

Scan oder Issue untersuchen

Um einen bestimmten Scan zu überprüfen:
Um Probleme mit detaillierter Ausgabe zu überprüfen:
Für Erläuterungen zu Fixes oder Diffs:

Integration mit Git-Hooks

Um Code Quality und Sicherheit zu gewährleisten, können Sie die Corgea CLI über Pre-Commit-Hooks in Ihren Git-Workflow integrieren. So scannen Sie Codeänderungen vor dem Commit oder Push. Richten Sie den Pre-Commit-Hook mit folgendem Befehl ein:
Beim Einrichten des Pre-Commit-Hooks werden Sie nach der gewünschten Scan-Konfiguration gefragt. Die Standardkonfiguration umfasst die Scan-Typen PII und Secrets sowie die Fehlerstufen CR, HI, ME und LO. Aktivieren Sie sie mit:
Um die Pre-Commit-Prüfung beim Commit zu umgehen, verwenden Sie den folgenden Befehl:

Debug-Modus

Um Debug-Logs zu aktivieren, setzen Sie CORGEA_DEBUG=1, bevor Sie einen Befehl ausführen.
Im Debug-Modus enthält die Debug-Ausgabe bei fehlgeschlagenen Upload-Requests den HTTP-Status und den Response Body. Dies erleichtert die Fehlerdiagnose.

Zusätzliche Optionen

Für weitere Optionen und Befehle verwenden Sie:

Versionshinweise

Für vollständige Versionshinweise besuchen Sie bitte unsere GitHub Releases-Seite.