LLM代码安全研报总结
个人简介
王滨,专注于代码安全、LLM应用、LLM代码生成与代码生成安全。主要成果包括专著《大语言模型与代码生成安全》、顶会会议论文十余篇,并创立SecureNexusLab,拥有大量安全领域粉丝。开源项目包括AICGSecEval、AI-Infra-Guard等。
LLM代码生成应用背景
LLM在代码生成场景需求远高于其他任务,包括自动补全代码、根据注释生成代码、项目信息生成测试文件、代码理解翻译等。LLM提升了开发效率,但安全性需重视。
LLM代码生成的安全问题
评测为尺,风险现形
- A.S.E基准问题:现有评估基准与真实开发场景脱节,高估模型安全能力,多数模型安全得分不足50分。
- 推理模式问题:“慢思考”模式反而不利于安全生成,快思考模式更高效。
- 代码片段级优势无法迁移:多数模型仅擅长孤立代码生成,缺乏项目级安全理解能力。
现存问题
- 提示词质量对安全性的影响被低估,缺乏系统性研究。
- 大模型代码生成存在缺陷、漏洞甚至后门。
LLM代码安全生成的安全实践
质量评估与链式思维的安全缓冲
- 提示优化策略:思维链(Chain-of-Thought)、自我修正(Regenerate Act)。
- 提示词质量维度:逻辑一致性、信息完整性、目标清晰度。
- 提示词等级:L3级编程新手级规范。
RAG与大模型自我修正的协同防御
- REFLEXGEN:大模型自反思机制,低成本、高效率提升代码安全性。
- 增强检索生成技术(RAG):整合安全知识辅助生成优化代码。
ReAct范式赋能的多智能体代码生成框架
LLM+漏洞挖掘
- LLM+RAG动态标记:自动化完成Source/Sink/propagator标记。
- LLM语义精筛:过滤无风险漏洞,提升结果可信度。
- 全流程语义闭环:提升端到端准确性。
合作共建基础设施漏洞扫描
- A.I.G平台:支持AI基础设施漏洞扫描、Prompt安全评测、一键越狱等功能。
AI代码生成威胁
生成属性上的直接风险
- 代码缺陷、漏洞与后门生成:AI生成的代码存在不安全性和可操控性。
- 缺陷谱系:AI更偏“赋值/未用/结构浅”,人类更偏“算法/复杂度/检查”。
代码生成系统智能体存在的安全问题
供应链安全风险
- 数据投毒攻击:攻击者通过GitHub数据投毒,植入后门。
- 模型幻觉加剧风险。
代码生成武器化
- 恶意软件生成:大模型被用于编写恶意软件,辅助规避检测。
总结
LLM代码生成虽提升效率,但安全性需重视。现有评估基准与真实场景脱节,多数模型安全能力薄弱。需通过提示优化、RAG、ReAct等手段提升安全性。AI代码生成存在直接风险(代码缺陷、漏洞、后门)和间接风险(供应链安全、武器化)。需加强安全实践,共建安全生态。