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

AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装し...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource

Avatar for アキキー | Akihisa Ikeda

アキキー | Akihisa Ikeda

September 30, 2026

More Decks by アキキー | Akihisa Ikeda

Other Decks in Programming

Transcript

  1. Continuumコードスキャニングとは? Continuum(Security Agentが改名)の機能の1つ AIエージェントがソースコードをスキャンして脆弱性を検出する機能 フルリポジトリスキャン リポジトリ スキャン結果 GitHub GitLab Bitbucket

    High リポジトリ全体を読む Continuum コードスキャニング 旧AWS Security Agent など Create a code review - AWS Security Agent (now part of AWS Continuum) 脆弱性と修正案を出す 例 SQLインジェクション src/db/query.ts:42 - query(`... id = ${id}`) + query("... id = ?", [id]) Medium ハードコードされた 秘密情報 config/app.ts:8 https://docs.aws.amazon.com/securityagent/latest/userguide/perform-code-review-scan.html
  2. Continuumコードスキャニングとは? リソース構成 GitLab アクセストークン AWS Continuum (旧AWS Security Agent) 接続

    Integration GitLabと接続する CloudFormation未対応 リポジトリ CodeReviewがスキャンする AgentSpace CloudFormation対応 Continuumが管理するアプリの単位 CodeReview CloudFormation未対応
  3. カスタムリソースとは? CloudFormationのライフサイクルに合わせてカスタムの処理を実行する仕組み カスタムリソース カスタムリソースを新規作成 Create カスタムリソースのプロパティを更新 Update CloudFormation のリソース カスタムリソースを削除

    APIを呼ぶ Lambda関数 API AWS・外部のAPI Delete CloudFormationが応答を待ち受ける カスタムリソースを使用してカスタムプロビジョニングロジックを作成する S3オブジェクト 実行結果を書き込む https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/template-custom-resources.html
  4. Continuumコードスキャニングのリソース構成 GitLab アクセストークン AWS Continuum (旧AWS Security Agent) 接続 Integration

    GitLabと接続する CloudFormation未対応 リポジトリ CodeReviewがスキャンする AgentSpace CloudFormation対応 Continuumが管理するアプリの単位 CodeReview CloudFormation未対応 → Integration・CodeReviewをカスタムリソースで定義します!
  5. AwsCustomResourceとは? CodeReviewの定義例 プロパティ カスタムリソース(AwsCustomResource) AWS SDKの呼び出しを渡す onCreate: action: CreateCodeReview parameters:

    {…} onUpdate: action: UpdateCodeReview parameters: {…} onDelete: action: BatchDeleteCodeReviews parameters: {…} CreateCodeReview Create CloudFormation のリソース Update Lambda関数 UpdateCodeReview CodeReview AwsCustomResourceが作成 Delete BatchDeleteCodeReviews
  6. プロバイダーフレームワークとは? Integrationの定義例 ※ 簡素化のためCreateイベントのみに省略 カスタムリソース(プロバイダーフレームワーク) ① トークンを取得 GetSecretValue プロパティ 自分で決めた値を渡す

    secretArn など… CloudFormation のリソース Create Lambda関数 Lambda関数 フレームワークが作成 自前で書く フレームワーク用 処理用 ② トークンを指定 CreateIntegration Secrets Manager アクセストークン Integration