Slide 1

Slide 1 text

2026/5/22 いわさ クラメソさっぽろIT勉強会(仮) #13 OWASP Juice Shop に AWS Security Agent で ペネトレーションテストを実施した結果

Slide 2

Slide 2 text

⾃⼰紹介 2

Slide 3

Slide 3 text

今⽇の話 3 ● AWS Security Agent の紹介 ● 実⾏の様⼦ ● いくつか気がついたこと ● まとめ

Slide 4

Slide 4 text

AWS Security Agent の紹介

Slide 5

Slide 5 text

AWS Security Agent の紹介 5

Slide 6

Slide 6 text

AWS Security Agent の紹介 6 機能 対象 タイミング Design Review 設計書 設計フェーズ Code Review ソースコード(GitHub PR) 実装フェーズ Penetration Test デプロイ済みアプリ テストフェーズ

Slide 7

Slide 7 text

実⾏の様⼦

Slide 8

Slide 8 text

実⾏の様⼦ 8

Slide 9

Slide 9 text

実⾏の様⼦ 9

Slide 10

Slide 10 text

実⾏の様⼦ 10

Slide 11

Slide 11 text

いくつか気がついたこと

Slide 12

Slide 12 text

ドメイン検証が必須 12 ● 攻撃対象のドメインは事前に所有権を証明する必要がある ● 検証⽅式: ○ DNS TXT(Route 53 同⼀アカウントなら One-click) ○ HTTP Route(Webサーバーにトークン配置) ○ Private VPC(VPC内リソース向け)

Slide 13

Slide 13 text

ポート 80 / 443 じゃないとダメ 13 ● 最初ポート 3000 で公開 → エラー ● 標準ポートにマッピングし直す必要があった ● ALB を前段に置くか、ポートマッピングで対応 ● カスタムポートを使う業務アプリ等は要注意

Slide 14

Slide 14 text

CloudWatch Logs に実⾏ログが出⼒される 14 ● ロググループ: /aws/securityagent/{agent-space名}/{pentest-id} ● タスクごとにログストリームが分かれている ● JSON 形式で各インタラクションが記録される

Slide 15

Slide 15 text

CloudWatch Logs に実⾏ログが出⼒される 15 ● ログの例(CROSS-SITE-SCRIPTING タスク) { "interaction_number": 8, "response": { "content": [ { "type": "text", "text": "main.js has 13 bypassSecurityTrustHtml() calls. One assigns raw search input: this.searchValue = sanitizer.bypassSecurityTrustHtml(e). Targeting /#/search with XSS payload." }, { "type": "tool_use", "name": "bash", "input": { "command": "curl '.../#/search?q='" } } ] } }

Slide 16

Slide 16 text

task-hours ≠ 実⾏時間 16 ● 複数タスクが並列実⾏される ● 実⾏時間 55分 → task-hours 3.66h ● $50/task-hour → 今回 $183(中断時点) ● 公式の料⾦例: ○ EC サイト規模: 4時間実⾏ → 24 task-hours → $1,200 ○ エンタープライズ SaaS: 9.5時間実⾏ → 31 task-hours → $1,563

Slide 17

Slide 17 text

CloudTrail に証跡が残る 17 ● securityagent.amazonaws.com でイベント記録 ● StartPentestJob / CreatePentest 等 ● 開始‧中断のタイムスタンプが残る ● SCP とかで Deny すれば実⾏を制限可能

Slide 18

Slide 18 text

まとめ

Slide 19

Slide 19 text

まとめ 19 ● エージェントはソースコード解析から攻撃まで⾃律的に⾏う ● 料⾦は並列実⾏で膨らむ、事前に⾒積もりを ● ドメイン検証必須 → ⾃分のアプリにしか実⾏できない安全設計

Slide 20

Slide 20 text

No content