MemRepair: Hierarchical Memory for Agentic Repository-Level Vulnerability Repair — arXiv:2605.17444
论文概览¶
机构: 多机构合作
核心问题: 代码安全 agent 在修复代码仓库漏洞时,需要同时理解漏洞的语义上下文(为什么这里有漏洞)、代码库的全局结构(依赖关系、调用链)、以及历史上类似漏洞的修复模式。现有代码 agent 方法缺乏层次化的记忆机制来处理这种多尺度信息。
方法: MemRepair 提出层次化记忆架构,专门服务于仓库级漏洞修复任务,将记忆分为三层并设计专门的跨层检索机制。
三层记忆架构¶
- 文件级记忆(File-level Memory):记录每个文件的函数签名、调用接口、已知问题,精确到函数级别
- 仓库级记忆(Repository-level Memory):记录仓库的整体架构、模块依赖关系、安全策略,以及跨文件的漏洞传播路径
- 经验级记忆(Experience-level Memory):记录历史上类似漏洞的修复模式,形成可复用的修复知识库
层次化检索¶
- 自底向上:给定一个漏洞,首先在文件级记忆找到相关函数,再向上检索仓库级记忆理解其上下文,最后匹配经验级记忆中的类似修复案例
- 自顶向下:给定仓库安全策略,向下分解到具体文件和函数,检查是否存在策略违规
核心贡献¶
- 首个仓库级代码修复层次化记忆框架:系统解决代码修复中多尺度信息整合问题
- 修复模式记忆库:从历史漏洞修复中自动提取修复模式,支持新漏洞的快速修复
- 漏洞传播路径追踪:利用仓库级记忆追踪跨文件漏洞影响范围,避免修复引入新漏洞
- 在 Big-Vul、Reveal 基准上的验证:MemRepair 的修复成功率比无记忆 baseline 提升 34%,平均修复时间减少 28%
为什么重要¶
仓库级漏洞修复是代码安全的核心任务,而多尺度信息整合是该任务的主要挑战。MemRepair 的三层记忆架构为代码 agent 提供了一种组织复杂上下文的方法,其经验级记忆的设计尤其有价值——让 agent 能够"记住"以前是怎么修的,从而在新漏洞上复用有效的修复策略。
与移动端/端侧的相关性¶
移动端代码安全 agent 面临特殊的端侧约束——无法一次加载整个仓库到上下文。MemRepair 的层次化设计天然适合资源受限场景:可以优先加载文件级记忆(最小粒度),只在需要时再向上下文添加仓库级信息。
参考文献¶
- Liu, S., et al. (2026). MemRepair: Hierarchical Memory for Agentic Repository-Level Vulnerability Repair. arXiv:2605.17444.