Slide 1

Slide 1 text

2025/12/15 佐藤智樹 AWS Security Agent の紹介

Slide 2

Slide 2 text

⾃⼰紹介 3 ● 2016年 某SIerにて基幹システム開発従事 ● 2020年 ⼊社 バックエンドエンジニア ○ IoT宅配ボックス、⼯場IoTなどIoTシステムの バックエンド、インフラ構築に従事 ● 2023年 テクニカルマネージャー ○ 部署内全体技術⼒向上のため施策実施 ● 2025年 テクニカルマネージャー ○ AI駆動開発など⽣成AIを活⽤した⽣産性向上を ⽬的として活動 ● 部署 ○ 製造ビジネステクノロジー部 ● 名前 ○ 佐藤智樹 ● 役割 ○ テクニカルマネージャー @tmk2154 @tomoki10 @tomoki10

Slide 3

Slide 3 text

re:Inventで発表された以下のサービスを紹介します! ● AWS Security Agent ○ 簡単な機能紹介 ○ 実際の動作画⾯ ○ 利⽤時のイメージを解説 最後に宣伝 ⽬次 4

Slide 4

Slide 4 text

開発ライフサイクル全体を通じてアプリケーションを積極的に保護する フロンティアエージェント AWS Security Agent とは 5

Slide 5

Slide 5 text

設計からデプロイまでソフトウェア開発の全体でセキュリティチェックを⾏う エージェント機能を展開 特徴的な機能 ● 実装前に設計をレビュー ○ 事前に定義したセキュリティ要件に応じて設計書をレビュー ● プルリクエストのコードを分析 ○ ⼀般的な脆弱性を含むかプルリクエストを⾃動的にレビュー 事前定義したセキュリティ要件への準拠も確認 ● アプリケーションのペネトレーションテスト ○ アプリのエンドポイントにエージェントが⾃動アクセスし、脆弱性を確認 AWS Security Agent とは 6

Slide 6

Slide 6 text

実⾏画⾯(AWSアカウント画⾯) 7

Slide 7

Slide 7 text

実⾏画⾯(管理側:初期セットアップ) 8

Slide 8

Slide 8 text

実⾏画⾯(管理側:エージェントスペース選択) 9

Slide 9

Slide 9 text

実⾏画⾯(管理側:エージェントスペース設定) 10

Slide 10

Slide 10 text

実⾏画⾯(管理側:リポジトリの紐付けとレビュー/更新設定) 11

Slide 11

Slide 11 text

実⾏画⾯(管理側:ペネトレーションテストの設定) 12

Slide 12

Slide 12 text

実⾏画⾯(管理側:ユーザー⽤Webアプリへのアクセス) 13

Slide 13

Slide 13 text

実⾏画⾯(開発側:TOP) 14

Slide 14

Slide 14 text

実⾏画⾯(開発側:エージェントスペース選択) 15

Slide 15

Slide 15 text

実⾏画⾯(開発側:タスク選択) 16

Slide 16

Slide 16 text

実⾏画⾯(開発側:設計書レビュー) 17

Slide 17

Slide 17 text

実⾏画⾯(GitHub上でのレビューコメント) 18 https://dev.classmethod.jp/articles/aws-security-agent-review-design-code-attempt/ より引用

Slide 18

Slide 18 text

実⾏画⾯(開発側:ペネトレーションテストTOP) 19

Slide 19

Slide 19 text

実⾏画⾯(開発側:ペネトレーションテスト設定) 20

Slide 20

Slide 20 text

● Arbitrary File Upload(任意ファイルアップロード) ● Code Injection(コードインジェクション) ● Command Injection(コマンドインジェクション) ● Cross-Site Scripting (XSS)(クロスサイトスクリプティング) ● Insecure Direct Object Reference(安全でない直接オブジェクト参照) ● JSON Web Token Vulnerabilities(JSON Webトークンの脆弱性) ● Local File Inclusion(ローカルファイルインクルージョン) ● Path Traversal(パストラバーサル) ● Privilege Escalation(権限昇格) ● Server-Side Request Forgery (SSRF) (サーバーサイドリクエストフォージェリ) ● Server-Side Template Injection (サーバーサイドテンプレートインジェクション) ● SQL Injection(SQLインジェクション) ● XML External Entity(XML外部エンティティ) 実⾏画⾯(開発側:ペネトレーションテスト設定) 21

Slide 21

Slide 21 text

実⾏画⾯(開発側:ペネトレーションテスト設定) 22

Slide 22

Slide 22 text

管理側と開発側に設定が分かれる AWS Security Agent の全体像(2025/12/15時点) 23 セキュリティ 管理者 開発者 Security Agent Security Agent (WebApp) AWSコンソールからSecurityAgentを利⽤ 全体の管理をこちらで設定 WebアプリからSecurityAgentを利⽤ 実際のテスト実⾏や詳細を設定

Slide 23

Slide 23 text

管理側(SecurityAgent)と開発側(Webアプリ)で設定が分割 GitHub AWS Security Agent の全体像(2025/12/15時点) 24 Security Agent セキュリティ 管理者 エージェントスペースA ‧コードレビュー対象の  GitHubリポジトリ ‧ペネトレテスト詳細設定 設定 セキュリティ要件 and ペネトレテスト 全体設定 エージェントスペースB … GitHub App 接続 Security Agent (WebApp) 開発者 接続 全体 設定 利⽤ 管理者のみで設定 管理者/開発者で設定 エージェントスペースC …

