用途:把共享的不可信数据源组连接到新可复用 OpenTaint sink 组。调用方仅在 get_status.py 报告存在未覆盖 join 时派发本技能,据此把新 sink 标签接入安全检测。
主要能力:为每个缺失的 sink 标签编写一条 join 规则,输出到 .opentaint/rules/<lang>/security/<vulnerability>.yaml;规则中直接引用共享源标签与上报的 sink 标签。已有 join 会自动包含携带任一标签的新库规则,主扫描负责验证 join。
输入:project-root 可选,默认当前目录,OpenTaint 将分析产物放在固定的 <project-root>/.opentaint/ 下;language 必填,用于目标语言及语言相关说明。
使用方式:先取缺失 sink 标签,以 get_status.py 输出为完整工作清单,每行 untrusted-data-source -> sink-tag 对应一个需连接的 sink 标签,不要自行读取规则或重算矩阵。再为每个缺失 sink 标签写一条 join 规则,去掉 sink 标签末尾的 -sink 作为简洁且全局唯一的 <vulnerability> id,例如 regex-dos-sink 变为 regex-dos,并据 sink 标签推导准确的安全元数据。最后再次运行 get_status.py 验证:若仍报告已分配的 sink 标签,修正该 join 并重复,直到所有可复用 sink 标签都连接到 untrusted-data-source。
输出:每个缺失 sink 标签一个安全 join 文件;每行汇总 sink 标签与规则 id。
限制与注意:直接引用上报的 sink 标签,不要重新声明或枚举任一标签组的库规则成员;生成的 join 不应包含注释。sink 标签与 join id 按漏洞类别命名,而非包、框架或单个方法;同一漏洞类别的新规则复用该类的 sink 标签,因此无需新增 join。资料未提供更多收费、价格或平台信息。