arXiv cs.CR· Md Afif Al Mamun, Gias Uddin·· 7 小时前AI 评分68
SecGent 框架利用 CWE 上下文检索与反馈修复实现安全且功能正确的代码生成
Secure and Functional Code Generation with Self-Evaluation
AI 摘要
该论文提出 SecGent,一种在推理时运行的代码生成框架,旨在解决大语言模型生成的代码功能正确但存在安全隐患的问题。该方法不依赖昂贵的安全微调,而是从通用弱点枚举(CWE)数据库检索相关弱点上下文,将其与任务规范关联以提供特定于任务的安全指导,并通过互补的功能与安全测试执行反馈来引导代码修复,从而在不牺牲功能的前提下提升安全性。
实验部分在四个开源大语言模型和 Claude Sonnet 5.5 上,使用涵盖五种编程语言的 CWEval 基准进行测试。结果显示,SecGent 在所有五个模型上的联合功能 - 安全成功率均高于四种推理时基线。对于开源权重模型,其平均功能 - 安全@1(FS@1)指标比 RAG 基线提升 15.5%,比针对各模型编译的最强提示优化器提升 19.8%;在 Sonnet 模型上,FS@1 达到 92.1%,优于最强的 AutoGen 基线 4.8%。此外,SecGent 在 FS@1 上比使用安全提示的 Claude Code 高出超过 6%,而基于反馈的修复机制进一步将 FS@1 提升了最高 6.7%,主要归功于在检查安全性的同时恢复了功能性。
事实层面,SecGent 确实在多模型、多语言基准上实现了性能超越,且明确使用了 CWE 文本记录而非漏洞代码示例作为检索源。推断层面,这种基于文本弱点的检索策略可能降低了引入错误补丁或过度防御的风险,使其更适用于复杂任务场景。猜测层面,若该框架能扩展至更多实时威胁情报库,或许能动态适应新型漏洞,但这需要后续验证。
来源:arXiv cs.CR · arxiv.org