2-2-1-2-シークレット管理 (Secrets-Management)
Last updated
Last updated
機密情報がリポジトリにプッシュされないようにするにはどのようにすればよいでしょうか?
これは の一つであり、 いくつかのバグバウンティの記事がこの種の問題に関連しています。たとえばハードコードされたクレデンシャルが誤ってプッシュされたなどです。
コミットやリポジトリをスキャンして、パスワード、秘密鍵、社外秘などの機密情報を検出する必要があります。 図のようなプロセスに従います。
理想的なアプローチは機密データがリポジトリにヒットする前に露出を検出して防止することです。 なぜならそれらは履歴に表示されるからです。コードホスティングプラットフォームの場合、シークレットはウェブ上に残り、 リポジトリから削除した後でも検索できます。
補完的なアプローチとしてはリポジトリをスキャンして機密情報を探し、それを削除することです。 クレデンシャルが漏洩した場合、それはすでに危険な状態であり、無効にすべきであることに注意してください。
既存のシークレットを検出する リポジトリ内の既存のシークレットを検索します。
プレコミットフックを使用する シークレットがコードベースに入ることを防ぐため。
パイプラインでシークレットを検出する
シークレットがハードコードされていないこと。
シークレットが暗号化解除されていないこと。
シークレットがソースコードに保存されていないこと。
コード履歴に不注意によるシークレットが含まれていないこと。
そうですね、最適な場所は pre-commit の場所です。これによりシークレットが実際にコードベースに入る前にインターセプトされ、開発者やコミットした人がメッセージを受け取ることができます。SAST IDE プラグイン を使用すると、開発者がセキュリティ構成ミスで安全でないコードを書くとすぐに IDE の警告が見つかるような問題を修正しようとしている際に便利です。もう一つの場所はビルドサーバーまたは build プロセスです。ビルドサーバーは既にコミットされているソースコードを取得して、ソースコードを解析します。新しいシークレットが含まれていたり、既知のシークレットが含まれていた場合にそのシークレットが実際に妥当性確認や監査されます。
ここではリポジトリを自動的にスキャンして機密情報を探すのに役立つツールを紹介します。 スキャンはパイプラインに直接実装でき、再現性と効率性に優れています。
オープンソース:
プロプライエタリソフトウェア:
- git リポジトリの機密情報を検索します
- シークレットとクレデンシャルを git リポジトリにコミットできないようにします
- コードのセキュリティ設定ミスをスキャンし、パスワードとシークレットを検索します
- git リポジトリから高エントロピー文字列とシークレットを検索し、コミット履歴を深く掘り下げます
- 機密データのコミットを防止する git プラグインです
- GitHub に組み込まれたシークレット検出用の機能です。
- ソースコードからシークレットを締め出します
- 開発者ファーストのクラウドセキュリティです
- シークレットを解き明かします
- GitHub はリポジトリをスキャンして既知の種類のシークレットを検出し、誤ってコミットされたシークレットの不正使用を防ぎます
- コード内のシークレットとクレデンシャルを防ぎます
- クラウド上のシークレットと鍵を見つけて保護します