分享好友 最新动态首页 最新动态分类 切换频道
Llama-Code Shield解读:大模型代码安全护盾解析
2024-12-26 11:22

引言

Llama-Code Shield解读:大模型代码安全护盾解析

大模型目前被广泛用于生成代码数据,能有效地提高研发效率。但LLM生成的代码中潜藏的安全漏洞,也成了悬在头顶的达摩克利斯之剑。最近,Llama-3的问世,不仅带来了新的代码生成能力,更配备了Code Shield这一安全检测利器,为LLM生成的代码筑起了一道坚固的防线。

腾讯朱雀实验室基于Llama-3开源的Code Shield项目,进行了相关的技术分析和实验测试。总体而言,Code Shield不仅为LLM生成的代码提供了安全检测的有效途径,更在误报率和扫描效率之间找到了平衡点。尽管当前开源版本的Code Shield在漏洞检测规则的使用上有所不足,但它的潜力巨大,只需根据项目需求添加相应的扫描检测规则,就能大幅提升检测成功率。

1. 概述

整体而言,Code Shield被嵌入了大模型部署的系统层面,专门对于LLM输入内容的代码安全进行监管和检测,其具体流程图如下图所示

图1. Code Shield在生产部署环境中的流程图

2. 技术分析:双层扫描,快速精准

Code Shield通过两层扫描解决方案快速处理输入LLM生成的代码。根据Meta的技术报告,Code Shield将首先粗略扫描生成的代码,如果第一层扫描认为内容可疑,则进行更全面的分析。

Code Shield的项目介绍中显示,“在生产环境中,超过 98% 的流量被归类为良性流量,不需要进行全面扫描。这意味着在大约 99% 的情况下,请求会在 70 毫秒的时间内得到快速处理。对于需要更彻底扫描的剩余流量,现代生产服务器环境中的 p90 延迟为 450 毫秒”。这种优化确保 Code Shield 在不影响性能的情况下提供强大的安全性,使其成为安全性和速度都至关重要的生产环境的理想选择。

Code Shield使用了静态分析工具,即:不安全代码检测器(Insecure Code Detector,ICD,对 7 种编程语言进行分析,涵盖 50 多种 CWE。ICD具体包括了两种静态分析工具,Regex和Semgrep。前者为一个正则表达式的检测器,后者可以进一步识别代码模式,分析代码结构。

值得注意的是,ICD中覆盖的规则可以进一步结合业务代码需求进行补充。以Semgrep为例,Code Shield扫描规则中并没有直接覆盖使用Semgrep的全量规则,因此在漏洞检出率上有较大提升空间,具体实验结果在下文有较详细介绍。

3. 落地实践效果

从落地应用看,Code Shield在编码助手Codex系列和聊天机器人Chatbot系列的LLM应用上,都可以进行部署,用来提高生成代码的安全属性。为了对Code Shield代码安全检测能力进行综合测评,朱雀实验室分别在LLM生成代码的应用场景和线下自有漏洞代码的应用场景测试了Code Shield的综合能力。整体来看,Code Shield当前版本中,规则使用较为谨慎,在各类数据集上的漏洞检出率在10%以下。

3.1 针对LLM生成代码的应用场景

这是Code Shield主要设计的目标应用场景。之前研究表明,LLM在生成代码中会存在相当比例的漏洞代码。但针对LLM生成代码的具体场景,又存在一些应用差异。一方面CodeX系列的代码助手更多会通过生成/补全代码的方式进行编程辅助;另一方面,ChatBot系列的LLM本身进行了一些安全对齐,直接进行风险代码生成的要求会被拒绝。因此针对两类场景,我们分别设计了100条测试数据,使用Code Shield,对于LLM生成的代码进行了安全检测。

以CWE-119、CWE190为例,我们基于CWE漏洞类型设计了具体的prompt指令,使得LLM绕过安全限制,生成风险代码,并使用Code Shield进行检测验证。示例如下图所示。

图2. CodeShield测试样例

1)针对CodeX类的编程助手

我们设计了50条prompt给出具体的代码生成指令,用来生成一些存在可能被利用的漏洞代码片段,我们共重复进行了2次代码生成任务,共获得了100条代码片段,覆盖了5种代码语言(C、C++、java、js、python,并使用Code Shield进行检测。其中有部分恶意prompt指令会在代码生成阶段被CodeX类编程助手合理避免并给出建议,但相当大部分仍会按照prompt给出有漏洞的风险代码内容。为了方便比较,我们也进一步对这些代码进行了人工校验标注。

表1. CodeX系列LLM上的Code Shield检测效果

2)针对ChatBot类的LLM服务

我们针对LLM(Llama-3, Llama-2, Code Llama等)也设计了50条prompt给出具体的代码生成指令,用来生成一些存在可能被利用的漏洞代码片段,共生成了50条代码数据,覆盖了5种代码语言(C、C++、java、js、python,并使用Code Shield进行检测。为了方便比较,我们也进一步对这些代码进行了人工校验。

表2. ChatBot系列LLM上的Code Shield检测效果

3.2 针对线下自有漏洞代码的应用场景

我们分别在开源漏洞代码数据集和自建漏洞代码数据集上对于Code Shield的代码安全检测能力进行了粗略测试。

1)开源漏洞代码测试

