Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/hawkeyesec/scanner-cli
Statische AnalyseSchwachstellenscannerContainer-SicherheitCode-AnalyseDevSecOpsSecret-ErkennungArchived
GitHubhawkeyesec/scanner-cli

scanner-cli

Ein Projekt-Sicherheits-/Schwachstellen-/Risikoscanning-Tool

Repository anzeigen
36186vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Deprecation Notice: Hawkeye hat sein Lebensende erreicht.

Es gibt heutzutage modernere Optionen für dich und dein Projekt. Falls du die Wartung des Projekts übernehmen möchtest, kannst du mich gerne kontaktieren. Du findest Wege, mich zu erreichen, auf meiner persönlichen Homepage.

.

.

.

.

.

.

Der Hawkeye scanner-cli ist ein Werkzeug zur Hervorhebung von Projektsicherheit, Schwachstellen und allgemeinen Risiken. Es ist dafür gedacht, in Ihre Pre-Commit-Hooks und Ihre Pipelines integriert zu werden.

Ausführen und Konfigurieren des Scanners

Der Hawkeye scanner-cli geht davon aus, dass Ihre Verzeichnisstruktur so ist, dass die Dateien der Toolchain auf der obersten Ebene liegen. Im Großen und Ganzen läuft es auf Folgendes hinaus:

  • Node.js-Projekte haben eine package.json auf der obersten Ebene
  • Ruby-Projekte haben ein Gemfile auf der obersten Ebene
  • Python-Projekte haben eine requirements.txt auf der obersten Ebene
  • PHP-Projekte haben eine composer.lock auf der obersten Ebene
  • Java-Projekte haben einen build- (Gradle) oder target-Ordner (Maven) und enthalten .java- und .jar-Dateien
  • Kotlin-Projekte haben einen build- (Gradle) oder target-Ordner (Maven) und enthalten .kt- und .jar-Dateien
  • Scala-Projekte haben einen target-Ordner (sbt mit sbt-native-packager- oder sbt-assembly-Plugins) und enthalten .scala- und .jar-Dateien. Schauen Sie sich dieses Repository für eine laufende Demo an.
  • Rust-Projekte haben eine Cargo.toml auf der obersten Ebene

Diese Liste ist nicht abschließend, da manchmal Tools weitere Dateien benötigen. Um zu verstehen, wie die Module entscheiden, ob sie ein Projekt bearbeiten können, lesen Sie bitte den Abschnitt How it works und den Ordner modules.

Docker (empfohlen)

Das Docker-Image ist mit Abstand der einfachste Weg, den Scanner zu nutzen. Bitte beachten Sie, dass Ihr Projektstamm (z.B. $PWD) auf /target gemountet sein muss.

root@kitploit:~
docker run --rm -v $PWD:/target hawkeyesec/scanner-cli:latest

Wenn Sie den Scanner verwenden, um eine JSON-Datei zu schreiben (über die -j- und --json-CLI-Flags und die json-Einstellung in der .hawkeyerc), stellen Sie sicher, dass die korrekte UID und GID verwendet wird über docker run -u $(id -u):$(id -g). Andernfalls könnte dies zu nicht löschbaren Dateien führen, z.B. beim Ausführen in Jenkins.

Der Docker-Build ist auch die empfohlene Methode, um den Scanner in Ihren CI-Pipelines auszuführen. Dies ist ein Beispiel für die Ausführung von Hawkeye gegen eines Ihrer Projekte in GoCD:

root@kitploit:~
<pipeline name="security-scan">
  <stage name="Hawkeye" cleanWorkingDir="true">
    <jobs>
      <job name="scan">
        <tasks>
          <exec command="docker">
            <arg>pull</arg>
            <arg>hawkeyesec/scanner-cli</arg>
            <runif status="passed" />
          </exec>
          <exec command="bash">
            <arg>-c</arg>
            <arg>docker run --rm -v $PWD:/target hawkeyesec/scanner-cli:latest</arg>
            <runif status="passed" />
          </exec>
        </tasks>
      </job>
    </jobs>
  </stage>
</pipeline>

npm

Sie können hawkeye in einem Node.js-Projekt installieren und ausführen über

root@kitploit:~
npm install --save-dev @hawkeyesec/scanner-cli
npx hawkeye scan

