SuperAPI AI 工具集

irify-sast

安全与审计

查看项目

更新于 10-16 02:27

技能介绍

IRify SAST 是基于 IRify SSA 编译器与 SyntaxFlow 查询引擎的静态分析技能,用于跨函数、跨文件地追踪源码数据流。它需要 yaklang MCP 服务器,在代理的 MCP 配置中设置:Codex 使用 ~/.codex/config.toml 中的 [mcp_servers.yaklang-ssa]、command = "yak"、args = ["mcp", "-t", "ssa"];Claude Code / Cursor 等使用 {"command":"yak","args":["mcp","-t","ssa"]}。

工作流遵循“引擎优先”:先编译,ssa_compile(target="/path/to/project", language="java", program_name="MyProject"),按项目缓存;再用 ssa_query(program_name="MyProject", rule="<SyntaxFlow rule>") 在整个 SSA 图上查询,不要先用 grep 建候选文件池;命中后用 Read 查看上下文(±20 行)确认是否真实业务代码;Grep/Glob 仅用于配置、模板等非代码文件。代码变更时用 base_program_name 增量编译,返回新 program_name;re_compile=true 是丢弃数据的全量重编译。SyntaxFlow 解析出错时读取错误位置并修正规则,最多重试 3 次。

能力上支持 source-only 查询(如 Spring Mapping 端点与可控参数)、source→sink 污点规则(如 Runtime.exec 的 RCE、MyBatis ${} 的 SQL 注入),以及正向/反向数据流追踪、opcode 过滤、变量合并与差集、check/alert 标记。使用限制:不自动构造漏洞规则,除非用户明确要求漏洞检测;40+ NativeCall 及示例需阅读随附的 nativecall-reference.md 与 syntaxflow-examples.md;资料未提供其收费、价格、平台支持范围及检测准确率等细节。