監視対象リポジトリについて生成された脅威モデルに、セキュリティ上の前提条件やデプロイ環境の情報が不足している場合は、モデルを更新します。このガイドは Codex Security クラウドを対象としています。ローカルプラグインのポリシーについては、スキャンの設定を参照してください。
脅威モデルとは
脅威モデルは、リポジトリ内のコードがどのように動作するかをセキュリティの観点から簡潔にまとめたものです。Codex Security はコードをもとに初稿を作成し、以降のコミットスキャンでどこを調べるか、検出結果のうちどれを優先するかを判断するために使います。
脅威モデルには、次の内容を記載します。
- エントリポイントと、そこに入力を送ることができる利用者やシステム
- 信頼境界と、認証や認可に関する前提条件
- 機密データと、特権を必要とする操作
- 特に注意が必要な箇所
たとえば、次のように記述します。
公開アカウント API は、認証済みユーザーからの JSON リクエストとファイルのアップロードを受け付けます。ユーザーが変更できるのは、自分のテナントに属するアカウントだけです。呼び出し元の認証は ID サービスが行いますが、対象テナントへのアクセス権は各ハンドラーで確認する必要があります。請求に関する変更は、特権を持つ内部サービスを経由します。テナントへのアクセス権の確認が抜けている箇所と、その内部サービスに到達しうるアップロード経路を優先して調べてください。
確証のない前提条件は、その旨を明記してください。たとえば、評価対象のデプロイ環境で実際に内部からのアクセスだけに制限されている場合に限り、そのエンドポイントを「内部専用」と記述します。
脅威モデルの編集
- Codex Security クラウドのプラグインを開きます。プラグインのインストールやコミット監視の設定がまだの場合は、クラウドのセットアップを参照してください。
- リポジトリを開き、監視対象のリポジトリを選択します。
- 監視設定を開きます。
- 脅威モデルを編集し、保存を選択します。
変更は以降のスキャンに適用されます。
認証の仕組み、テナントの境界、公開しているサービスのいずれかが変わったら、脅威モデルを見直してください。デプロイ環境について確認できている事実と、スキャンで優先して調べる項目は分けて記載します。