Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SEDATED — SEDATED® Project(機密性の高いエンタープライズデータの開示を排除するための分析ツール) | Kitploit
ツール/GitHubGitHub/owasp/sedated
脆弱性スキャナーコード分析構成監査DevSecOpsシークレット検出サプライチェーンセキュリティ
GitHubowasp/sedated

SEDATED

SEDATED® Project(機密性の高いエンタープライズデータの開示を排除するための分析ツール)

リポジトリを見る
11035196年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

SEDATED_logo_full

The SEDATED® Project (Sensitive Enterprise Data Analyzer To Eliminate Disclosure) focuses on preventing sensitive data such as user credentials and tokens from being pushed to Git.

目次

  • 目的
  • セットアップ
    • SEDATED® をクローンする
    • .example ファイルを更新する
    • /config/custom_configs.sh の変数と関数をカスタマイズする(必要に応じて)
    • 組織固有の実装で SEDATED® をプッシュする
    • pre-receive フックを SEDATED® の pre-receive.sh ファイルにポイントする
  • ローカルテスト
  • ファイルの説明
    • pre-receive.sh
    • /config/custom_configs.sh
    • /config/enforced_repos_list.txt
    • /config/regexes.json
    • /config/whitelists/commit_whitelist.txt
    • /config/whitelists/repo_whitelist.txt
    • /testing/regex_testing/regex_test_script.sh
    • /testing/regex_testing/test_cases.txt
  • カスタマイズ
    • カスタム変数
    • カスタム関数
  • 互換性
    • GitHub
    • GitLab
    • Git
    • その他の Git SCM ツール
  • 貢献
  • 著作者
  • ライセンス

目的

