您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[安全开发者峰会]:LLM与代码安全 - 发现报告

LLM与代码安全

AI智能总结
查看更多
LLM与代码安全

个人简介 王滨,关注代码安全(自动化漏洞挖掘)、LLM应用、LLM代码生成与代码生成安全。 以一作身份发表专著《大语言模型与代码生成安全》(中文版-清华大学出版社、英文版-IEEE&willey联合出版)、《LLMPromptAttackGuide》,发表相关领域顶会会议论文、期刊十余篇。 所在实验室关注网络安全、LLMofsec、secofLLM。 SecureNexusLab创始人,各平台累计安全领域垂类粉丝数万余人。 https://github.com/TheBinKing/awesome-code-generation-and-securityhttps://github.com/Tencent/AICGSecEvalhttps://github.com/Tencent/AI-Infra-Guardhttps://github.com/SecureNexusLab/LLMPromptAttackGuidehttps://github.com/SecureNexusLab/IoTFirmwareAnalysisGuide 同时外部社群关注AI以及安全生态的建设、讨论,围绕多方合作和社群自建的模式吸引大量优秀同仁 主要分享近些年个人和团队在LLM代码安全这个场景的部分思考和成果 LLM应用广泛,逐渐渗透至各个领域 1.LLM代码生成应用背景 行业重大需求 代码生成安全是软件开发的一项基础性工作,必须重视和加强代码生成安全工作 在LLM使用场景中,代码生成的相关需求远远高于其他类型任务 https://www.anthropic.com/news/the-anthropic-economic-indexhttps://openrouter.ai/rankings?view=month 能够根据上下文自动补全代码 能够根据注释描述自动补全代码 代码开发新范式,LLM4CODE 自动根据项目信息生成测试文件 进行代码理解翻译 代码开发新范式,LLM4CODE 代码开发新范式,LLM4CODE 便捷的生成下 安全隐患? 2.LLM代码生成的安全问题 代码开发新范式,AI提升开发速度 LLM提高了代码生产效率,但是安全性未必得到足够的关注 行业重大需求 代码生成安全是软件开发的一项基础性工作,必须重视和加强代码生成安全工作 评测为尺,风险现形:项目级AI生成代码安全性评测基准 A.S.E: A Repository-Level Benchmark for Evaluating SecurityinAI-Generated Code 现存问题 现有评估基准与真实开发场景脱节,严重高估了模型的实际安全能力。当前代码安全评估基准大多针对孤立的代码片段,无法反映模型在真实仓库级开发环境中的表现,导致评估结果失真。 揭示实际repo场景的代码生成安全隐患,探索各模型在该场景的能力边界 Huggingface日榜周榜双第一 评测为尺,风险现形:项目级AI生成代码安全性评测基准 A.S.E: A Repository-Level Benchmark for Evaluating SecurityinAI-Generated Code 现存问题 现有评估基准与真实开发场景脱节,严重高估了模型的实际安全能力。当前代码安全评估基准大多针对孤立的代码片段,无法反映模型在真实仓库级开发环境中的表现,导致评估结果失真。 评测为尺,风险现形:项目级AI生成代码安全性评测基准 A.S.E: A Repository-Level Benchmark for Evaluating SecurityinAI-Generated Code 现存问题 现有评估基准与真实开发场景脱节,严重高估了模型的实际安全能力。当前代码安全评估基准大多针对孤立的代码片段,无法反映模型在真实仓库级开发环境中的表现,导致评估结果失真。 当前大模型安全编码能力显著薄弱 所评估的26个主流大模型均存在代码正确性优先、安全防护滞后的问题,表现最好的模型代码质量得分高达91.58,但安全得分仅46.72,且无任何模型安全得分突破50分。 “慢思考”推理模式无助于安全生成 更大的推理预算可能引入冗余逻辑或偏离安全目标,反而降低代码安全性;简洁直接的快思考推理模式,在仓库级安全漏洞修复中更高效。 大模型代码片段级安全优势无法迁移 仓库级场景需大模型处理跨文件调用链、构建系统依赖等需求,而多数大模型仅擅长孤立代码生成,仅极少数模型具备项目级安全理解能力。 3.LLM代码安全生成的安全实践 质量评估与链式思维的安全缓冲 Is Your Prompt Poisoning Code? Defect Induction Rates and Security Mitigation Strategies 现存问题 提示词质量对安全性的关键影响被严重低估,缺乏系统性研究与管理。现有工作过度关注模型的对抗性攻击和固有缺陷,却忽略了良性但质量差的提示词会显著增加代码缺陷率的严重问题。 种可落地的提示优化策略2 思维链(Chain-of-Thought):通过分步推理强化安全考量,如L3级提示下CWE-284漏洞率从49.84%降至43.41%。 自我修正(Regenerate Act):模拟安全专家自检漏洞并修复,在L2-L3级复杂任务中表现突出,漏洞率显著下降。 个维度3 逻辑一致性 信息完整性 目标清晰度 个等级4 L3:编程新手级规范 RAG与大模型自我修正的协同防御 REFLEXGEN: THE UNEXAMINED CODE IS NOT WORTH USING 现存问题 当前提高大模型代码生成安全性的主流方法是微调模型或构建安全代码数据集,这些方法需要巨大的计算资源和标注成本,且无法在模型部署后进行轻量的、持续的优化。 大模型自反思机制 REFLEXGEN:低成本、高效率、高安全的轻量化解决方案 大模型自反思初始代码缺陷,迭代优化并更新知识库,无需微调即可提升代码安全性。 增强检索生成技术(RAG) 初始代码生成后,以输入与初始代码做RAG查询 整合RAG安全知识,辅助大模型生成优化代码 ReAct范式赋能的多智能体代码生成框架 RA-Gen: A Controllable Code Generation Framework UsingReActfor Multi-Agent Task Execution 现存问题 复杂任务要求下,代码生成过程缺乏可控性与透明性,难以集成外部知识。现有代码生成模型其内部推理过程不透明,导致用户无法信任、干预和引导其生成安全可靠的代码。 LLM+漏洞挖掘 现存问题 传统代码漏洞检测(尤其是污点分析方向)在工业界落地时面临“自动化程度低、精准度不足、人工成本高”三大核心瓶颈 LLM+RAG动态标记 LLM语义精筛 全流程语义闭环 核心价值:自动化完成Source/Sink/propagator标记,覆盖小众API/自定义方法 核心价值:过滤“规则误判”的无风险漏洞,提升结果可信度 核心价值:利用LLM的语义理解能力贯穿“提取→标记→检测→精筛”,提升端到端准确性 突破传统痛点:避免现有技术仅用LLM做“单点优化”的局限 突破传统痛点:解决人工标记“成本高、覆盖不全、新API滞后”问题 破传统痛点:解决传统规则过滤“识别不了语义无风险场景”的盲区 合作共建基础设施漏洞扫描 核心功能 A.I.G (AI-Infra-Guard)是朱雀实验室开源的一款智能、全面、易用的AI红队测试平台,GithubStar 1.5K+。 AI基础设施漏洞扫描 支持AI基础设施漏洞扫描、Prompt安全评测、一键越狱、MCP Server安全扫描等功能。 内网AI平台常见风险扫描(优化中)未授权、列目录、鉴权不当、弱口令等风险 开源AI框架与组件CVE漏洞扫描如ollama、ComfyUI等Web组件400+漏洞 支持一键Docker部署,提供详细使用文档与指引,非专业用户也可以快速上手。 支持插件式配置,快速添加组件漏洞指纹、评测集、新型风险扫描能力。 Prompt安全评测 快速开始 大模型Prompt安全评测支持内置/上传提示注入与越狱攻击评测集 大模型一键越狱 内置主流攻击算子,实现一键定向越狱 $https://github.com/Tencent/AI-Infra-Guard MCP Server风险检测 MCP Server源码白盒审计AI Agent分析代码中MCP投毒与漏洞等风险 远程MCP Server黑盒扫描AI Agent动态连接MCP识别常见风险 欢迎一起开源社区共建和讨论 扫AI组件、MCP Server智能漏洞检测 A.I.G(AI-Infra-Guard):AI Red Teaming Platform 现存问题 AI服务生态快速膨胀,AI组件、MCP Server成为攻击新靶点。作为连接模型与工具的桥梁,其质量参差不齐,存在大量未经安全审计的第三方插件和开源组件。 AI组件供应链威胁模型产品 精准识别30+AI框架组件,覆盖近400个已知CVE漏洞,包括Ollama/ComfyUI/vLLM等 MCP组件恶意潜在执行难发现 检测9大类MCP安全风险(如工具偷毒、数据窃取等),支持源代码/远程URL扫描 LLM红队测试 对LLM进行红队安全测试 全面开源,从GitHub千星到BlackHat的社区驱动防护 A.I.G(AI-Infra-Guard):AI Red Teaming Platform 本项目自2025年初开源以来,已在Github上被1800+全球用户点赞关注,获得DeepSeek官方推荐,入选全球安全顶会BlackHat兵器谱。 开源地址:https://github.com/Tencent/AI-Infra-Guard/欢迎Star、体验与共建。 4.AI代码生成威胁 生成属性上的直接风险 生成代码的风险生成和应用架构上的安全缺陷 间接风险 (生成属性)AI代码生成威胁:代码缺陷、漏洞与后门生成 现存问题 目前LLM本身具有很强的代码编写能力,但是同样也会写出代码缺陷、代码漏洞甚至是有后门带代码。这些“特性”具有不安全性和可操控性。 海量实测结论:507,044个实例,其中Python285,249、Java221,795 Python侧 AI代码总量与密度均高于人类,而唯一CWE种类数与人类接近⇒新类型不一定更多,但同类型重复更多(密度更高) JAVA侧 Java侧差距更大:面更广、频率更高(尤其DSC) 缺陷谱系 AI更偏“赋值/未用/结构浅”,人类更偏“算法/复杂度/检查” (生成属性)AI代码生成威胁:代码生成系统智能体存在的安全问题 现存问题 目前主流的自动化或者半自动化的AI编程助手主要是基于LLMAgent的结构实现的,这种Agent结构提升了大模型的自动化能力,但也引入了安全问题。 (间接安全风险)AI代码生成威胁:供应链安全风险 现存问题 大模型的代码生成能力依赖于对海量代码数据集的学习,其中GitHub是最主要的数据源之一。其开放性让攻击者能够轻易实施数据投毒攻击。此外,模型幻觉也会加剧软件供应链的安全风险。 攻击者可对LLM提出常见编码问题,识别出LLM反复推荐的虚假包名,然后在公共仓库中注册同名恶意包。开发者见到建议就安装,最终下载植入后门。 (恶意风险)AI代码生成威胁:代码生成武器化 现存问题 大模型的代码生成能力在提升程序员开发效率的同时,也可能被攻击者滥用,不仅用于更高效地编写恶意软件,甚至还能辅助其规避安全检测。 通过让大模型lua语言生成能力,实现让勒索软件动态地扫描、分析执行环境,动态地进行攻击步骤。 LLM作为一个