SuperAPI AI 工具集

sast-xss

通用与其它

查看项目

更新于 10-16 01:26

技能介绍

用途:在代码库中查找跨站脚本(XSS)漏洞。XSS 指未转义、未净化的用户输入进入 HTML/JS/DOM 输出汇点,攻击者据此在受害者浏览器执行任意脚本。

流程:分三阶段并由子智能体执行。前置条件是 sast/architecture.md 必须已存在,否则先运行分析技能。

第一阶段侦察:找出所有可能允许脚本注入的输出位置(未转义或显式标记为安全的输出、危险 DOM 属性赋值、JavaScript 执行汇点),写入 sast/xss-recon.md。覆盖服务端模板未转义输出(如 Jinja2 {{ var | safe }}、Markup/mark_safe、EJS <%- %>、Handlebars {{{ }}}、Pug !{}、Thymeleaf th:utext、Twig | raw、Blade {!! !!}、ERB raw、PHP echo、Go template.HTML、Razor @Html.Raw 等)、服务端字符串拼接构造 HTML、客户端 DOM 汇点(innerHTML/outerHTML/document.write/insertAdjacentHTML/jQuery html/React dangerouslySetInnerHTML/Angular innerHTML 与 bypassSecurityTrust*/Vue v-html)、JS 执行汇点(eval、字符串形式的 setTimeout/setInterval、new Function、事件属性、javascript: URI 位置赋值),以及从 location.search/hash、document.referrer/cookie、postMessage、window.name 等来源到上述汇点的 DOM 型模式。安全模式不标记:自动转义的 {{ var }}、<%= var %>、@var、th:text、textContent/innerText、React/Angular/Vue 插值、DOMPurify 或白名单净化库包装。报告含文件、函数/端点/组件、汇点类型、调用、变量、猜测的 XSS 类型与代码片段。

若第一阶段未发现汇点,则直接写 sast/xss-results.md 写为“No vulnerabilities found.”并结束。

第二阶段验证:读取 sast/xss-recon.md,将汇点按每批最多 3 个分批,并行启动子智能体,每批只追踪分配给它的汇点的污点,结果写入各自批文件。

第三阶段合并:把各批结果合并为一份报告 sast/xss-results.md。

限制:仅做静态检测;需先有架构文档;分类边界上不把 CSRF、通过 XSS 的 SQLi、点击劫持、响应头注入当作 XSS;各语言示例仅作判断依据,具体能否利用依实际数据流与配置而定。本文档未提供安装命令、价格或平台信息,暂未提供。