今日の CICD 環境で必要とされる無数のコード変更に伴い、開発者は機密情報を意図せず含むコードを絶えずプッシュしています。この潜在的な機密データの露出は組織にとって大きなリスクです(2017 OWASP Top Ten #3 - 機密データの露出)。SEDATED® は、すべての受信コード変更を自動的にレビューし、開発者に即座にフィードバックを提供することでこの問題に対処します。機密データを検出した場合、コミットが Git サーバーにプッシュされるのを防ぎます。

**注記: SEDATED® がスキャンするのは、コミットプッシュ内で追加または変更された行(パッチファイル内で + で始まる行)のみです。コミットプッシュ内で削除される行(パッチファイル内で - で始まる行)は SEDATED® ではスキャン されません。

セットアップ

1. SEDATED® をクローンする

git clone https://github.com/OWASP/SEDATED.git

cd SEDATED/

2. .example ファイルを更新する

cp /config/whitelists/commit_whitelist.txt.example /config/whitelists/commit_whitelist.txt

cp /config/whitelists/repo_whitelist.txt.example /config/whitelists/repo_whitelist.txt

cp /config/enforced_repos_list.txt.example /config/enforced_repos_list.txt

3. /config/custom_configs.sh の変数と関数をカスタマイズする(必要に応じて)

4. 組織固有の実装で SEDATED® をプッシュする

組織固有の SEDATED® 実装を、組織の希望する Git リポジトリ(GitHub、GitLab、Git など)にプッシュします。

5. pre-receive フックを SEDATED® の pre-receive.sh ファイルにポイントする

GitHub Enterprise インスタンスでこれを実行する手順は、GitHub_Enterprise_Setup.md にあります。

ローカルテスト

  • GitHub Docker セットアップ - ローカルテスト用に pre-receive フックを有効にした Git サーバーとして動作する GitHub Docker コンテナをセットアップするための一般的な手順。
    • SEDATED® が設計どおりに機能するようにするには、いくつかの変更が必要です。
      • always_reject.sh は SEDATED® の pre-receive.sh スクリプトに置き換える必要があります。
      • SEDATED® に付属するファイル/フォルダ構造を同じディレクトリに含めるか、pre-receive.sh スクリプトからアクセスできるようにする必要があります。
      • 追加の微調整も必要になる場合がありますが、上記のリンク先の手順はローカルテストの良い出発点です。

ファイルの説明

pre-receive.sh
  • SEDATED® の心臓部であり核心です。
  • SEDATED® の regexes(config/regexes.json)と組み合わせて使用される SEDATED® pre-receive Git フックスクリプトは、Git インスタンスにプッシュされる追加/変更されたコード行のうち、ハードコードされた認証情報/機密データ(config/regexes.json で識別される)を含む行を特定し、ハードコードされた認証情報/機密データを含む行が見つかった場合、プッシュを拒否します。
/config/custom_configs.sh
  • pre-receive.sh と組み合わせて使用される SEDATED® カスタム設定ファイルです。pre-receive.sh からソースされる組み込みのカスタマイズ可能な変数と関数を提供することで、組織は SEDATED® の pre-receive.sh ファイル内のソースコードを変更することなく、SEDATED® 実装をカスタマイズできます。
/config/enforced_repos_list.txt
  • SEDATED®(pre-receive フック)の config/custom_configs.sh 内の use_enforced_repo_check_custom フラグが "True" に設定されている場合に使用されます。
  • エンタープライズ全体で SEDATED® を「有効」にしつつ、このファイルにリストされているリポジトリにのみ選択的に「適用」できます。
  • 特定の組織またはユーザー名配下のすべてのリポジトリに適用するには、適用したい組織またはユーザー名の末尾に /* を追加します。
  • 組織内で SEDATED® がグローバルに有効になっていて、リポジトリが /config/enforced_repos_list.txt ファイルに含まれていない場合、プッシュする人(コマンドラインからプッシュしている場合)はカスタマイズ可能なメッセージ(/config/custom_configs.sh ファイルでカスタマイズ)を表示され、SEDATED® はプッシュに含まれるコードを一切スキャンしません。
  • この機能を有効/無効にするフラグは /config/custom_configs.sh にあり、"True" または "False" に設定できます。
    • "False" - SEDATED® が「有効」なすべてのリポジトリに SEDATED® が「適用」されます。
    • "True" - SEDATED® が「有効」かつ /config/enforced_repos_list.txt にリストされているリポジトリにのみ SEDATED® が「適用」されます。それ以外の SEDATED® が「有効」であっても /config/enforced_repos_list.txt ファイルにリストされていないリポジトリからのプッシュでは、カスタムメッセージが表示されるだけで、コードはスキャンされません。
  • このファイルは空でも構いません。config/custom_configs.sh の use_enforced_repo_check_custom フラグが "True" に設定されている場合にのみ存在する必要があります。
/config/regexes.json
  • 機密データ/ハードコードされた認証情報をフラグ付けするために使用される正規表現(regexes)が含まれています。
  • これらの正規表現は、pre-receive.sh 内の GNU grep が -P フラグを指定して使用し、Perl 互換正規表現(PCRE)として扱われます。
  • 必要に応じてこのファイルに正規表現を追加/削除できます。ただし、/testing/regex_testing/regex_test_script.sh スクリプトを利用する場合は、更新された正規表現に関連するテストケースを追加/削除して /testing/regex_testing/test_cases.txt ファイルを更新する必要があります。これにより、/testing/regex_testing/regex_test_script.sh の結果が正確になります。
  • このファイルに正規表現を追加/変更する場合、このファイルは JSON 形式のため、目的の正規表現によっては追加のエスケープ文字 \ が必要になる場合があります。
/config/whitelists/commit_whitelist.txt
  • 誤検知が発生した場合に使用されます。このファイルにコミット ID が含まれている場合、1 つ以上のコミットをスキャン処理から除外できます。
  • コミット ID は、/config/whitelists/commit_whitelist.txt.example ファイルに示されているように、このファイルでは改行区切りにする必要があります。
  • このファイルは空でも構いませんが、存在する必要があります。
任意: 誤検知に遭遇した開発者には、レビューのためにこの(commit_whitelist.txt)ファイルへのプルリクエストを提出するよう依頼してください。
/config/whitelists/repo_whitelist.txt
  • このファイルに含まれる (organization/username)/repository は、このリストから削除されるまで、機密データ/ハードコードされた認証情報のスキャンから完全に除外されます。
  • 大規模なプッシュ(たとえばリポジトリ移行)で、SEDATED® がプッシュに含まれる新規/変更コードを 5 秒のウィンドウ内でスキャンできない場合に使用されます(5 秒のウィンドウは GitHub 固有であり、他の Git インスタンスでは異なる場合があります)。
  • (organization/username)/repository 名は、/config/whitelists/repo_whitelist.txt.example ファイルに示されているように、このファイルでは改行区切りにする必要があります。
  • このファイルは空でも構いませんが、存在する必要があります。
/testing/regex_testing/regex_test_script.sh
  • testing/regex_testing/test_cases.txt と組み合わせて使用する SEDATED® 正規表現テストスクリプトは、config/regexes.json 内の正規表現が有効であり、意図したパターンに一致すること、また意図したとおりに除外/不一致となることをテスト/検証するための、シンプルで迅速なオフライン方法です。
    • テストケースのリスト(/testing/regex_testing/test_cases.txt)に対して正規表現をテストし、正規表現が期待どおりに機能することを確認します。
    • ポジティブテストケースとネガティブテストケースの両方のテストを含みます(/testing/regex_testing/test_cases.txt)。
    • スクリプトを実行するときは GNU grep を使用する必要があります。使用しないとスクリプトは失敗します(BSD grep には -P フラグがありません)。
    • このスクリプトで使用するテストケースは /testing/regex_testing/test_cases.txt から取得されます。
/testing/regex_testing/test_cases.txt
  • /testing/regex_testing/regex_test_script.sh に渡して使用するテストケースのリストです。
  • 各テストケースには >>pass または >>fail が付加されており、これにより /testing/regex_testing/regex_test_script.sh スクリプトは正規表現の期待結果を認識します。
    • >>pass は、前述の文字列を含むプッシュが SEDATED® によって受け入れられることを意味します(つまり、正規表現は前述の文字列をフラグ付けしません)。
    • >>fail は、前述の文字列を含むプッシュが SEDATED® によって拒否されることを意味します(つまり、正規表現は前述の文字列をフラグ付けします)。
ツールをダウンロード