GitHub リポジトリにパスワード、秘密キー、機密情報などの機密情報が含まれているかどうかを確認します。
GitHub はコードをホストし共有するために何百万ものユーザーによって使用されています。これは素晴らしいことですが、場合によっては、開発者やコードの所有者が誤って機密情報をパブリック リポジトリにダンプしてしまい、大惨事になる可能性があります。
GitHub上で機密データが漏洩する事件が多発しています。人的エラーをなくすことはできませんが、それを減らすための行動をとることはできます。
リポジトリにパスワードやキーが含まれていないことを確認するにはどうすればよいでしょうか?
簡単な答えは、保管しないことです。
ベスト プラクティスとして、機密管理ソフトウェアを使用してすべての機密情報を保存する必要があります。
しかし実際には、チームで働く場合、他の人の行動をコントロールすることはできません。
ところで、Git を使用してアプリケーションの初期化とデプロイを行うと、
.git
フォルダーが作成され、インターネット経由でアクセスできる場合は機密の確認が公開される可能性があります。これは望ましくないため、.git URI をブロックすることを検討する必要があります。
次の解決策は、リポジトリ内の間違いを見つけるのに役立ちます。
シークレットスキャン
GitHub の シークレット スキャン 機能は、コード内に隠された偶発的なシークレットを検出し、データ漏洩や侵害を防ぐ強力なツールです。パブリック リポジトリとプライベート リポジトリの両方でシームレスに動作し、隅々まで注意深く調べて、漏洩した秘密を明らかにします。
しかし、その機能は継続します。秘密が発見されると、GitHub は各サービス プロバイダーに警告を発し、潜在的なリスクを迅速に軽減するよう促すことで事前の対策を講じます。プライベート リポジトリに関しては、GitHub は組織の所有者または管理者に通知することでさらに努力し、チーム内の適切な個人が状況を直ちに認識できるようにします。
継続的な可視性を提供するために、警告はリポジトリ内で目立つように表示され、あなたとあなたのチームが迅速に行動を起こすための明確な信号として機能します。 GitHub のシークレット スキャン機能は、あなたの警戒心の強い味方として機能し、どんな秘密も見逃されず、プロジェクトの安全性が保たれるよう熱心に取り組んでいます。
機密情報が保護されていることを確認しながら、自信を持ってシークレット スキャンとコーディングのパワーを活用してください。
Git シークレット
git-secrets を紹介します。これは、Git リポジトリに誤ってシークレットを追加するという恥ずかしさから私たちを救ってくれるツールです。コミット、コミットメッセージ、マージをスキャンして、コード内の秘密漏洩を防ぎます。
Windows で開始するには、install.ps1 PowerShell スクリプトを実行するだけです。必要なファイルをインストール ディレクトリにコピーし、ユーザー PATH に追加します。これにより、開発環境のどこからでも git-secret に簡単にアクセスできるようになります。
git-secrets をインストールすると、監視の守護者となり、コミット、コミット メッセージ、またはマージ履歴が設定された禁止パターンと一致するかどうかをチェックします。一致が検出された場合はコミットを拒否し、機密情報が漏洩するのを防ぎます。

リポジトリのルート ディレクトリにある .gitallowed ファイルに正規表現パターンを追加して、git-secret を微調整できます。これにより、警告をトリガーする可能性があるが正当な行をフィルタリングして、セキュリティと利便性の適切なバランスを保つことができます。
ファイルをスキャンすると、git-secrets は禁止されたパターンに一致するすべての行を抽出し、ファイル パス、行番号、一致した行などの詳細情報を提供します。また、一致した行が登録された許可されたパターンと一致するかどうかもチェックされます。許可されたパターンがすべてのフラグ付き行をキャンセルする場合、コミットまたはマージは安全であるとみなされます。ただし、一致した行が許可されたパターンと一致しない場合、git-secrets はプロセスをブロックします。

git-secret を使用するときは注意が必要です。禁止されるパターンが広すぎてはならず、許可されるパターンが許容しすぎてもいけません。 git Secret –scan $filename へのアドホック呼び出しを使用してパターンをテストすると、パターンが意図したとおりに動作することが確認されます。
git の秘密をさらに詳しく知りたい場合、またはその開発に貢献したい場合は、 GitHub でプロジェクトを見つけることができます。これはコミュニティへの貢献を奨励するオープンソース プロジェクトです。コミュニティに参加して変化を起こしましょう!
git-secret を使用すると、偶発的なシークレットによってプロジェクトが危険にさらされることがないため、自信を持ってコーディングできます。このツールを活用して、機密情報を安全に保ちましょう。
リポスーパーバイザー
このエキサイティングなニュースがあります。Repo -supervisor は、 コード内のシークレットとパスワードを検出する強力なツールです。インストールは簡単です。Webhook を GitHub リポジトリに追加するだけです。 Repo-supervisor は、GitHub 上のプル リクエストをスキャンするか、コマンド ラインからローカル ディレクトリをスキャンする 2 つのモードを提供します。最適なモードを選択してください。
git-secret の旅を始めるには、GitHub リポジトリにアクセスして最新のリリースをダウンロードするだけです。そこでは、AWS Lambda デプロイメントとユーザーフレンドリーな CLI モードに合わせて調整されたバンドルを見つけることができます。 CLI モードでは、追加のセットアップなしですぐに使用できますが、プル リクエスト モードでは AWS Lambda にデプロイする必要があります。ニーズに合ったオプションを選択し、git-secret の力を利用してコードベースのセキュリティを強化してください。

