
Ein Dienst, der Docker-Images analysiert und nach Schwachstellen sucht.
WICHTIGER HINWEIS
Seit 2023 wird Anchore Engine nicht mehr gewartet. Es werden keine zukünftigen Versionen veröffentlicht. Benutzern wird empfohlen, Syft und Grype zu verwenden.
Für Benutzer, die an einer unterstützten kommerziellen Lösung für Container-Scanning und Compliance interessiert sind, vereinbaren Sie eine Demo, um die breite Palette an Enterprise-Funktionen von Anchore Enterprise zu sehen, einschließlich SBOM-Management, Schwachstellenmanagement und Compliance-Management.
Über
Anchore Engine ist ein Open-Source-Projekt, das einen zentralisierten Dienst zur Inspektion, Analyse und Zertifizierung von Container-Images bereitstellt. Anchore Engine wird als Docker-Container-Image bereitgestellt, das eigenständig oder innerhalb einer Orchestrierungsplattform wie Kubernetes, Docker Swarm, Rancher, Amazon ECS und anderen Container-Orchestrierungsplattformen ausgeführt werden kann.
Mit einer bereitgestellten Instanz von Anchore Engine in Ihrer Umgebung werden Container-Images aus Docker V2-kompatiblen Container-Registries heruntergeladen und analysiert und dann gegen eine Schwachstellendatenbank bewertet.
Historische Dokumentation ist verfügbar unter Anchore Documentation.
Anchore Engine kann direkt über eine RESTful-API oder über die Anchore CLI zugegriffen werden.
Unterstützte Betriebssysteme
Unterstützte Pakete
Es gibt mehrere Möglichkeiten, mit Anchore Engine zu beginnen. Die aktuellsten Informationen zum Schnellstart und zur vollständigen Produktionsinstallation mit docker-compose, Helm und anderen Methoden finden Sie unter:
Die Anchore Engine wird als Docker-Image vertrieben, das über DockerHub verfügbar ist.
Siehe Dokumentation für die vollständige Schnellstartanleitung.
Um schnell eine Installation von Anchore Engine auf einem System mit installiertem Docker (und docker-compose) zu starten, befolgen Sie diese einfachen Schritte:
curl https://engine.anchore.io/docs/quickstart/docker-compose.yaml > docker-compose.yaml
docker-compose up -d
Sobald die Engine läuft, können Sie mit dem System über die CLI interagieren.
Die Anchore CLI ist eine einfache Möglichkeit, die Anchore Engine zu steuern und mit ihr zu interagieren.
Die Anchore CLI kann mit dem Python-pip-Befehl installiert werden oder indem die CLI aus dem Anchore Engine CLI Container-Image ausgeführt wird. Siehe das Anchore CLI Projekt auf GitHub für den Code und weitere Installationsoptionen und Verwendung.
Standardmäßig versucht die Anchore CLI, eine Verbindung zur Anchore Engine unter http://localhost:8228/v1 ohne Authentifizierung herzustellen. Der Benutzername, das Passwort und die URL des Servers können der Anchore CLI als Befehlszeilenargumente übergeben werden:
--u TEXT Username eg. admin
--p TEXT Password eg. foobar
--url TEXT Service URL eg. http://localhost:8228/v1
Anstatt diese Parameter bei jedem Aufruf des Tools zu übergeben, können sie auch als Umgebungsvariablen gesetzt werden:
ANCHORE_CLI_URL=http://myserver.example.com:8228/v1
ANCHORE_CLI_USER=admin
ANCHORE_CLI_PASS=foobar
Fügen Sie ein Image zur Anchore Engine hinzu:
anchore-cli image add docker.io/library/debian:latest
Warten Sie, bis das Image in den Status 'analyzed' übergeht:
anchore-cli image wait docker.io/library/debian:latest
Listen Sie die von der Anchore Engine analysierten Images auf:
anchore-cli image list
Rufen Sie Image-Übersichts- und Zusammenfassungsinformationen ab:
anchore-cli image get docker.io/library/debian:latest
Listen Sie die Feeds auf und warten Sie, bis mindestens eine Synchronisierung des Schwachstellendaten-Feeds abgeschlossen ist. Die erste Synchronisierung kann einige Zeit dauern (20-30 Minuten); danach werden nur noch Deltas zusammengeführt.
anchore-cli system feeds list
anchore-cli system wait
Rufen Sie die Ergebnisse des Schwachstellenscans eines Images ab:
anchore-cli image vuln docker.io/library/debian:latest os
Listen Sie die im Image vorhandenen Betriebssystempakete auf:
anchore-cli image content docker.io/library/debian:latest os
Für die externe API-Definition (der benutzerorientierte Dienst) siehe External API Swagger Spec. Wenn Sie Anchore Engine ausführen, können Sie Swagger auch über Ihren Browser unter http://:8228/v1/ui/ aufrufen (HINWEIS: Der abschließende Schrägstrich ist erforderlich, damit der eingebettete Swagger-UI-Browser korrekt angezeigt wird).
Jeder Dienst implementiert seine eigene API, und alle APIs sind in der Swagger/OpenAPI-Spezifikation definiert. Sie finden jede im Verzeichnis anchore_engine/services/<servicename>/api/swagger.
Weitere Details zur Verwendung der Anchore CLI mit der Anchore Engine finden Sie in der Anchore Engine Dokumentation.
Dieses Repository wurde im November 2020 mit Black neu formatiert. Dieser Commit kann in Ihrer lokalen Umgebung bei Verwendung von git blame ignoriert werden, da er so viele Dateien betroffen hat. Um den Commit zu ignorieren, müssen Sie git-blame so konfigurieren, dass die bereitgestellte Datei .git-blame-ignore-revs als Liste von zu ignorierenden Commits für blame verwendet wird.
Konfigurieren Sie Ihre lokale Git-Konfiguration so, dass die bereitgestellte Datei verwendet wird, indem Sie diesen Befehl im Stammverzeichnis dieses Quellbaums ausführen:
git config blame.ignoreRevsFile .git-blame-ignore-revs