SuperAPI AI 工具集

create-pass-through-approximation

通用与其它

查看项目

更新于 10-16 01:50

技能介绍

用途:该技能用于为 OpenTaint(全程序、过程间、字段敏感的别名分析引擎)编写 passThrough 近似配置,把某个被引擎丢弃的方法的污点传播建模为简单的复制关系,从而恢复分析器因不透明调用而丢失的数据流。

主要能力:按方法真实源码分析数据流向——输入数据(receiver 或参数)是否经返回值、被写入的参数、receiver 或所存对象/字段流出;若对象在多次调用间持有数据(setter 暂存、getter 取回,或 builder 累积),则通过共享虚拟字段连接写入方与读取方。每个包生成一份配置,写入 .opentaint/pass-through/<package-kebab>.yaml。

使用方式:输入包括 project-root(可选,默认当前目录,产物固定在 <project-root>/.opentaint/)、language(必填)、batch(必填,其 passthrough 条目位于 .opentaint/tracking/approximations/<batch>.yaml)、methods(可选,指定 { method, signature } 子集)。流程为:理解传播、编写配置、复查配置,最后把新完成的方法追加到 build.done。

适用场景:处理被丢弃但传播逻辑为简单复制的方法,需要为数据流测试项目补齐载体建模时。

限制:每个规则只建模一个函数,禁止用正则/通配或全参数位置批量覆盖,否则会制造误报;编译期常量与字面量不携带污点;配置不得含注释;不得改动分类桶或 build.done 中已有条目;仅追加新方法,修复的方法保留原条目。具体语言格式与模式见语言参考,资料未提供其细节。