CLI モードでは、引数としてディレクトリを指定すると、Repo-supervisor がサポートされているファイル タイプをスキャンし、そのタイプに固有のトークナイザーを使用して各ファイルを処理します。抽出された文字列に対してセキュリティ チェックを実行し、プレーン テキストまたは JSON 形式で明確なレポートを提供します。
プル リクエスト モードの場合、Repo-supervisor は Webhook ペイロードを処理し、変更されたファイルを抽出し、抽出された文字列に対してセキュリティ チェックを実行します。問題が見つかった場合は、CI ステータスをエラーに設定し、レポートにリンクします。問題がない場合は、CI ステータスが成功したことを意味します。
Repo-supervisor は、シークレットとパスワードを安全に保つ素晴らしいコード インスペクターです。これにより、私たちの職業生活において非常に重要なコードベースの整合性が保証されます。
Repo-supervisor を試してみてください。これをインストールし、Webhook を構成し、シークレットとパスワードをスキャンさせます。追加のセキュリティ層をお楽しみください。
トリュフホッグ
Truffle Hog という素晴らしいツールを紹介させてください。これを、リポジトリ内に潜む機密情報の痕跡を熱心に嗅ぎつける、忠実なコード コンパニオンであると考えてください。 Truffle Hog は、プロジェクトの歴史を深く掘り下げ、API キーやパスワードなどの貴重な秘密の漏洩の可能性を注意深くスキャンする達人です。
このツールは、高エントロピー チェックと正規表現パターンを豊富に備えており、これらの隠された宝物を発掘し、コードの安全性を確保することができます。機密漏洩に別れを告げ、Truffle Hog の用心深い保護を受け入れてください。
そしてここが最良の部分です。Truffle Hog の最新バージョンには、多くの新しい強力な機能が満載されています。現在、それぞれの API に対してアクティブに検証する 700 を超える認証情報検出器を備えています。 GitHub、GitLab、ファイルシステム、S3、GCS、Circle CI のスキャンもサポートしているため、非常に多用途です。

それだけでなく、TruffleHog は、最先端の Driftwood テクノロジーを使用して、数百万の GitHub ユーザーおよび数十億の TLS 証明書に対する秘密キーの即時検証をネイティブ サポートしています。バイナリやその他のファイル形式もスキャンできるため、あらゆる手段を講じることができます。
さらに、TruffleHog は GitHub アクションとコミット前フックの両方として利用でき、開発ワークフローにシームレスに統合できます。便利でユーザーフレンドリーになるように設計されており、不必要な手間をかけずに追加のセキュリティ層を提供します。
ツールキットに Truffle Hog が含まれていると、コードを偶発的な公開から確実に保護し、秘密を守り続けることができます。 Truffle Hog を試してみて、プロジェクトを保護する魔法の働きを体験してください。
ギットハウンド
GitHound は、 GitHub コード検索、パターン マッチング、コミット履歴検索を活用することで、他のツールの制限を超えています。特定のリポジトリ、ユーザー、組織だけでなく、GitHub 全体を検索できます。なんてクールなんでしょう?
それでは、その素晴らしい機能について詳しく見ていきましょう。 Git Hound は GitHub/Gist コード検索を利用し、GitHub の広大な範囲に散在し、誰でもアップロードした機密情報を正確に特定できます。それは、潜在的な脆弱性を発見するための宝の地図を持っているようなものです。
しかし、GitHound はそこで終わりません。パターン マッチング、コンテキスト情報、文字列エントロピーを利用して機密データを検出します。さらにコミット履歴を深く掘り下げて、不適切に削除されたシークレットを見つけ出し、あらゆる手段を講じます。
作業を簡素化するために、GitHound には、一般的な誤検知を除外し、集中的なリポジトリ掘り出しの検索を最適化するスコアリング システムが組み込まれています。時間と労力を節約できるように設計されています。
そして、何だと思いますか? Git Hound には、base64 検出およびデコード機能が装備されています。 Base64 形式でエンコードされた隠された秘密を明らかにし、機密情報の探索にさらなる優位性をもたらします。

