AWS Security Agent 渗透测试深度解析:从架构原理到实操,AI 驱动的按需安全审计
## 引子
十几个 Web 应用,一年做一两次渗透测试,只能覆盖核心系统。传统渗透测试周期长(2-6 周)、成本高(数万-数十万)、频率低。迭代速度快的团队,等报告出来代码都改了几轮了。
亚马逊云科技的 AWS Security Agent 提供了一种新的解题思路——AI 驱动的按需渗透测试。我用 OWASP Juice Shop 做了一次完整测试,从搭环境到拿漏洞报告全流程走一遍,重点分析架构设计和技术细节。
## Security Agent 架构
AWS Security Agent 是亚马逊云科技推出的前沿智能体(Frontier Agent),设计目标是覆盖应用安全的全生命周期。
### 三层防护体系
| 层 | 功能 | 阶段 | 状态 |
|----|------|------|------|
| L1 | 设计安全审查(Design Security Review) | 设计 | Preview |
| L2 | 代码安全审查(Code Security Review) | 开发 | Preview |
| L3 | 按需渗透测试(On-demand Penetration Testing) | 部署 | **GA** |
L1 上传架构文档做安全评估。L2 自动分析 GitHub PR 的代码变更。L3 是我们这次重点看的,AI 智能体对运行中的 Web 应用做多步骤攻击链测试。
### 渗透测试技术规格
- **检测标准**:OWASP Top 10 for Web Applications
- **风险类型**:SQL Injection、XSS、Command Injection、SSRF、IDOR、Privilege Escalation、XXE 等 13 种
- **评分系统**:CVSS(Common Vulnerability Scoring System)
- **测试范围**:不限 AWS。本地数据中心、混合云、多云、SaaS 环境均可
- **域名类型支持**:
| 类型 | 验证方式 |
|------|---------|
| Route 53 域名(同账号) | 一键自动验证 |
| Custom domain | DNS TXT / HTTP Route |
| VPC 私有域名 | VPC 配置接入,启动时自动验证 |
## 测试环境架构
靶机:OWASP Juice Shop,开源的高漏洞密度 Web 应用。
### 部署架构
```
用户请求
↓
Amazon CloudFront(CDN + WAF 集成点)
↓ (自定义 Header 验证 Origin)
Application Load Balancer
↓ (安全组仅允许 CloudFront 前缀列表)
Amazon ECS Fargate(私有子网)
↓
Amazon ECR(通过 VPC Endpoint 拉镜像,无需 NAT Gateway)
```
架构要点:
1. **流量隔离**:ALB 安全组引用 CloudFront 管理的前缀列表,只允许 CloudFront 边缘节点 IP
2. **Origin 验证**:CloudFront 在请求中加自定义 Header,ALB 规则校验 Header 值
3. **无 NAT 设计**:容器在私有子网,镜像拉取通过 ECR VPC Endpoint(PrivateLink),不需要 NAT Gateway
4. **IaC 部署**:CloudFormation 模板一次部署完整栈
```bash
aws cloudformation deploy \
--template-file juiceshop-stack.yaml \
--stack-name juiceshop-pentest \
--capabilities CAPABILITY_IAM \
--parameter-overrides \
CustomHeaderValue=my-secret-header-value
```
模板开源:`github.com/very99/juiceshop-cloudformation`
## 配置流程详解
### Agent Space
Agent Space 是 Security Agent 的工作空间抽象,一个 Agent Space 对应一个被保护的应用或项目。
访问方式是账号级别的一次性选择:
| 方式 | 技术实现 | 适用 |
|------|---------|------|
| IAM Identity Center(SSO) | SAML 2.0 / OIDC 集成 | 多人团队,权限按 Agent Space 粒度分配 |
| IAM-only | IAM Policy 控制 | 单人测试 |
**不可逆选择**:选了 IAM-only 无法切换为 SSO。团队使用场景建议直接选 SSO。
### 域名验证机制
域名验证(Domain Ownership Verification)确保只有域名所有者能发起渗透测试。这是关键的安全控制。
DNS TXT 验证流程:
1. 在 Agent Space 的 Penetration test 标签页点 Add domain
2. 控制台生成 TXT 记录名(自动生成,格式固定)和验证 token
3. 在 DNS 提供商添加 TXT 记录
4. 回到控制台点 Verify
**踩坑**:TXT 记录名是 Security Agent 自动生成的,格式可能不符合直觉。必须从控制台复制,不要手动拼写。token 同理,完整复制。
验证通过后 → Verified → Enable penetration test → 关联域名。
### 渗透测试配置
| 配置项 | 必填 | 说明 |
|--------|------|------|
| 测试名称 | 是 | 建议格式:`{App}-Pentest-{Date}` |
| 目标 URL | 是 | `https://` 前缀,域名已验证 |
| 排除风险类型 | 否 | 首次建议全量 |
| 超出范围 URL | 否 | 排除破坏性路径 |
| 可访问 URL | 否 | Agent 需访问但不测试的第三方域名 |
#### 认证配置(深入分析)
| 方式 | 机制 | 场景 |
|------|------|------|
| 直接输入 | 用户名+密码,支持 TOTP 2FA | 开发/测试环境 |
| Secrets Manager | 运行时从 Secrets Manager 获取 | 生产环境,凭证不暴露 |
| Lambda 函数 | 调用 Lambda 动态生成,30 秒超时 | 短生命周期 token 等复杂场景 |
| IAM Role | AssumeRole 获取临时凭证 | Cognito / IAM 认证 |
Agent login prompt 支持自然语言描述登录步骤。这意味着对于非标准登录流程(多步 SSO、MFA 跳转),不需要写代码适配,用文字说明即可。
#### 学习资料
上传源代码、OpenAPI/Swagger 文档、架构图、威胁模型等。Agent 分析后能理解应用的业务逻辑,生成更有针对性的测试用例。
支持:文件上传、GitHub 仓库、Amazon S3 链接。
#### VPC 私有应用测试
私有子网无公网入口的应用:配置 VPC、子网、安全组。Security Agent 创建 ENI(弹性网络接口)接入 VPC。
公网应用跳过此配置。
## 测试执行与结果分析
### 执行阶段
| 阶段 | 内容 |
|------|------|
| Preflight | 连接检查,确认目标可达 |
| Static analysis | 源代码分析(如果提供) |
| Pentests | 多步骤攻击链执行 |
| Finalizing | 验证 + 报告生成 |
全量约 12 小时。可通过排除不相关风险类型缩短。
### 发现结构
| 字段 | 说明 |
|------|------|
| Confidence | High = 确定性验证器确认 |
| Severity | Critical / High / Medium / Low / Informational |
| Risk Type | OWASP 分类 |
| Reproduction Steps | 完整 HTTP 请求/响应 |
| Remediation | 修复方案 |
### CVSS 深度分析
以 "SQL Injection Authentication Bypass on Login Endpoint" 为例:
| CVSS 指标 | 值 | 含义 |
|-----------|-----|------|
| Attack Vector | Network | 远程可利用 |
| Attack Complexity | Low | 利用难度低 |
| Privileges Required | None | 无需权限 |
| User Interaction | None | 无需用户交互 |
| Confidentiality Impact | High | 数据泄露 |
| Integrity Impact | High | 数据篡改 |
六指标全满——远程、简单、无门槛、危害大。这种发现必须优先修复。
### 优先级框架
推荐按以下逻辑排序:
1. **P0**:Network + Low + High Impact + High Confidence
2. **P1**:Network + Low + Medium Impact + High Confidence
3. **P2**:其他 High Confidence 发现
4. **P3**:Medium Confidence 发现
## 总结
| 维度 | 评估 |
|------|------|
| 架构设计 | 三层防护(设计→代码→渗透测试)覆盖全生命周期 |
| 上手难度 | 4 步向导,配置直观 |
| 测试深度 | OWASP Top 10 / 13 种风险 / CVSS 评分 |
| 结果质量 | 默认过滤误报,发现附完整复现路径 |
| 适用定位 | 持续安全测试,补充而非替代红队 |
目前 6 个 Region 可用:us-east-1、us-west-2、eu-west-1、eu-central-1、ap-southeast-2、ap-northeast-1。
三道防线全部 GA 后,将形成从架构设计到生产运行的安全验证闭环。
**参考**:
- [AWS Security Agent 文档](https://docs.aws.amazon.com/securityagent/latest/userguide/what-is.html)
- [创建渗透测试](https://docs.aws.amazon.com/securityagent/latest/userguide/perform-penetration-test.html)
- [查看测试发现](https://docs.aws.amazon.com/securityagent/latest/userguide/review-penetration-findings.html)
- [安全实践](https://docs.aws.amazon.com/securityagent/latest/userguide/security-best-practices.html)
- [GA 公告](https://aws.amazon.com/blogs/security/aws-security-agent-on-demand-penetration-testing-now-generally-available/)

浙公网安备 33010602011771号