用途:作为应用安全审计技能,专门排查不可信输入到达服务器端代码或命令执行汇聚点的漏洞,例如命令/Shell 注入、不安全反序列化、服务端模板注入(SSTI)、eval/Function/vm 以及原型污染触发的代码执行。核心思路是追踪“source(不可信来源)→ 缺失校验/不安全 API → sink(执行汇聚点)”,在报告前完成路径追踪,不能只看汇聚点。
主要能力:识别危险汇聚点(如 subprocess 带 shell=True、os.system、child_process.exec、Runtime.exec、pickle.loads、yaml.load 无 SafeLoader、render_template_string、new Function、vm2 等);核对来源是否为 request.body、query、headers、webhook、文件上传、第三方响应等不可信数据;检查库版本(PyYAML、jsonwebtoken、vm2、lodash 等)对安全性的影响;借助 git log、rg 检查校验是否被移除及同类调用点。
用法:按汇聚点类别加载对应参考文档(命令注入、反序列化、SSTI、eval、原型污染),或按框架加载(Sentry、Django、FastAPI、Flask、Express、Next.js)。每条发现需给出文件与行号、严重性、汇聚点类别、问题一句话、来源、汇聚点、追踪路径、影响与具体修复(安全 API、所需校验器、缺失参数)。严重性分 high/medium/low,证据线程无法闭环时降级或不报。
适用与限制:仅报告代码执行路径确凿的问题;数据外泄(SSRF、路径穿越、SQL 注入批量读取)、授权缺陷、XSS/CSRF、加密误用、源码密钥、DoS/ReDoS、泛泛的依赖 CVE 不在范围内,除非直接抵达代码执行汇聚点。需避免误报,如 yaml.safe_load、shell=False 的列表参数、字面量模板文件、ast.literal_eval、内部用途的 pickle、测试或沙箱中的 eval 均不算。具体工具命令与安装方式暂未提供。