
Deepfence SecretScannerはコンテナイメージやファイルシステム内の保護されていないシークレットを検出できます。
シークレットとは、許可されたユーザーに、重要なITインフラ(アカウント、デバイス、ネットワーク、クラウドベースのサービスなど)、アプリケーション、ストレージ、データベース、その他組織にとって重要なデータへのアクセス権限を与える、あらゆる種類の機密またはプライベートなデータです。例えば、パスワード、AWSアクセスID、AWSシークレットアクセスキー、Google OAuthキーなどがシークレットです。シークレットは厳密にプライベートに保つ必要があります。しかし、セキュリティポリシーの欠陥や開発者の不注意なミスにより、攻撃者が簡単にシークレットにアクセスできる場合があります。特にCI/CDパイプラインでの迅速な開発・デプロイサイクルにおいて、開発者がデフォルトのシークレットを使用したり、パスワード、APIキー、暗号化キー、SSHキー、トークンなどのハードコードされたシークレットをコンテナイメージに残したりすることがあります。また、ユーザーがパスワードを平文で保存することもあります。シークレットが不正なエンティティに漏洩すると、組織とインフラに深刻なセキュリティリスクをもたらす可能性があります。
Deepfence SecretScannerは、ユーザーがコンテナイメージやホスト上のローカルディレクトリをスキャンし、見つかったすべてのシークレットの詳細を含むJSONファイルを出力するのに役立ちます。
詳細については、ブログをご覧ください。
コンテナイメージやファイルシステムをスキャンして可能性のあるシークレット(キー、トークン、パスワード)を検出するための軽量で効率的な方法が必要な場合は、SecretScannerを使用してください。その後、これらの可能性のある「シークレット」をレビューし、本番デプロイメントから削除すべきものがあるかどうかを判断できます。
完全な手順については、SecretScannerドキュメントを参照してください。
Dockerをインストールし、以下の手順に従ってSecretScannerをコンテナイメージ上で実行します:
./bootstrap.sh
docker build --rm=true --tag=quay.io/deepfenceio/deepfence_secret_scanner_ce:2.5.8 -f Dockerfile .
docker pull quay.io/deepfenceio/deepfence_secret_scanner_ce:2.5.8
docker pull node:8.11
docker run -i --rm --name=deepfence-secretscanner \
-v /var/run/docker.sock:/var/run/docker.sock \
quay.io/deepfenceio/deepfence_secret_scanner_ce:2.5.8 \
--image-name node:8.11 \
--output json > node.json
shhgitプロジェクトの設定ファイルを基に構築しています。
SecretScannerをご利用いただきありがとうございます。
SecretScannerプロジェクトにおけるセキュリティ関連の問題については、productsecurity at deepfence dot ioまでご連絡ください。
必要に応じてGitHub Issueを報告し、DeepfenceコミュニティのSlackチャンネルに参加してください。
このツールはハッキング目的で使用することを意図していません。あなた自身が所有するインフラ上でのシークレット検出など、正当な目的にのみ使用してください。他者のインフラでは使用しないでください。DEEPFENCEは、SecretScannerのいかなる目的または使用に対する不適合、あるいはその欠陥または不備により直接的または間接的に引き起こされる可能性のある、利益損失、事業損失、その他の金銭的損失、その他の損失または損害について一切の責任を負いません。