2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

2026年6月17日、AWS Summit New York にて AWS DevOps Agent に Release Management 機能(プレビュー)が追加されました。この機能は、PRに対して自動的にコードレビューを実行し、リリース可否を判定するというものです。

今回の記事ではRelease Management 機能のレビュー機能を検証した内容を記載しています。

公式発表

AWS DevOps Agent adds release management capabilities (AWS News Blog)

AWS DevOps Agent adds release management capability (What's New)

Release Management 機能とは

AWS DevOps Agent の Release Management 機能は、以下の3つの主要機能で構成されています:

  1. Release Readiness Code Review — 静的コード解析による包括的なレビュー
  2. Automated Verification Testing — コードをビルド・実行してテストする動的検証
  3. Release Testing — デプロイ済みアプリへの統合テスト(手動実行)

従来のコードレビューツールとの違い

項目 従来のツール(SonarQube等) AWS DevOps Agent
分析方法 静的解析のみ 静的解析 + 動的実行
レビュー範囲 コード品質 コード品質 + 依存関係 + セキュリティ + 実行時挙動
修正提案 問題の指摘 問題の指摘 + 具体的な修正コード例
カスタマイズ ルール設定 自然言語で観点を定義(Agent Instructions)
リリース判定 なし BLOCK / Caution / Safe の3段階判定

リリース判定の詳細

  • BLOCK:リリースを阻止すべき重大な問題
    • セキュリティ違反, ビルドエラー、コンパイルエラー, 依存関係の破壊, 重大なポリシー違反, クリティカルなアクセス制御の問題
  • Proceed with Caution:リスクがあるが、致命的ではない問題
    • 運用リスク(ハードコード名等), 技術的負債, パフォーマンスへの影響の可能性, マイナーなベストプラクティス違反
  • Safe to Release:重大な問題は検出されなかった

環境設定

パイプラインで設定

※2026年6月27日現在、日本の国内リージョンでは利用できません。バージニアリージョンをご利用ください。
AWS DevOpsエージェントのエージェントスペースの画面にある「パイプライン」から設定ができます。
パイプラインに設定したGitHubリポジトリを選択し、「編集」を選択します。

image.png

変更レビューの自動トリガーと自動検証テストのチェックボックスを有効化しておきます。

image.png

検証1:機密情報ログ出力(DevOpsエージェント任せのレビュー)

仕込んだ問題

以下のコードのように「password, api_key, token」などの機密情報をログに出力するコードを仕込んでいます。

// lambda/scenarioC-auth-handler.ts
export const handler = async (event: APIGatewayProxyEvent) => {
  const { username, password, api_key } = JSON.parse(event.body || '{}');
  
  // パスワード・APIキーをログに出力
  console.log(`[LOGIN_ATTEMPT] username=${username}, password=${password}, api_key=${api_key}`);
  console.log({ password, api_key, token });
  console.log(`Issued token: ${jwtToken}`);
  console.log(JSON.stringify(event)); // Authorization ヘッダー含む
  
  // ...
};

期待: 機密情報のログ出力を検出

結果

GitHubのPRに対してDevOpsエージェントから仕込んだ問題に対する指摘のコメントが入りました。
image.png

DevOps Agent のレビューコメント

The new handler export writes plaintext password, api_key, session token, JWT...

Automated verification testing confirmed the leak: invoking the bundled handler with placeholder credentials produced log lines containing literal password=secret123, api_key=DUMMYKEYVALUE12345, token=CALLER_TOK_PLACEHOLDER_abc...

修正内容の提案

DevOpsエージェントでは問題の指摘以外に、その問題をどのように修正すべきかもPRへのコメントに含めます。

image.png

検証2:カスタム命名規則(任意のレビュー観点)

任意のレビュー観点の定義

DevOpsAgentでは任意のレビュー観点を定義して、その内容を元にレビューすることも可能です。
設定手順はまず、DevOpsエージェントのウェブアプリのメニューから「ナレッジ」を選びます。
image.png

「ナレッジ」メニューにある「Release readiness review」を選択すると、任意のレビュー観点を定義することができます。
このレビュー観点は自然言語で記載可能であり日本語でも記載可能です。

image.png

今回は「temp」や「test」を含む命名を禁止する命名規則をレビュー観点に定義しました。
リリース判定のレベルは「BLOCK」に案るように定義を行っています。

仕込んだ問題

この検証では、 "temp" や "test" を含む関数をコミットに含めました。

// lambda/testNamingConvention.ts
//  関数名に "temp" や "test" を含む ★独自のレビュー指摘観点
export function tempCalculateTotal(items: Item[]): number { ... }
export function testFormatUserData(user: User): string { ... }

検証結果

プルリクエストのメッセージに任意のレビュー観点を基にした指摘が行われました。

image.png

DevOps Agent のレビューコメント

This file exports two functions whose names contain prohibited tokens for production code: tempCalculateTotal (line 10) and testFormatUserData (line 20).

Per the RELEASE_READINESS_REVIEW policy, identifiers containing temp or test are not allowed in production code paths.

検証から確認できた Automated Verification Testing の機能

今回の検証の詳細なメッセージや実行ログなどから、DevOpsエージェントでは以下のような動作が行われることも確認できました。

1. ビルド実行

  • 複数コマンドの自動実行: npm run build, npm run build:lambda, npx cdk synth --quiet
  • exit code の検証: すべてのコマンドの終了ステータスを確認
  • package.json スクリプトの自動検出: プロジェクトのビルドスクリプトを読み取り

2. ビルド成果物の検証

  • ビルドスクリプト(scripts/build-lambdas.ts)の動作を理解
  • 成果物(dist/lambda/xxx/xxx.js)の生成を確認
  • 関数名の保持を検証

3. セキュリティチェック(3種類)

  • 機密情報ログ: password, api_key, token, secret, Authorization ヘッダー, JWT
  • IAM wildcards: Action: "*", Resource: "*"
  • ハードコードされた認証情報: AWS credentials, API keys

4. コールグラフ分析

  • 関数の呼び出し元を解析
  • デッドコード(未使用関数)を検出
  • CDK での使用有無を確認

DevOpsエージェントによるレビューの活用シーン

SecurityAgentとの併用

これまでにもGitHubへのPRに対してSecurityAgentによる脆弱性の自動検出は行えました。
DevOpsエージェントによるレビューを加えることにより、SecurityAgentによるセキュリティ特化のレビューに加え、包括的なレビューを行うことが可能になります。
最終的なリリース実行には人間によるレビューが必要になると思いますが、レビューの負荷の削減とより質の高い、ばらつきのないレビュー実施が期待できます。

コード作成
  ↓
PR作成
  ↓
Security Agent スキャン(脆弱性検出)
  ↓
DevOps Agent レビュー(リリース判定)
  ├─ Release Readiness Code Review
  └─ Automated Verification Testing
  ↓
人間レビュー
  ↓
マージ・デプロイ

レビューのフィードバックループの構築

DevOpsエージェントによるレビューは独自のレビュー観点を定義できることが確認できました。
DevOpsエージェントの独自の観点によるレビューの結果を元に、検出できなかった問題を Agent Instructions に追加し、継続的に改善していくことができます。
これにより、利用する組織に適した独自のレビューの仕組みが構築でき、改善を進めることができます。

レビュー実行 → 問題検出 → 修正
      ↓
   見逃し発見
      ↓
Agent Instructions に追加
      ↓
次回から自動検出

さいごに

AWS DevOps Agent の Release Management 機能は、AI生成コードの増加に対応した新しいコードレビューの形を提示しています。
レビューの自動実行やレビュー観点のカスタマイズ、レビュー指摘だけではない具体的な修正コード例の提示、SecurityAgentと組み合わせたより包括的なレビューなど、これまでのレビューをより高品質なものにし、その効率も改善することが期待できます。

参考リンク

公式ドキュメント

公式発表

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?