Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CodeCommitでも 脆弱性診断がしたい!

Avatar for SPA SPA
May 30, 2026

CodeCommitでも 脆弱性診断がしたい!

JAWS-UG京都 DevOps Agentなど、DevOpsライフサイクルで生成AIを活用しよう
https://jawsug-kyoto.connpass.com/event/393981/

Avatar for SPA

SPA

May 30, 2026

More Decks by SPA

Other Decks in Technology

Transcript

  1. 自己紹介 長嶋 圭太 (SPA) (@spaspaspapoo) ・居住地: 兵庫→京都→札幌→東京→京都 ←イマココ! ・所属: NTT東日本株式会社

    ・ソフトウェアアーキテクト ・AWS: Japan All AWS Certifications Engineers(2024, 2025, 2026) 2
  2. え、CodeCommit、対象外なんですか…? ・Amazon CodeGuru Security ⇒ 廃止 ・Amazon Inspector Code Security

    ⇒ 対象外 (GitHub, Gitlab Self-Managed のみ) ・AWS Security Agent ⇒ 対象外 (GitHub のみ) こちとらGitHub使えないって言ってるのに、どうしろってのさ …… 5
  3. 無ければ作る! ・ちょうど、 Kiro Headlessモードが公開された (2026/04) ・ブラウザ認証なし、 APIキーで実行可能 ・利用可能なツール、エージェントなども指定可能 ・ $

    kiro-cli chat --no-interactive --agent code-reviewer “$PROMPT” . ⇒ Kiro を①Lambda上、②Codebuild上で動かして、 コードレビューをさせてみる 6
  4. AWS Cloud CodePipeline ECR ふんわり構成図 7 俺 PR検知 Lambda (PR

    自動レビュー) EventBridge CodeCommit PR作成 CodeBuild (セキュリティ分析) Manual Approval CodeCommit Image Kiro イメージデプロイ CodeCommit マージ 検知 マージ実行 ①プレマージ PRで起動、 コードレビュー&PRコメ ント PRコメント ②ポストマージ mainへのマージ時に起動、 セキュリティ分析の結果をもとに ・Low :自動マージ ・Middle :手動承認 ・High :マージ拒否 CodeCommit
  5. プレマージ:PR自動レビュー 12 ECR 俺 PR検知 PRを検知して、 Kiroが自動レビュー・コメント投稿 Lambda (PR 自動レビュー)

    EventBridge PR作成 Image Kiro イメージデプロイ CodeCommit ①プレマージ PRで起動、 コードレビュー&PRコメ ント PRコメント 500行以上のマージはパス
  6. ポストマージ:セキュリティ分析 + ゲート mainマージ後にリスクレベルでパイプラインを自動制御 17 CodePipeline ECR 俺 CodeCommit PR作成

    CodeBuild (セキュリティ分析) Manual Approval CodeCommit Image Kiro イメージデプロイ CodeCommit マージ 検知 マージ実行 ②ポストマージ mainへのマージ時に起動、 セキュリティ分析の結果をもとに ・Low :自動マージ ・Middle :手動承認 ・High :マージ拒否 CodeCommit
  7. ポストマージ:セキュリティ分析 + ゲート リスクの判断基準と対応 ・Low: ・『ドキュメント・コメントのみの変更』『テストコード(高リスクロジックを含まない場合)』  『UIや設定値の軽微な変更』など、明確に安全な変更 ⇒ 自動マージ(承認なし) ・High:

    ・『CVSS7.0以上の脆弱性』『機密情報ハードコード』など、明確に危険な変更 ・『認証・認可ロジックの変更』『 IAM関連の変更』などの危険を伴う変更において、アウトな変更 (例: Action: "*" のIAMポリシー追加) ⇒ 強制停止(承認なし) ・Middle: ・『認証・認可ロジックの変更』『 IAM関連の変更』などの危険を伴う変更で『High』でないもの (例: 最小権限の s3:GetObject のみのポリシー追加) (例: assume_role の呼び出し削除) ⇒ 手動承認ステージを挟む(フェイルセーフ) 18
  8. ポストマージ:セキュリティ分析 + ゲート 22 リスク:Middle risk_level: middle findings: ['認証・認可ロジックの変更 :

    validate_session_token関数と revoke_user_token関数が新規追加されています。セッショントークンの検証およ びトークン無効化ロジックであり、認証・セッション管理に関わる変更です。実装自 体に危険なパターンは見られませんが、認証ロジックの変更として中リスクに該 当します。'] SSM updated and SNS notification published (risk_level='middle').
  9. ポストマージ:セキュリティ分析 + ゲート 25 リスク:High Security gate FAILED (risk_level='high'). Pipeline

    stopped. risk_level: high findings: ['AWS秘密鍵のハードコード : AWS_SECRET_KEY および AWS_ACCESS_KEY が平文でソースコードに埋め込まれている。認証情報の漏 洩リスクが極めて高い。 ', '危険なIAMポリシー追加: grant_full_access_policy() が Action:"*" かつ Resource:"*" のフルアクセスポリシーを作成しており、権限昇 格や全リソースへの無制限アクセスを許可する。 ']