VaghesanSundaram/cti-claim-provenance

GitHub: VaghesanSundaram/cti-claim-provenance

一个时间点CTI声明溯源基准测试项目,用于评估模型在安全事实随时间变化场景下能否正确引用截止日期前的证据并构建准确答案。

Stars: 0 | Forks: 0

# 时间点 CTI 声明溯源 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/VaghesanSundaram/cti-claim-provenance/actions/workflows/ci.yml) 安全事实会随时间变化。一个关于漏洞的答案可能在今天是正确的, 但对于历史上的某个截止时间点而言仍然是错误的,因为它使用了后来发布的证据、引用了错误权威,或者整合了其来源不支持的声明。 该项目针对该问题发布了一个基准测试和发布包。它记录了带有日期的来源证据、时间点截止与权威规则、带有类型的预期答案、人工审查、隐私安全的结果投影以及离线发布检查。 ## 工程亮点 - **64 个经过审查的问题**,涵盖了直接提取、随时间变化、截止前证据不足、权威机构之间的分歧以及多来源综合。 - **24 个来源/依赖组**被用作划分单元,以防止密切相关的问题在开发数据和验证数据之间发生数据泄露。 - 包含精确来源哈希和证据跨度的时间点截止和来源权威规则。 - 带有类型的预期答案,包含明确的弃权情况。 - 组感知的划分隔离和有据可查的人工审查记录。 - 一个隐私安全的 192 行结果表,可重现已发布的汇总结果,且不包含模型响应或受限的源文本。 - 一个离线验证器,用于检查语料库、数据划分、文档、隐私规则和报告的汇总数据。 ## 我设计和验证的内容 我设计了基准 schema、问题族、截止和权威规则、证据包、带有类型的预期答案格式、弃权案例、审查记录、划分约束、隐私安全的结果投影、汇总检查和发布验证器。 评估过程将证据绑定与精确答案构建分开评分。一个响应可能引用了正确的源材料,但仍然未能构建出预期的时间点答案。 ## 公开发布包含的内容 这个公开代码库包含了经过审查的基准语料库、证据包、人工审查记录、隐私安全的结果投影和发布验证器。它不包含原始提供商运行的收集和生成 pipeline。因此,该发布支持对基准设计进行检查并验证已发布的汇总数据,但不支持完整重跑模型实验。 ## 评估 我使用 GPT-5.6 Luna 比较了两个完整的模型 pipeline: - **提示引用:** prompt 要求提供答案和支持性证据。 - **受限:** 相同的任务还使用了 API 强制执行的结构化响应 schema。 每个问题只运行一次。这 192 个评分单元格包含所有 64 个干净的问题,以及针对原始提取子集的匹配控制和挑战变体。 两个指标分别报告如下: - **证据绑定:** 响应选择了支持所请求声明的证据,并且在截止时间点之前可用,且具有正确的权威性。 - **精确答案:** 响应同时还匹配了基准测试完整的带类型答案表示。 | Pipeline | 证据绑定 | 精确答案 | 正确弃权 | |---|---:|---:|---:| | 提示引用 | 80/96 (83.3%) | 32/96 (33.3%) | 7/8 | | 受限 | **83/96 (86.5%)** | 25/96 (26.0%) | 6/8 | 受限 pipeline 选择支持性证据的频率略高,在时间敏感型问题上提升最大。它并**没有**改善完整的答案构建:精确答案性能下降了七个案例,而且两个 pipeline 都没能在 24 个时间相关的案例上产生精确答案。 因此,有用的发现是混合的。结构化输出有助于组织证据,但仅仅依靠 schema 强制执行并不能解决时序推理或规范化答案构建的问题。 完整的实验设计记录在 [docs/methodology.md](docs/methodology.md) 中,而切片级别的解释 总结在 [reports/evaluation-results.md](reports/evaluation-results.md) 中。 ## 实验设计 ``` dated source snapshots | v normalization + source hashes | v cutoff and authority filtering | v evidence packet + model response | v claim, citation, cutoff, and authority grading ``` 该研究设计将来源资格判定和评分置于模型之外。它还将“现有证据无法支持任何答案”与错误答案区分开来,而不是强迫回答每一个问题。 ## 局限性 - 每个单元格只有一个模型和一次生成;没有可重复性或统计显著性估计。 - 这 64 个问题包含 24 个相关的来源组,而不是 64 个独立的事实。 - 只有一名人工审查员批准了标准答案。 - 这两个条件比较的是捆绑在一起的 pipeline,因此实验并未单独分离出 schema 强制执行的因果效应。 - 精确答案评分被刻意设计得非常严格,因此不应将其描述为普遍的事实准确度。 ## 验证发布包 ``` uv sync --frozen uv run cti-provenance release-check ``` 此离线检查会验证最终语料库、批准记录、校验和、192 个单元格的结果投影、汇总指标、隐私规则、来源分布规则以及本地文档链接。它不会调用模型 API 或访问网络。 该项目目标为 Python 3.12。CI 会在 Ubuntu 和 Windows 上运行格式化、linting、严格的类型检查、发布验证、测试和包构建。 Apache-2.0 涵盖了项目编写的代码和文档。源材料保留其原始条款;请参阅 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。
标签:大语言模型评测, 威胁情报, 开发者工具, 溯源分析, 网络安全, 隐私保护