Diese Methode wird in einem Node.js-Projekt empfohlen, wenn die anderen Toolchains (z.B. Python, Ruby) nicht benötigt werden.

Bei dieser Methode wird auch empfohlen, den Scanner in einem Git-Pre-Commit-Hook (z.B. über das pre-commit-Paket) aufzurufen, um den Commit fehlschlagen zu lassen, wenn Probleme gefunden werden.

Konfigurationsdateien (empfohlen)

Sie können den Scanner über .hawkeyerc- und .hawkeyeignore-Dateien in Ihrem Projektstamm konfigurieren.

Die .hawkeyerc-Datei ist eine JSON-Datei, mit der Sie Folgendes konfigurieren können ...

  • die auszuführenden Module,
  • die zu verwendenden Writer und
  • die Fehlerschwelle
root@kitploit:~
{
    "all": true|false,
    "staged": true|false,
    "modules": ["files-ccnumber", "java-owasp", "java-find-secbugs"],
    "sumo": "http://your.sumologic.foobar/collector",
    "http": "http://your.logger.foobar/collector",
    "json": "log/results.json",
    "failOn": "low"|"medium"|"high"|"critical",
    "showCode": true|false
}

Die .hawkeyeignore-Datei ist eine Sammlung von regulären Ausdrücken, die Pfade und Modul-Fehlercodes abgleichen, um sie vom Scan auszuschließen. Sie entspricht der Verwendung des --exclude-Flags. Zeilen, die mit # beginnen, werden als Kommentare betrachtet.

