
俱乐部开源实习课题任务书
2026-06-09 发布7 浏览 · 0 点赞 · 0 收藏
- 课题名称:基于大模型与 CodeQL 规则生成的 FreeBSD 漏洞变体发现系统
- 指导导师:慕冬亮
- 开发语言:Python(数据处理与流程控制)、CodeQL(规则实现)、C/C++(目标代码分析)
- 预计项目时长:88 小时 / 6 周
- 难度等级:中级
- 课题背景信息介绍: FreeBSD 作为成熟的开源操作系统,长期积累了大量高价值安全公告、修复补丁与源码演化记录。这些历史漏洞样本不仅反映了真实的缺陷模式,也为后续同类漏洞挖掘提供了可复用的知识基础。传统静态分析工具能够提供稳定的代码扫描能力,但在针对历史漏洞归纳、规则快速生成与变体发现方面仍依赖大量人工经验。 本课题拟围绕 FreeBSD 历史安全公告(FreeBSD-SA)构建一套“历史漏洞样本整理 - 漏洞模式抽象 - CodeQL 规则生成 - 自动验证评估”的半自动化分析流程。系统将利用大模型对历史漏洞补丁进行归纳,总结典型漏洞模式,并自动生成静态分析规则,在 FreeBSD 当前代码版本中发现与历史漏洞同类的潜在问题。项目重点不在训练新的大模型,而在于构建一套可验证、可复用、可持续迭代的漏洞规则生成与应用框架。
- 具备 Python 编程能力,能够完成脚本开发、模块封装和流程联调
- 具备 C/C++ 代码阅读能力,能够理解系统底层代码逻辑与常见漏洞成因
- 了解常见安全漏洞类型,如越界访问、UAF、空指针、长度校验缺失、整数处理错误等
- 了解静态分析基本概念,对 CodeQL、数据流分析或规则编写有基础认知者优先
- 对 LLM API 调用、Prompt Engineering、RAG 等技术有基础了解或学习意愿
- 熟悉 Git 版本控制与协作流程
- 了解 FreeBSD 内核子系统、源码结构或开源安全公告处理流程
- 收集并整理 FreeBSD 历史安全公告、修复提交记录、补丁差异和关联源码上下文
- 设计结构化样本格式,提取 CVE、受影响文件、修复前后函数、调用关系等关键信息
- 形成可用于后续模式抽象、规则生成和验证评估的统一样本库
- 按时间划分训练集、验证集和测试集,为后续评估提供稳定基线
- 设计面向历史漏洞样本的大模型输入格式,将公告文本、补丁差异和源码上下文组织为统一提示
- 实现漏洞模式抽象流程,总结漏洞的触发条件、关键 source/sink、边界检查和修复方式
- 建立模式库,对相似历史漏洞进行聚类归纳,减少重复规则生成
- 支持对抽象结果进行人工复核与修订,提升模式描述质量
- 基于漏洞模式描述自动生成 CodeQL 查询规则及必要元数据
- 结合 few-shot 示例与 CodeQL 标准库上下文,提高规则生成质量和可执行性
- 设计规则修正流程,支持根据编译错误、召回失败和误报结果进行自动迭代修正
- 沉淀一批针对 FreeBSD 常见漏洞模式的可复用规则模板
- 实现规则编译检查,自动识别语法错误和依赖问题
- 基于历史漏洞样本进行回放验证,在漏洞版本上测试召回能力,在修复版本上测试误报情况
- 建立自动化评估框架,统计规则编译率、召回率、误报率等关键指标
- 形成“生成 - 验证 - 修正 - 再验证”的闭环流程,提升规则稳定性
- 将验证通过的规则应用到 FreeBSD 当前代码版本中进行扫描
- 分析扫描结果,筛选潜在高价值问题并进行人工研判
- 归纳系统在真实代码环境中的能力边界、误报来源和优化方向
- 将确认有效的新问题回流到样本库,支持后续迭代优化
验收时间:本课题预计于领取后 2-3 个月内开展课题验收,验收项如下所示:
- 代码:提交完整的样本构建、模式抽象、规则生成、验证评估等功能代码,并通过基础运行验证
- 文档:提交使用说明、设计说明、测试与评估报告等相关文档
- 汇报:提交课题总结 PPT 或技术报告,说明系统架构、实现过程与实验结果
- 展示:能够演示从历史漏洞样本到规则生成、再到代码扫描与结果评估的完整流程
请前往 登录/注册 即可发表您的看法…