さらに、GitHound は、GitHound を大規模なシステムに統合するオプションを提供します。特定のニーズに応じて JSON 出力を生成し、正規表現をカスタマイズできます。重要なのは柔軟性と、その基礎の上に構築できるようにすることです。
次に、その興味深い使用例について話しましょう。企業の世界では、公開された顧客 API キーを検索する際に GitHound が非常に貴重になります。機密情報を保護し、最高レベルのセキュリティを保証します。
バグ賞金稼ぎにとって、Git Hound はゲームチェンジャーです。これにより、漏洩した従業員 API トークンを検索できるようになり、脆弱性を発見して当然の報奨金を獲得できるようになります。 Git Houndってすごいですよね?
ギトリークス
Gitleaks は あなたの生活を楽にするように設計されています。これは、コードの過去または現在に埋もれているシークレットを検出する、使いやすいオールインワン ソリューションです。プロジェクト内のパスワード、API キー、またはトークンが公開されるリスクに別れを告げましょう。
Gitleaks のインストールは簡単です。好みに応じて、Homebrew、Docker、または Go を使用できます。さらに、柔軟な実装オプションも提供します。リポジトリ内で直接コミット前フックとして設定したり、Gitleaks-Action を利用して GitHub ワークフローにシームレスに統合したりできます。すべては自分に最適なセットアップを見つけることです。

ここで、Gitleaks が提供するコマンドについて話しましょう。まず、「検出」コマンドがあります。この強力なコマンドを使用すると、リポジトリ、ディレクトリ、および個々のファイルをスキャンできます。自分のマシンで作業している場合でも、CI 環境で作業している場合でも、Gitleaks がサポートします。これにより、秘密が隙間から漏れることはなくなります。
しかし、それだけではありません。 Gitleaks は「protect」コマンドも提供します。このコマンドは、Git リポジトリ内の明示的にコミットされていない変更をスキャンします。これは最後の防御線として機能し、秘密が不用意に漏洩されるのを防ぎます。これは、コードをクリーンで安全に保つための安全策です。
業界で信頼できる名前である Tines は、Gitleaks のスポンサーです。彼らのサポートにより、Gitleaks は進化と改善を続け、最高の秘密検出機能を提供します。
ですから、若いプロフェッショナルの皆さん、秘密によってプロジェクトが危険にさらされないようにしてください。インストールして設定し、リポジトリのスキャンと保護という大変な作業を実行させます。
リポジトリセキュリティスキャナ
リポジトリ セキュリティ スキャナーは、 Git リポジトリ内で誤ってコミットされた機密データ (パスワード、トークン、秘密キー、その他の機密情報など) の識別を支援するために設計された非常に貴重なコマンド ライン ツールです。
この強力なツールを使用すると、コードベースに機密情報が意図せず含まれることによって生じる潜在的なセキュリティ脆弱性を積極的に検出して対処できます。リポジトリ セキュリティ スキャナを採用すると、リポジトリの整合性を確保し、機密データを不正アクセスから保護できます。

Repo Security Scanner は、リポジトリ全体の履歴を簡単に調査し、包括的なスキャン結果を迅速に表示します。徹底的なスキャンを実施することで、オープンソース ソフトウェアの機密情報の漏洩によって生じる可能性のある潜在的なセキュリティ脆弱性を積極的に特定し、迅速に対処できるようになります。
Git ガーディアン
GitGuard ian は、開発者、セキュリティ、コンプライアンス チームが GitHub アクティビティをリアルタイムで監視し、API トークン、セキュリティ証明書、データベース資格情報などの公開されたシークレットによる脆弱性を特定できるようにするツールです。
GitGuardian を使用すると、チームはプライベート コードやパブリック コード、その他のデータ ソースにセキュリティ ポリシーを適用できます。
GitGuardian の主な機能は次のとおりです。
- このツールは、プライベート ソース コード内の秘密などの機密情報を見つけるのに役立ちます。
- パブリック GitHub 上の機密データ漏洩を特定して修正します。
- これは、効果的かつ透過的で、セットアップが簡単な秘密検出ツールです。
- リスクにさらされているほとんどすべての機密情報をカバーする、より広い範囲と包括的なデータベース。
- 発見プロセスと有効性を向上させる、洗練されたパターン マッチング技術。
結論
この記事で、GitHub リポジトリ内の機密データを見つける方法について理解していただければ幸いです。 AWS を使用している場合は、この記事を参照して、AWS のセキュリティと構成ミスを調べてください。あなたのプロフェッショナルライフを向上させる、さらにエキサイティングなツールにご期待ください。楽しくコーディングして、秘密はしっかりと守りましょう。 🔒