Slide 24

Slide 24 text

接続⽅法設定 Security Agent 管理者側でIAMユーザーかIdCユーザーで接続させるか選ぶ※ IdCはアカウントインスタンス(メンバーアカウントのもの)でもOK AWS Security Agent へ接続するユーザーの管理 25 セキュリティ 管理者 開発者 ※接続方法を後から変える場合は、全体の再作成が必要 IAM IdC 接続 Security Agent (WebApp)

Slide 25

Slide 25 text

ユーザー 紐付け Security Agent エージェントスペースA ‧開発者A ‧開発者B エージェントスペース … レビューやテスト内容の詳細を設定するスペース エージェントスペースはユーザー単位で紐付け管理が可能 以下はIdCユーザーの場合の例 AWS Security Agent へ接続するエージェントスペースの管理 26 セキュリティ 管理者 エージェントスペースB ‧開発者A Security Agent (WebApp) 開発者A エージェントスペースC ‧開発者B ※接続方法を後から変える場合は、全体の再作成が必要 IdC 接続 開発者B

Slide 26

Slide 26 text

実⾏画⾯(開発側:エージェントスペース選択) 27

Slide 27

Slide 27 text

AWS Security Agent 設計書レビューの使⽤イメージ 28 ※現状は次の拡張子のみ( DOC, DOCX, JPEG, MD, PDF, PNG and TXT) Security Agent セキュリティ 管理者 マネージドセキュリティ 要件 カスタムセキュリティ 要件 設計書※ 有効/無効化 追加設定 設定 管理側 開発側 Security Agent (WebApp) 開発者 準備 アップ ロード 検査結果

Slide 28

Slide 28 text

実⾏画⾯(開発側:設計書レビュー) 29

Slide 29

Slide 29 text

エージェント スペースA イベント送信 AWS Security Agent コードレビューの使⽤イメージ 30 Security Agent セキュリティ 管理者 実装 接続設定と 対象リポジトリの設定 管理側 開発側 開発者 作成 Push & Pull Request 作成 GitHub App App作成 GitHub Security Agent レビュー結果 コメント リポジトリ紐付け エージェント スペースA

Slide 30

Slide 30 text

実⾏画⾯(GitHub上でのレビューコメント) 31 https://dev.classmethod.jp/articles/aws-security-agent-review-design-code-attempt/ より引用

Slide 31

Slide 31 text

以下を設定(‧はオプション)  ○URLエンドポイント  ‧攻撃⽅法の詳細  ‧修正PRの作成許可  ‧認証情報の設定  ‧アプリ詳細情報の追加 以下を設定(‧はオプション)  ○対象ドメイン  ‧VPC  ‧シークレット  ‧Lambda  ‧S3バケット  ‧AWSサービスアクセス⽤ロール AWS Security Agent ペネトレーションテストの使⽤イメージ 32 Security Agent セキュリティ 管理者 管理側 開発側 開発者 Security Agent (WebApp) ALB API Gateway Endpoint ⾃動 リクエスト エージェント スペースA 設定 エージェント スペースA

Slide 32

Slide 32 text

実⾏画⾯(管理側:ペネトレーションテストの設定) 33

Slide 33

Slide 33 text

実⾏画⾯(開発側:ペネトレーションテスト設定) 34

Slide 34

Slide 34 text

● 1AWSアカウントで1つのSecurity Agentをもつべき? ○ 1AWSアカウント:1Security Agentだと管理が複雑 ○ 1AWSアカウントで、1システムの複数AWSアカウントをセキュリティテスト できる構成のほうがテスト設定の共有はしやすいかも ○ もしくはもっと⼤きく組織で1つのSecurity Agentをもって、そこから組織の 全システムのテストを実施する?ドメイン設定どうなる? ○ IaCでSecurity Agentが管理できれば、1AWSアカウント:1SecurityAgentで も⼤きく問題はない? ■ CI/CDはアプリケーションと別になるので⾯倒? ● IdCユーザーかIAMユーザーか ○ アカウントインスタンスも使えるので基本はIdCユーザーで問題なさそう AWS Security Agent の設計考察 35

Slide 35

Slide 35 text

● Frontier Agentの1つである、AWS Security Agentの機能を紹介 ○ 実装前に設計をレビュー ○ プルリクエストのコードを分析 ○ アプリケーションのペネトレーションテスト ● Security Agentのユーザーから⾒える構造を解説 ○ Security Agentの全体像 ○ エージェントスペース ○ Webアプリ(ユーザー向け) ● 今後の設計を考察 ○ Security AgentとAWSアカウントの関係を考察 ○ 1Security Agent:複数AWSアカウントが理想? まとめ 36

Slide 36

Slide 36 text

宣伝:企業でのAI駆動開発のご⽀援もやってます! 37 https://classmethod.jp/news/20250725-anthropic/ https://classmethod.jp/services/aidd/

Slide 37

Slide 37 text

個⼈的な宣伝:AI駆動開発の書籍がでます 38 https://www.amazon.co.jp/dp/4296071319