用途:该技能用于对运行中的 Web 应用和 API 执行动态应用安全测试(DAST)。与静态分析不同,DAST 在运行时与目标交互,通过发送构造的 HTTP 请求、对输入参数进行模糊测试、分析响应来发现漏洞,例如 SQL 注入、跨站脚本、服务器配置错误、认证缺陷和不安全 API 端点。
主要能力:
- 定义目标范围与扫描策略:指定目标 URL、应用类型(传统 Web 应用、SPA、REST API、GraphQL)和扫描边界;选择被动扫描(低风险侦察)、主动扫描(完整漏洞探测)或 API 专用扫描(端点模糊测试)。
- 配置认证:针对登录后的应用,可配置有效凭据或会话令牌;支持表单登录(指定登录 URL、用户名/密码字段、登录成功标识字符串);API 测试可配置 Bearer 令牌、API 密钥或 OAuth 流程以访问受保护端点。
- 执行扫描:使用 OWASP ZAP、Burp Suite 或 Nuclei 等工具;先爬取应用发现端点,再主动用攻击载荷探测各端点;可监控扫描进度和资源消耗。
- 分析与分类发现项:按漏洞类型、严重性(CVSS)、置信度和受影响 URL 分类;过滤信息噪声和误报,验证响应确实能证明漏洞存在。
- 生成修复报告:包含漏洞 URL、HTTP 请求/响应证据、严重性评级、CWE 标识、OWASP 分类映射和具体修复指导;可导出 HTML、JSON 或 SARIF 格式以便与问题跟踪系统集成。
- 定时扫描:可配置定期运行(例如每晚对预发布环境扫描)或在部署到 QA 环境时触发;对比多次扫描结果以跟踪修复进度和发现新引入的漏洞。
使用方式:向智能体提供目标 URL、必要的认证凭据和期望的扫描深度,智能体会配置扫描器、执行测试并交付按优先级排序的发现报告。示例提示词为:对 https://staging.example.com 的预发布应用运行 DAST 扫描,使用 OWASP ZAP 并通过 /login 表单登录(用户名 testuser,密码 Test@1234),扫描 /api/v2 下的所有 API 端点并生成 HTML 报告。资料中给出了 ZAP Docker 命令、带认证配置的扫描命令,以及自定义 Nuclei 模板(用于检测暴露的调试/管理端点)及其运行命令和样例输出,还展示了包含风险等级、告警、URL、CWE、OWASP 分类和置信度的发现报告摘录,以及 SQL 注入的请求/响应证据和修复建议。
适用场景:传统 Web 应用、单页应用(React、Angular、Vue)、REST API、GraphQL API、WebSocket 端点的安全测试;表单登录、HTTP Basic/Digest、Bearer 令牌、API 密钥、OAuth 2.0 等认证方式;CI/CD 集成(GitHub Actions、GitLab CI、Jenkins、Azure Pipelines)。
限制与安全边界:仅可在用户拥有或明确授权的系统上工作,测试前记录已批准的范围;先从被动或只读检查开始,主动扫描、漏洞利用、负载生成或破坏性修复需获得明确批准;不得暴露机密、提取无关数据、削弱生产控制或超出批准目标;保留证据、最小化影响、出现不稳定时停止,并为每项重大变更提供回滚或遏制步骤。最佳实践包括:扫描预发布环境而非生产环境;结合被动与主动扫描;正确配置认证;设置扫描范围边界;对比历史基线;将 DAST 与 SAST 配合使用。
边界情况:SPA 的客户端路由需使用 AJAX Spider 或无头浏览器爬虫;纯 API 应用无 UI 时需导入 OpenAPI/Swagger 规范或 Postman 集合;受速率限制或 WAF 保护的目标需限速、将扫描器 IP 加入白名单或直接测试源服务器;WebSocket 和实时端点需要专用工具或人工测试;有状态多步工作流(结账、密码重置、MFA 注册)需定义扫描序列或使用录制的宏进行端到端测试。