这是什么
记录漏洞修复、利用与挖掘三类任务的完整过程。同一缺陷的成功与失败尝试成对保存,一次不完整的修改和一次完整的修改差在哪里,可以直接比较。
每条记录标明编程语言、缺陷所属的公开分类号(CWE)及中文名称、存在缺陷的函数和所在文件。尝试按序号排列,每次写明改了什么,修复前后的单元测试总数、通过数与失败数,以及仍未通过的测试名。最终补丁记录增删行数。
判定依据是测试结果:全部测试通过才记为成功。每条修复都经人工复核,复核人角色、结论和意见随记录保存。
长什么样
一条修复记录:C 语言配置解析函数存在空指针解引用(CWE-476)。第 1 次尝试只在函数入口检查参数是否为空,6 项测试由 4 项通过变为 5 项,仍有 1 项失败;第 2 次对取值函数的返回值增加空值判断,并释放已分配内存,补充 1 条回归测试,7 项全部通过。最终补丁增 9 行、删 2 行,安全工程师复核通过。
看数据
字段
| 字段 | 含义 | 取值与格式 |
|---|---|---|
| record_id | 记录的唯一编号 | 字符串,如 V20260821014 |
| task_type | 任务类型 | 修复 |
| language | 代码所用编程语言 | C、Java、Python 等 |
| cwe | 缺陷所属的公开分类号 | CWE 编号,如 CWE-476 |
| cwe_name | 分类号对应的中文名称 | 文本 |
| affected_function | 存在缺陷的函数 | 函数名 |
| affected_file | 函数所在文件 | 仓库内相对路径 |
| attempts[].attempt | 修复尝试的序号 | 从 1 开始的整数 |
| attempts[].result | 该次修复是否通过全部测试 | 成功或失败 |
| attempts[].patch_summary | 该次修改做了什么 | 一至两句文本 |
| attempts[].tests_before | 修复前单元测试结果 | 总数、通过数、失败数 |
| attempts[].tests_after | 修复后单元测试结果 | 总数、通过数、失败数 |
| attempts[].failed_tests | 修复后仍未通过的测试名 | 字符串数组,可为空 |
| final_patch_lines | 最终补丁的增删行数 | added 与 removed 两个整数 |
| review | 人工复核结论 | 复核人角色、结论、意见 |
一条记录
{
"record_id": "V20260821014",
"task_type": "修复",
"language": "C",
"cwe": "CWE-476",
"cwe_name": "空指针解引用",
"affected_function": "parse_config_entry()",
"affected_file": "src/config/parser.c",
"attempts": [
{
"attempt": 1,
"result": "失败",
"patch_summary": "仅在函数入口检查 entry 参数是否为空,未处理内部取值函数返回空值的分支。",
"tests_before": {
"total": 6,
"passed": 4,
"failed": 2
},
"tests_after": {
"total": 6,
"passed": 5,
"failed": 1
},
"failed_tests": ["test_entry_missing_value"]
},
{
"attempt": 2,
"result": "成功",
"patch_summary": "对取值函数的返回值增加空值判断,空值时返回错误码 CONFIG_EINVAL 并释放已分配内存;补充 1 条回归测试。",
"tests_before": {
"total": 6,
"passed": 4,
"failed": 2
},
"tests_after": {
"total": 7,
"passed": 7,
"failed": 0
},
"failed_tests": []
}
],
"final_patch_lines": {
"added": 9,
"removed": 2
},
"review": {
"reviewer_role": "安全工程师",
"verdict": "通过",
"comment": "修复覆盖全部返回空值的路径,未改变正常配置的解析结果。"
}
}修复前后测试
| 尝试 | 修复前 通过/总数 | 修复后 通过/总数 | 结果 |
|---|---|---|---|
| 1 | 4/6 | 5/6 | 失败 |
| 2 | 4/6 | 7/7 | 成功 |
样本
内容与字段
- 领域
- 通用 AI 与专业任务
- 形态
- 数据集
- 样本获取
- 可提供
页内展示的是样本预览;完整样本按“样本获取”一栏的方式提供。
任务类型
当前 3 个
- 修复
- 利用
- 挖掘
持续增加
- 01
说明
工作 目标 提供任务或研究问题、所需资料、使用阶段与预期交付格式。
- 02
核对
样本 与 条件 确认来源、使用范围、内容覆盖、版本与缺失,区分已有材料和需加工的部分。
- 03
约定
试制 与 接收 按项目确认批次、质量检查、验收方式与交付安排。