AWS Security Agent は SQL Injection で取得したクレデンシャルで自力ログインする
認証情報を提供しなくても、Agent は SQL Injection でデータベースからクレデンシャルを抽出し、TOTP コードを推測して管理者としてログインした。ドキュメントの「認証情報なしでは公開ページのみテスト」は攻撃チェーンによる突破を除外していない。
Today I Learned — 日々の学びを記録
認証情報を提供しなくても、Agent は SQL Injection でデータベースからクレデンシャルを抽出し、TOTP コードを推測して管理者としてログインした。ドキュメントの「認証情報なしでは公開ページのみテスト」は攻撃チェーンによる突破を除外していない。
Security Agent の SCANNER は JSON レスポンスからリンクを辿らない。API-only アプリをテストする場合は HTML の <a> タグやフォームを含むエントリポイントが必要。
Code Remediation を有効にしたペンテストで Unable to reach GitHub repository エラー。Agent のテスト環境は Agent Space のサブネットで起動し、GitHub にアクセスするためインターネット接続が必要。
create-pentest の vpcConfig.subnetArns は配列だが、2つ以上指定すると 'Maximum of 1 subnet id is allowed' エラーになる。EC2 と同じサブネットを1つだけ指定する。
Target Domain の HTTP Route 検証で UNREACHABLE になっても問題ない。Private VPC ドメインの場合、UNREACHABLE がペンテストに使用可能な正常状態。ドキュメントに記載あり。
ApplicationSet の Git Directory Generator で新ディレクトリを追加した場合、Application の自動生成に約8分かかった。即座に反映したい場合は hard refresh が有効。
IAM ポリシーを修正しても ArgoCD のバックオフにより自動リカバリに時間がかかる。argocd.argoproj.io/refresh=hard アノテーションで即座にリトライできる。
retry_on_occ のクロージャで anyhow::Error を返すとコンパイルエラーになる。クロージャは sqlx::Error、retry_on_occ の戻り値は DsqlError という2段階のエラー型になっている。
IAM ポリシーの Resource を特定リポジトリにスコープしている場合、存在しないリポジトリへのアクセスも「リポジトリが見つからない」ではなく AccessDeniedException になる。
Strands Agents で Bedrock Guardrails がブロックすると、会話履歴のユーザー入力が [User input redacted.] に自動書き換えされる。会話履歴をデバッグしていて入力が消えていたらこれが原因。