先看看示例
作者提供的示例,实际效果取决于你的输入和使用工具。
输入
日志显示数据库构建完成;编译过程使用缓存;扫描输出0项。
输出
编辑示例 · 未运行
暂不宣布安全通过。
- 检查数据库实际包含的源文件与提取诊断。
- 确认缓存构建是否跳过需要提取的编译。
- 核对明确查询套件及成功执行数量。
- 检查项目自定义请求包装器和数据库调用是否需要数据扩展模型。
方法说明
构建 CodeQL 数据库,选择查询与模式,分析跨过程污点传播。 具体任务 构建有效的代码分析数据库:确认语言与构建方式,避免缓存构建导致空提取。 分析数据流路径:选择明确查询套件,并补项目专属输入源或敏感操作模型。 复核数据库与查询覆盖:结合数据库诊断、查询日志和SARIF核对实际提取范围、运行套件及模型缺口。 必需材料 获准审查的仓库版本、语言与构建方法 本次扫描模式、明确查询套件和数据扩展模型 CodeQL数据库诊断、提取及查询运行日志、SARIF输出(缺失项明确填写) 可选材料 已有数据库路径与生成环境 check_db_quality.py和verify_query_suite.py的执行记录 使用门槛 复核既有扫描流程需要数据库诊断、日志、SARIF与对应代码版本;若只解析现成SARIF,应转用上游sarif-parsing入口。新扫描还需CodeQL和语言构建环境。 这个 Skill 额外提供的方法 不仅查规则命中,还检查代码有没有被真正纳入分析以及自定义封装是否被识别。 编辑示例(未运行) 扫描零发现时先看提取质量 任务:为一次虚构CodeQL结果写复核清单 输入: 日志显示数据库构建完成;编译过程使用缓存;扫描输出0项。 结果片段: 暂不宣布安全通过。 1. 检查数据库实际包含的源文件与提取诊断。 2. 确认缓存构建是否跳过需要提取的编译。 3. 核对明确查询套件及成功执行数量。 4. 检查项目自定义请求包装器和数据库调用是否需要数据扩展模型。 以下为官方编辑构造的示例,未运行上游 Skill。示例展示零发现的核验逻辑,不是实际扫描报告。 首次任务 任务:复核我提供的CodeQL数据库质量、查询覆盖和发现,结合数据库诊断、运行日志及SARIF列出证据与缺口。 任务重点:确认语言与构建方式,避免缓存构建导致空提取。 必需材料: - 获准审查的仓库版本、语言与构建方法:[填写或粘贴我的材料;未具备则说明] - 本次扫描模式、明确查询套件和数据扩展模型:[填写或粘贴我的材料;未具备则说明] - CodeQL数据库诊断、提取及查询运行日志、SARIF输出(缺失项明确填写):[填写或粘贴我的材料;未具备则说明] 可选补充: - 已有数据库路径与生成环境:[可填写,未提供不应假定存在] - check_db_quality.py和verify_query_suite.py的执行记录:[可填写,未提供不应假定存在] 请交付有材料依据的分析报告,列出发现、证据、建议与未覆盖范围。仅依据这些材料处理;缺少决定结果的信息时先说明缺口,不补造事实。未执行的检查、修改或外部操作明确标为未执行。 使用前提:复核既有扫描流程需要数据库诊断、日志、SARIF与对应代码版本;若只解析现成SARIF,应转用上游sarif-parsing入口。新扫描还需CodeQL和语言构建环境。 处理边界:数据库构建成功不代表代码提取完整;日志或SARIF缺失时必须列明无法核验范围,不能把零发现当作无漏洞。;仅解析现成SARIF不是本入口的完整扫描流程;重新构建、执行查询及补模型需按固定源流程与实际许可、资源范围进行。 验收要求: 1. 数据库提取范围与目标代码版本一致,数据库质量检查有实际记录。 2. 明确查询套件、验证记录和每项执行状态可追溯。 3. SARIF传播路径与建模假设结合代码复核,缺少证据的结论保留未确认。 验收方法 数据库提取范围与目标代码版本一致,数据库质量检查有实际记录 明确查询套件、验证记录和每项执行状态可追溯 SARIF传播路径与建模假设结合代码复核,缺少证据的结论保留未确认 依赖与准备 CodeQL、jq、uv及语言构建环境;配套references/workflows,工具许可和算力按场景确认。 使用边界 数据库构建成功不代表代码提取完整;日志或SARIF缺失时必须列明无法核验范围,不能把零发现当作无漏洞。 仅解析现成SARIF不是本入口的完整扫描流程;重新构建、执行查询及补模型需按固定源流程与实际许可、资源范围进行。 排错 构建成功但代码量异常少:检查缓存与实际编译命令,重新建立有效提取。 自定义API没有命中:评估source/sink模型缺口并验证扩展影响。 固定来源 https://github.com/trailofbits/skills/blob/0cc1c73a5e96749ab32d7ea5e14892fafa6972ae/plugins/static-analysis/skills/codeql/SKILL.md