
Mehrquellen-Geheimnis-Scanner, der API-Schlüssel, Passwörter und personenbezogene Daten (PII) über Git-Repos, S3-Buckets, Dateisysteme, Confluence, JIRA, Slack und Google Docs hinweg mittels Regex und Entropieanalyse erkennt.
Rusty Hog ist ein Geheimnis-Scanner, der in Rust für Leistung entwickelt wurde und auf TruffleHog basiert, das in Python geschrieben ist. Rusty Hog bietet die folgenden Binärdateien an:
Dieses Projekt bietet eine Reihe von Scannern, die reguläre Ausdrücke verwenden, um das Vorhandensein sensibler Informationen wie API-Schlüssel, Passwörter und persönliche Daten zu erkennen. Es enthält standardmäßig eine Reihe regulärer Ausdrücke, akzeptiert aber auch ein JSON-Objekt mit Ihren benutzerdefinierten regulären Ausdrücken.
Laden Sie das neueste ZIP auf dem Releases-Tab herunter und entpacken Sie es. Führen Sie dann jede Binärdatei mit -h aus, um die Verwendung zu sehen.```shell script
wget https://github.com/newrelic/rusty-hog/releases/download/v1.0.11/rustyhogs-darwin-choctaw_hog-1.0.11.zip
unzip rustyhogs-darwin-choctaw_hog-1.0.11.zip
darwin_releases/choctaw_hog -h
## So führen Sie es mit DockerHub aus
Rusty Hog Docker-Images finden Sie auf der persönlichen DockerHub-Seite des Autors [hier](https://hub.docker.com/u/wetfeet2000)
Für jeden Hog und für jedes Release wird ein Docker-Image erstellt. Um beispielsweise choctaw_hog zu verwenden, führen Sie die folgenden Befehle aus:```shell script
docker pull wetfeet2000/choctaw_hog:1.0.10
docker run -it --rm wetfeet2000/choctaw_hog:1.0.10 --help
cargo build --release aus. Die Binärdateien befinden sich in target/release.cargo doc --no-deps --open aus.cargo test aus.## Wie man unter Windows baut
Sie müssen statische OpenSSL-Binärdateien kompilieren und Rust/Cargo mitteilen, wo sie zu finden sind:```
mkdir \Tools
cd \Tools
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat
.\vcpkg.exe install openssl:x64-windows-static
$env:OPENSSL_DIR = 'C:\Tools\vcpkg\installed\x64-windows-static'
$env:OPENSSL_STATIC = 'Yes'
[System.Environment]::SetEnvironmentVariable('OPENSSL_DIR', $env:OPENSSL_DIR, [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable('OPENSSL_STATIC', $env:OPENSSL_STATIC, [System.EnvironmentVariableTarget]::User)
Sie können nun den oben aufgeführten Haupt-Build-Anweisungen folgen.
Verwenden Sie Homebrew, um die Abhängigkeiten zu erhalten:``` brew install rpm2cpio FiloSottile/musl-cross/musl-cross
Dann führen Sie `./build_lambda_macos.sh` aus.
Das Build-Skript wird gegen OpenSSL 3.0.12 bauen. Verwenden Sie `export OPENSSL_BUILD_VER=3.0.12` zum Überschreiben.
Das Build-Skript wird gegen Amazon Linux-Kernel-Header bauen, die von deren RPM bereitgestellt werden; `export AMAZON_KERNEL_HEADERS_RPM_URL=...` zum Überschreiben, woher das RPM heruntergeladen wird. (Es spricht nichts dagegen, ein RPM mit linux-headers einer anderen Distribution zu verwenden, wir brauchen nur die linux-headers, um openssl für Linux zu bauen)
Das Build-Skript wird ein build-deps-Verzeichnis in Ihrem aktuellen Quellverzeichnis erstellen. Sie können dieses Verzeichnis sicher mit `rm -rf` löschen, aber es wird beim nächsten Ausführen des Build-Skripts neu erstellt. Es wird auch verschiedene Konsistenzprüfungen durchführen, um sicherzustellen, dass der Build funktionieren sollte, und falls diese fehlschlagen, wird es Sie möglicherweise auffordern, dieses Verzeichnis dennoch mit `rm -rf` zu löschen, um es erneut zu versuchen.
### Linux
Stellen Sie sicher, dass `cross` installiert ist (`cargo install cross`), führen Sie dann einfach `./build_lambda.sh` aus.
# Befehle
## Anakamali Hog (GDoc Scanner) Verwendung```
USAGE:
ankamali_hog [FLAGS] [OPTIONS] <GDRIVEID>
FLAGS:
--caseinsensitive Sets the case insensitive flag for all regexes
--entropy Enables entropy scanning
--oauthsecret Path to an OAuth secret file (JSON) ./clientsecret.json by default
--oauthtoken Path to an OAuth token storage file ./temp_token by default
--prettyprint Outputs the JSON in human readable format
-v, --verbose Sets the level of debugging information
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-a, --allowlist <ALLOWLIST> Sets a custom allowlist JSON file
--default_entropy_threshold <DEFAULT_ENTROPY_THRESHOLD> Default entropy threshold (0.6 by default)
-o, --outputfile <OUTPUT> Sets the path to write the scanner results to (stdout by default)
--regex <REGEX> Sets a custom regex JSON file
ARGS:
<GDRIVEID> The ID of the Google drive file you want to scan
USAGE: berkshire_hog [FLAGS] [OPTIONS]