Bitte beachten Sie, dass alle Sonderzeichen, die in regulären Ausdrücken reserviert sind (-[]{}()*+?.,^$|#\s), maskiert werden müssen, wenn sie als Literal verwendet werden!

Beachten Sie auch, dass die Modul-Fehlercodes normalerweise nicht angezeigt werden, da sie für den Benutzer nicht primär relevant sind. Wenn Sie eine bestimmte Falschmeldung ausschließen möchten, können Sie die Modul-Fehlercodes mit dem Flag --show-code oder der Eigenschaft showCode in der .hawkeyerc anzeigen.

root@kitploit:~
^test/

# Dies ist ein Kommentar

^README.md

Die CLI

Verwenden Sie hawkeye modules, um die verfügbaren Module und deren Status aufzulisten.

root@kitploit:~
> npx hawkeye modules
[info] Version: v1.4.0
[info] Modulstatus
[info] Aktiviert:   files-ccnumber
[info]            Durchsucht Dateiinhalte, die wahrscheinlich Kreditkartennummern enthalten
[info] Aktiviert:   files-contents
[info]            Durchsucht Dateiinhalte, die wahrscheinlich Geheimnisse enthalten
[info] Deaktiviert: files-entropy
[info]            Durchsucht Dateien auf Zeichenfolgen mit hoher Entropie, die wahrscheinlich Passwörter enthalten
[info] Aktiviert:   files-secrets
[info]            Durchsucht verdächtige Dateinamen, die wahrscheinlich Geheimnisse enthalten
[info] Aktiviert:   java-find-secbugs
[info]            Findet häufige Sicherheitsprobleme in Java-Code mit findsecbugs
[info] Aktiviert:   java-owasp
[info]            Durchsucht Java-Projekte auf Gradle/Maven-Abhängigkeiten mit bekannten Schwachstellen mit dem OWASP-Abhängigkeitsprüfer
[info] Aktiviert:   node-npmaudit
[info]            Überprüft Node-Projekte auf Abhängigkeiten mit bekannten Schwachstellen
[info] Aktiviert:   node-npmoutdated
[info]            Überprüft Node-Projekte auf veraltete npm-Module
[info] Aktiviert:   node-yarnaudit
[info]            Überprüft Yarn-Projekte auf Abhängigkeiten mit bekannten Schwachstellen
[info] Aktiviert:   node-yarnoutdated
[info]            Überprüft Node-Projekte auf veraltete Yarn-Module
[info] Aktiviert:   php-security-checker
[info]            Überprüft, ob die composer.lock Abhängigkeiten mit bekannten Schwachstellen enthält, mit security-checker
[info] Aktiviert:   python-bandit
[info]            Durchsucht Python-Code auf häufige Sicherheitsprobleme mit bandit.
[info] Aktiviert:   python-piprot
[info]            Durchsucht Python-Abhängigkeiten auf veraltete Pakete
[info] Aktiviert:   python-safety
[info]            Überprüft Python-Abhängigkeiten auf bekannte Sicherheitslücken mit dem safety-Tool.
[info] Aktiviert:   ruby-brakeman
[info]            Führt eine statische Analyse von Rails-Code auf Sicherheitsprobleme mit Brakeman durch.
[info] Aktiviert:   ruby-bundler-scan
[info]            Durchsucht Ruby-Gems mit bekannten Schwachstellen mit bundler

Verwenden Sie hawkeye scan, um einen Scan zu starten:

root@kitploit:~
> npx hawkeye scan --help
[info] Version: v1.3.0
Verwendung: hawkeye-scan [Optionen]

Optionen:
  -a, --all                                       Alle Dateien scannen, unabhängig davon, ob ein Git-Repository gefunden wurde. Standardmäßig werden nur getrackte Dateien in Git-Repositorys gescannt.
  -t, --target [/path/to/project]                 Der zu scannende Ort. Standardmäßig $PWD.
  -f, --fail-on [low|medium|high|critical]        Legt die Schwelle fest, bei der hawkeye einen Exit-Code ungleich Null zurückgibt. Standardmäßig low.
  -m, --module [Modulname]                        Ein bestimmtes Modul ausführen. Standardmäßig alle zutreffenden Module.
  -e, --exclude [Muster]                          Ein oder mehrere Ausschlussmuster angeben (z.B. test/*). Kann mehrfach angegeben werden.
  -j, --json [/path/to/file.json]                 Ergebnisse in eine Datei schreiben.
  -s, --sumo [https://sumologic-http-connector]   Ergebnisse an SumoLogic senden.
  -H, --http [https://your-site.com/api/results]  Ergebnisse an eine bestimmte URL senden.
  --show-code                                     Zeigt den Code an, den das Modul für die Berichterstattung verwendet. Nützlich, um bestimmte Fehlalarme zu ignorieren.
  -g, --staged                                    Nur git-gestagte Dateien scannen.
  -h, --help                                      Hilfe zu dieser Ausgabe anzeigen

Ergebnisse

Exit-Codes

Der scanner-cli antwortet mit den folgenden Exit-Codes:

  • Exit-Code 0 zeigt an, dass keine Ergebnisse über oder gleich der Mindestschwelle gefunden wurden.
  • Exit-Code 1 zeigt an, dass Probleme über oder gleich der Mindestschwelle gefunden wurden.
  • Exit-Code 42 zeigt an, dass an einer Stelle im Programm ein unerwarteter Fehler aufgetreten ist. Dies ist wahrscheinlich ein Fehler und sollte nicht vorkommen. Bitte überprüfen Sie die Log-Ausgabe und melden Sie einen Fehler.

Umleitung der Konsolenausgabe

Wenn Sie die Konsolen-Logger-Ausgabe umleiten möchten, ist die empfohlene Methode, auf stdout zu verwenden. In diesem Beispiel nutzen wir sowohl JSON- als auch stdout-Ergebnisse:

root@kitploit:~
docker run --rm -v $PWD:/target hawkeyesec/scanner-cli:latest -j hawkeye-results.json -f critical 2>&1 | tee hawkeye-results.txt

Konsolenausgabe

Standardmäßig gibt der Scanner seine Ergebnisse in tabellarischer Form auf der Konsole aus.

Sumologic

Die Ergebnisse können an einen SumoLogic-Collector Ihrer Wahl gesendet werden. In diesem Beispiel haben wir einen Collector mit einer einzigen HTTP-Quelle.

root@kitploit:~
hawkeye scan --sumo https://collectors.us2.sumologic.com/receiver/v1/http/your-http-collector-url

In SumoLogic suchen Sie nach _collector="hawkeye" | json auto:

SumoLogic

Beliebiger HTTP-Endpunkt

Ähnlich wie im SumoLogic-Beispiel kann der Scanner die Ergebnisse an jeden beliebigen HTTP-Endpunkt senden, der POST-Nachrichten akzeptiert.

root@kitploit:~
hawkeye scan --http http://your.logging.foobar/endpoint

Die Ergebnisse werden mit User-Agent: hawkeye gesendet. Ähnlich wie bei der Konsolenausgabe wird für jeden Fund das folgende JSON per POST gesendet:

root@kitploit:~
{
  "module": "files-contents",
  "level": "critical",
  "offender": "testfile3.yml",
  "description": "Private key in file",
  "mitigation": "Check line number: 3"
}

Wie es funktioniert

Hawkeye ist so konzipiert, dass es durch Hinzufügen von Modulen und Writern erweiterbar ist.

  • Fügen Sie Module im Ordner modules hinzu.
  • Fügen Sie Writer im Ordner writers hinzu.

Module

Module sind im Grunde kleine Code-Stücke, die entweder ihre eigene Logik implementieren oder ein Drittanbieter-Tool umschließen und die Ausgabe standardisieren. Sie laufen nur, wenn die erforderlichen Kriterien erfüllt sind. Beispiel: Das Modul npm outdated würde nur laufen, wenn eine package.json im Scan-Ziel erkannt wird – als Ergebnis müssen Sie Hawkeye nicht mitteilen, welche Art von Projekt Sie scannen.

Generische Module

  • files-ccnumber: Durchsucht verdächtige Dateiinhalte, die wahrscheinlich Kreditkartennummern enthalten
  • files-contents: Durchsucht verdächtige Dateiinhalte, die wahrscheinlich Geheimnisse enthalten
  • files-entropy: Durchsucht Dateien auf Zeichenfolgen mit hoher Entropie, die wahrscheinlich Passwörter enthalten. Die Entropie-Prüfung ist standardmäßig deaktiviert aufgrund der hohen Anzahl von Fehlalarmen. Es ist nützlich, Codebasen von Zeit zu Zeit auf Schlüssel zu scannen. Verwenden Sie dazu bitte den Schalter -m files-entropy.
  • files-secrets: Durchsucht verdächtige Dateinamen, die wahrscheinlich Geheimnisse enthalten

Java / Kotlin / Scala

  • java-find-secbugs: Findet häufige Sicherheitsprobleme in Java-Code mit findsecbugs
  • java-owasp: Scannt Java-Projekte auf Gradle/Maven-Abhängigkeiten mit bekannten Schwachstellen mit dem OWASP-Abhängigkeitsprüfer

Node.js

  • node-npmaudit: Überprüft Node-Projekte auf Abhängigkeiten mit bekannten Schwachstellen mit npm audit
  • node-npmoutdated: Überprüft Node-Projekte auf veraltete npm-Module mit npm outdated
  • node-yarnaudit: Überprüft Yarn-Projekte auf Abhängigkeiten mit bekannten Schwachstellen mit yarn audit
  • node-yarnoutdated: Überprüft Node-Projekte auf veraltete Yarn-Module mit yarn outdated

PHP

  • php-security-checker: Überprüft, ob die composer.lock Abhängigkeiten mit bekannten Schwachstellen enthält, mit security-checker

Python

  • python-bandit: Scannt nach häufigen Sicherheitsproblemen in Python-Code mit bandit.
  • python-piprot: Scannt Python-Abhängigkeiten auf veraltete Pakete mit piprot
  • python-safety: Überprüft Python-Abhängigkeiten auf bekannte Sicherheitslücken mit dem safety-Tool.

Ruby

  • ruby-brakeman: Führt eine statische Analyse von Rails-Code auf Sicherheitsprobleme mit Brakeman durch.
  • ruby-bundler-scan: Scannt nach Ruby-Gems mit bekannten Schwachstellen mit bundler

Rust

  • rust-cargoaudit: Überprüft, ob die Cargo.lock Abhängigkeiten mit bekannten Schwachstellen enthält, mit cargo audit

Ein Modul hinzufügen

Wenn Sie eine Idee für ein Modul haben, können Sie gerne eine Funktionsanfrage im Bereich „Issues“ stellen. Wenn Sie etwas Zeit haben, ziehen Sie bitte in Betracht, uns einen Pull-Request zu senden. Um zu sehen, wie Module funktionieren, gehen Sie bitte zum Ordner modules, um zu erfahren, wie die Dinge arbeiten.

Tool herunterladen