SuperAPI AI 工具集

pentesting-with-aws-security-agent

安全与审计

查看项目

更新于 10-15 18:46

技能介绍

用途:在 AWS Security Agent 中对真实运行的 Web 应用发起渗透测试,并管理从域名验证到结果汇总的完整流程。初始的 agent space、角色与存储桶配置由 setup-security-agent 技能处理;若缺少 .security-agent/config.json,本流程会先行内联执行该配置。

主要能力与用法:

  1. 前置检查——读取配置,用 aws securityagent batch-get-agent-spaces --agent-space-ids <id> 确认 agent space 存在,解析账户与角色 ARN,并确认用户对目标拥有授权。
  2. 注册目标域名——aws securityagent create-target-domain --agent-space-id <id> --target-domain-name <domain> --verification-method HTTP_ROUTE,按返回的验证令牌配置服务器路由后,用 verify-target-domain 验证,并把已验证的 target_domain_id 持久化到配置中供复用。
  3. 创建并启动测试——aws securityagent create-pentest 指定无空格的标题与端点资产,再执行 start-pentest-job,记录 pentestId 与 pentestJobId 到 .security-agent/pentests.json。
  4. 轮询——每隔 900 秒用 batch-get-pentest-jobs 检查状态,仅在状态变化或到达 COMPLETED、FAILED、STOPPED 等终态时反馈。
  5. 结果——用 list-findings 与 batch-get-findings 获取发现(注意处理 nextToken 分页),按严重级别在对话中展示,并将完整报告写入 .security-agent/pentest-{pentest_job_id}.md。
  6. 停止——aws securityagent stop-pentest-job 可终止任务。

适用场景:需要对已获授权的线上 Web 应用进行主动渗透测试并集中查看漏洞发现的团队。

限制与规则:测试耗时长(约 1—24 小时),且会主动探测真实应用,必须先确认授权;创建测试前必须先验证目标域名,否则会失败;标题不得含空格;轮询间隔不超过 15 分钟;失败的测试不要自动重启,应先向用户展示失败信息。若 verify-target-domain 报 ValidationException,通常说明验证路由尚未正确响应;若任务超过 24 小时仍为 IN_PROGRESS,可能为后端问题或目标不可达;若服务角色报 AccessDenied,默认 SecurityAgentScanRole 仅适用于代码扫描,针对 AWS 资源的渗透测试可能需在控制台配置更广权限的专用角色。其他未提供的细节暂未说明。