Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SecretScrub — 静的解析ツールからのSARIF出力を処理し、ソースコード内のハードコードされたシークレットを検出して秘匿化(redact)し、元のシークレットを含まないクリーンなコピーを作成します。 | Kitploit
ツール/GitHubGitHub/nccgroup/secretscrub
静的コード分析 (SAST)構成監査DevSecOpsユーティリティとフレームワークシークレット検出
GitHubnccgroup/secretscrub

SecretScrub

静的解析ツールからのSARIF出力を処理し、ソースコード内のハードコードされたシークレットを検出して秘匿化(redact)し、元のシークレットを含まないクリーンなコピーを作成します。

リポジトリを見る
5422年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

SecretScrub

SecretScrubは、ハードコードされた汚れたシークレットをすべて洗い流します。このスクリプトは、さまざまな静的解析ツールによって生成されるSARIFファイル形式のファイルを処理します。このツールはファイルシステム内のディレクトリをスキャンし、SARIFファイル内で検出されたすべてのシークレットインスタンスを秘匿化して、ディレクトリの新しいコピーに反映します。シークレットはGit履歴に存在することが多いため、生成されるコピーからは .git ディレクトリが除外されます。

SARIFは業界標準の形式ですが、さまざまなツールが生成するSARIF出力にはばらつきがあります。そのため、現在サポートされているツールは以下のとおりです。

ツールバージョンコメント
Trivy0.37.0
Gitleaks8.15.2--no-git オプションを使用して生成されたレポートでのみ動作します。これにより、ファイルシステムはスキャンされますが、存在する場合の基盤となるGitリポジトリはスキャンされません。
ccs1d055c542dbdb6e7b96279d4df03ea9b556eb27aCcs出力は、付属の ccs2sarif.py スクリプトを使用してSARIF形式に前処理する必要があります。
cq011697a9e371e37a6ac9f714b3980672bc6108e7CQ出力は、付属の cq2sarif.py スクリプトを使用してSARIF形式に前処理する必要があります。CQ出力はノイズが多い可能性があるため、秘匿化作業を別途実行するか、CQファイルがディレクトリ内で最後に来るようにファイル名を付けることをお勧めします。
BinDetect他のテキスト指向ツールでは通常見逃されるバイナリファイルを検出する組み込みツール。

SARIF出力のバリエーションのため、将来のバージョンのツールで生成された出力が正しく動作しない可能性があります。

依存関係

依存関係は requirements.txt ファイルに記載されています。簡単に言うと、以下のパッケージが必要です。

パッケージ

使用方法

コマンドラインでの使用方法

事前に生成されたツール出力を使用する

root@kitploit:~
$ python secretscrub.py --input <path> --srcdir <path> --outdir <path> [--report <path>]

ツールの呼び出し

root@kitploit:~
$ python secretscrub.py --analyse-with <analysis-tool-list> --srcdir <path> --outdir <path> [--report <path>]

注: これらのツールが機能するには、現在のシステムに存在し、インストールされている必要があります。

Dockerコンテナ

このソースツリーからビルドされたDockerイメージには、SecretScrubツールと、Trivy、GitLeaks、ccs、cqツールのコピーが含まれています。

secretscrub:latest というタグでビルドされている場合、次のコマンドは付随するレポート付きで完全な分析および秘匿化作業を開始します。

root@kitploit:~
sudo docker run -it -v <source-path>:/src:ro -v <output-path>:/out secretscrub:latest --analyse-with trivy,gitleaks,bindetect

これにはコンテナ内で2つのボリュームをマッピングすることが含まれることに注意してください。1つ目 -- <source-path> -- には元の未秘匿化のソースコードが含まれている必要があります。2つ目 -- <output-path> -- には秘匿化された出力とレポートが格納されます。

推奨ワークフロー

以下の例では、ソースが src という名前のサブディレクトリに保存され、SecretScrubが tools という名前のサブディレクトリにインストールされていることを前提としています。

コマンドラインを使用する

root@kitploit:~
$ python tools/secretscrub.py --analse-with trivy,gitleaks,bindetect --srcdir src --outdir src-redacted

Dockerコンテナを使用する

root@kitploit:~
sudo docker run -it -v <source-path>:/src:ro -v <output-path>:/out secretscrub:latest --analyse-with trivy,gitleaks,bindetect
ツールをダウンロード
バージョン
asn12.7.0
filetype1.2.0
py7zr0.20.5
pyzipper0.3.6
regex2023.5.5
sarif-tools1.0.0
パラメータ説明
input処理対象のSARIF結果の場所。サポートされている異なるツールで生成された複数のSARIFファイルを含めることができます。
srcdir処理対象のCQ結果を生成するためにスキャンされた元のソースコードの場所。
outdir秘匿化されたソースファイルが保存される場所。
placeholder検出されたすべてのシークレットの代わりに挿入するプレースホルダー。以下の置換を使用できます。
- ${tool} シークレットの検出に使用されたツールの名前
- ${rule} シークレットの検出に使用されたルールの名前
- ${regex} シークレットの検出に使用されたルールに関連する正規表現
- ${yaml} (既知の場合)シークレットの検出に使用されたツールとルールの名前のみを含むYAMLフロースタイル構造
- ${yaml_regex} (既知の場合)シークレットの検出に使用されたツールとルールの名前、および正規表現を含むYAMLフロースタイル構造
process-archivesスイッチを示す
reportスクラブされたシークレットの詳細を含む、生成されるCSVレポートの場所と名前。
report-encryptionレポートファイルが生成された場合に使用する暗号化方式。指定可能な値: none, zip-aes256。デフォルト: zip-aes256
log-levelツールの出力に使用されるログレベル。指定可能な値: critical, fatal, error, warning, info, debug。デフォルト: info
パラメータ説明
analyse-with呼び出すツールのカンマ区切りリスト。これには次のいずれかを含めることができます: trivy, gitleaks, ccs, cq, bindetect
srcdir処理対象のCQ結果を生成するためにスキャンされた元のソースコードの場所。
outdir秘匿化されたソースファイルが保存される場所。
placeholder検出されたすべてのシークレットの代わりに挿入するプレースホルダー。以下の置換を使用できます。
- ${tool} シークレットの検出に使用されたツールの名前
- ${rule} シークレットの検出に使用されたルールの名前
- ${regex} シークレットの検出に使用されたルールに関連する正規表現
- ${yaml} (既知の場合)シークレットの検出に使用されたツールとルールの名前のみを含むYAMLフロースタイル構造
- ${yaml_regex} (既知の場合)シークレットの検出に使用されたツールとルールの名前、および正規表現を含むYAMLフロースタイル構造
reportスクラブされたシークレットの詳細を含む、生成されるCSVレポートの場所と名前。
report-encryptionレポートファイルが生成された場合に使用する暗号化方式。指定可能な値: none, zip-aes256。デフォルト: zip-aes256
log-levelツールの出力に使用されるログレベル。指定可能な値: critical, fatal, error, warning, info, debug。デフォルト: info
ツールコメント
Trivytrivy コマンドがインストールされ、パス上でアクセス可能である必要があります。
GitLeaksgitleaks コマンドがインストールされ、パス上でアクセス可能である必要があります。
ccsccs.py ファイルは、secretscrub.py ファイルを含むディレクトリ内の ccs という名前のサブディレクトリに配置されている必要があります。
cqcq.py と fn.py ファイルは、secretscrub.py ファイルを含むディレクトリ内の cq という名前のサブディレクトリに配置されている必要があります。
bindetectこれは現在secretscrubに含まれており、追加のインストールは必要ありません。