ファイルをスキャンして高エントロピー行を見つけるCLIツール Entropy
(github.com/EwenQuim)Entropy
Entropyは、コードベース内の高エントロピーな行をスキャンして秘密情報を見つけるCLIツール。
インストール方法
Goを使ったソースからのインストール(推奨)
go install github.com/EwenQuim/entropy@latestentropyコマンドを使用可能- 追加オプション:
entropy -h,entropy -top 20 -ext go,py,js,entropy -top 5 -ignore-ext min.js,pdf,png,jpg,jpeg,zip,mp4,gif my-folder my-file1 my-file2 - 1行インストール:
go run github.com/EwenQuim/entropy@latest
Brewを使ったインストール
- 作業進行中(WIP)
Dockerを使ったインストール
docker run --rm -v $(pwd):/data ewenquim/entropy /data- 追加オプション:
docker run --rm -v $(pwd):/data ewenquim/entropy -h,docker run --rm -v $(pwd):/data ewenquim/entropy -top 20 -ext go,py,js /data,docker run --rm -v $(pwd):/data ewenquim/entropy -top 5 /data/my-folder /data/my-file - Docker Hubでイメージを利用可能
-vオプションは現在のディレクトリをコンテナにマウントするために使用される- コマンドの末尾に
/dataを追加する必要がある。そうしないと、ツールはローカルファイルシステムではなくコンテナ内部を検索する
その他のプロジェクト
- Fuego: コードベースからOpenAPIドキュメントを生成するGoフレームワーク
- Renpy-Graphviz: Ren'Pyゲームエンジンの画面とラベルをグラフ化するツール
GN⁺の見解
- セキュリティ強化: コードベース内の秘密情報を自動的に見つけ出し、セキュリティ強化に役立つ可能性がある。
- 使いやすさ: 複数のインストール方法を提供しており、ユーザーは便利にツールを導入して利用できる。
- 類似ツール: 似た機能を提供するツールとしては、
git-secrets、truffleHogなどがある。 - 導入時の考慮事項: ツールを使う際はコードベースの規模や複雑さを考慮する必要があり、高エントロピーな行が必ずしも秘密情報を意味するとは限らない。
- 技術選定の利点と欠点: Entropyの導入によりセキュリティインシデントを防げる可能性がある一方で、誤検知(false positive)が発生することもあり、追加の確認が必要。
1件のコメント
Hacker Newsの意見
abcdに設定して問題を解決した。entプログラム: 長年使ってきたentプログラムを思い出させる。.gitignoreファイルを自動で読み込んで内容を除外するフラグや、さまざまなシークレット検出戦略を追加するとよいと提案している。