AIGC的狂欢,代码安全的隐患。
大家好,这里是安势信息。
小故事一则:
【小开】与【小A】本是一对兄弟,小开年纪大小A几岁。小开是个好哥哥,早早的担负起哥哥的责任,有什么好的都给了小A,比如什么GAN算法、Stable Diffusion,CLIP模型、Transformer等等,小A从懵懂无知的孩童被小开拉扯成了一位优秀的青年。时代更迭,时光流逝,是金子总会发光,经过多年努力,优秀的小A终于被众人所注意,其内容生成能力被大家趋之若鹜,成为人人追捧的对象,小A顿时声名大噪。但是许多人都忘了那个将小A培养成才的小开,终有一天小开再也无法别人的冷眼与忽视,它终于......
后面的故事会如何,就由读者您自行先想象吧。
以上这则小故事仅为笔者的小脑洞,也算是个引发大家思考的噱头,开源软件即【小开】,AIGC即【小A】,纵贯AIGC发展,离不开各类开源技术与模型的加入。某种意义上,没有开源,也就没有今天蓬勃发展的AIGC,他们互相依赖,也互相促进。但是正如故事情节中的一样,我们往往在享受权力的同时,忘记承担对应的义务,正如同我们在使用AIGC的同时,忘记承担起进行开源治理的责任。
水能载舟,开源能够进一步促进AI相关技术的发展,然而一旦忽略开源带来的风险,水亦能覆舟。
一.AIGC代码的两大风险
AIGC代码所带来的风主要是:
l 安全风险
l 合规风险
我们从两个场景来进一步展示。
场景一:ChatGPT生成代码风险-引入高危安全漏洞
图2:AIGC引入具有高危漏洞的开源组件 (图片来源:ChatGPT)
在图中将字符串解析为json的场景下,引用了fastjson这一开源组件,这个开源组件包含了一个CVSS高达9.8分的漏洞,而后ChatGPT给出的代码中漏洞为可达的状态。
在图中将字符串解析为json的场景下,引用了一个名为fastjson的开源组件,而这个开源组件包含了一个cvss高达9.8分的漏洞,而后ChatGPT给出的代码中漏洞为可达的状态。
由此不难看出,AIGC的代码中,会频繁调用很多的开源组件,极其对应的方法,函数等。而当下的AIGC技术显然无法对引用的相关开源组件进行安全性上的审核与管控,所以如果放任各类带有高危漏洞的开源组件进入我们的代码库,那么类似于log4j的安全事故将会层出不穷,对我们造成巨大损失。
场景二:Github Copilot生成代码风险-引入带有合规问题代码
上图为AIGC的某个场景,使用者想要用C语言实现KMP算法,而后AI为其提供了对应的示例,然后,示例中的代码大部分都来源于GitHub上的这个开源项目:
github.com/sukritishah15/DS-Algo-Point/commit/c7cfd62e
我们可以很容易地意识到,这两段代码系出同源,但是Copilot不会对呈现代码的软件许可证给出信息,如果企业从这种途径引入了开源代码但未遵循相应的许可协议,将会引发很严重的法律和商誉风险。
AIGC的安全风险与合规风险问题,本质上依然是开源代码的问题,所以想最大程度的规避这类问题,自然需要对应的开源代码代码扫描工具,也就是我们常说的SCA工具。
安势作为一家专注于软件供应链安全的企业,通过不计成本的开发投入以及多家头部企业的技术积累,在【AIGC everywhere】的大背景下,大幅度提升了SCA基础能力的同时也将会带给用户企业级AIGC治理能力。清源SCA将于近期发布新版本,新特性新UI,更有强大的漏洞可达能力为代码安全保驾护航,欢迎您多多关注,申请试用!