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/)
posted @ 2026-04-17 07:35  亚马逊云开发者  阅读(6)  评论(0)    收藏  举报