我们使用了200条业界常用的cve-fixes数据集【2】(104w条)和cwe test case数据集【3】(301条)。

表3. 开源漏洞代码数据集上的Code Shield检测效果

2)自建漏洞测试数据集

我们使用了100条自建的业务漏洞数据,覆盖了4种漏洞类型(hardcode、SQLI、Command Injection、Code Injection)和5种不同代码语言(c、cpp、python、java、js)。其中,Code Shield整体检出率4%,误报率为0%。

值得注意的是,因为Code Shield本身是针对LLM生成代码进行的安全检测和防护,因此可能出于减少误报、不影响CodeX、LLM服务等角度考虑,本身提供的规则比较简单,也可以由用户自行增加扫描规则。因此3.2本小节测试并不是Code Shield应用的真实环境和目标场景,仅作为补充实验供大家参考。

总结:Code Shield的潜力与未来

Code Shield作为LLM生成代码的安全检测和防护工具,已经证明了其在提高代码安全性方面的有效性。虽然当前版本的规则设置较为宽松,但Code Shield的灵活性和可扩展性,随着更多定制化规则的加入,使其在未来的代码安全领域有着无限的可能。

参考文献

1. https://llama.meta.com/trust-and-safety/

最新文章
站长必备高效工具,助力网站运营效率大幅提升
  在当今数字化时代,网站运营效率对于任何一个站长来说都是至关重要的。一个高效运营的网站不仅可以提升用户体验,还能增加网站的流量和收益。为了实现这一目标,站长们可以借助一些必备工具来提升网站的运营效率。  一个优秀的网站分
欧洲杯克罗地亚队11威尔士队(2020欧洲杯克罗地亚国家队阵容)
1、克罗地亚vs威尔士比分2、世界足球国家队排名前三十3、欧洲杯积分榜排名4、欧洲杯都有哪些国家5、2024欧洲杯预选赛积分榜最新6、克罗地亚和威尔士哪个强年3月22日03:45,以色列VS冰岛,比分2:2。2024年3月22日03:45,威尔士VS芬兰,比
路由器助手
《路由器助手》是款非常好用的路由器连接助手,适用于路由器的PPPoE协议拨号,让你在手机一键轻松设置密码。你还等什么?赶快下载体验吧。本软件为Android手机端路由器连接助手,适用于路由器的PPPoE协议拨号。为了软件体验及质量,我们不投
SLAM优化算法:图优化和凸优化算法的区别
小白:师兄师兄,最近我在看SLAM的优化算法,有种方法叫“图优化”,以前学习算法的时候还有一个优化方法叫“凸优化”,这两个不是一个东西吧?师兄:哈哈,这个问题有意思,虽然它们中文发音一样,但是意思差别大着呢!我们来看看英文表达
"赛博演猿:全球领先的人工智能数字人AIGC平台" – 技术分享
网址:https://www.zr-ai.com/在数字化时代,人工智能和数字人技术正在重塑我们的互动方式和内容创作。赛博演猿,作为全球领先的人工智能数字人AIGC平台,正以其自主研发的创新技术,为数字人领域带来革命性的变化。一、集成前沿技术的数字
美术画架双面画板儿童学习画板益智玩具多功能带画纸白板黑板0918信息
产品详细说明:产品名称:美术画架双面画板儿童学习画板益智玩具多功能带画纸白板黑板0918产品货号:SXR-0918产品规格:73x56x8CM玩具启迪:1、画画可以发挥孩子的想象力,是一种表达感情的方式。2、画画可以锻炼孩子小手的灵活性和协调性,
从群晖Web Station安装WordPress&PhpMyAdmin看shell的使用
创作立场声明:我再本文中描述的文字内容,为本人亲手创作。感谢小米机械键盘,感谢lg显示器,感谢mac系统,感谢chrome浏览器为本文做的贡献。借着最近蜗牛比较火,我也跟风买了一台,相对其他nas系统来说比较方便,如果你有公网IP可以尝试
www.131pk.com
通过本工具可以快速查询到您站点的谷歌(www.google.com)、百度(www.baidu.com)、必应(cn.bing.com)、雅虎(cn.yahoo.com)、搜搜(www.soso.com)、搜狗(www.sogou.com)、有道(www.youdao.com)等搜索引擎收录情况及反向链接;可以快速查询到谷
Sonar软件下载指南,一键获取使用教程与安装步骤,轻松上手!
Sonar下载指南,提供简单易懂的教程和安装步骤,让您轻松获取使用Sonar的方法。本指南详细介绍了Sonar软件的下载、安装和使用过程,帮助您快速掌握Sonar软件的使用技巧,提高工作效率。无论您是初学者还是专业人士,都能通过本指南轻松上手
ourplay游戏加速器 7.4.4 更新:2024-12-13备案号:沪ICP备17010969号-9A
ourplay安卓版,智能全局搜索,随时随地体验全球精品游戏和应用。ourplay游戏加速器,一般又称OurPlay,谷歌加速器。PUBG NEW STATE抢先畅玩,得限量版跑车皮肤, 11月11日开放测试!OurPlay加速器是一款自带谷歌服务框架的免费加速器,智能
相关文章
推荐文章
发表评论
0评