京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 777|回复: 2

ChatGPT明知自己写代码有漏洞,但你不问它就不说

[复制链接]

1635

主题

718

回帖

7071

积分

论坛元老

积分
7071
发表于 2023-4-24 18:38:40 | 显示全部楼层 |阅读模式 来自 江苏泰州
萧箫 发自 凹非寺, O: Z( c) x; [5 F) D
量子位 | 公众号 QbitAI5 ?5 `  H' t8 g
% ^9 T: g3 R9 I; m5 s
ChatGPT知道自己写的代码有漏洞,但它不说!
( i% V5 K+ J9 d; a# K3 X: `来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。! s( r5 t3 Y9 @* F  d2 n5 M
然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中的漏洞,并给出了一些解决方案和建议。6 i2 R- z$ U& l4 A
0 }! `5 c$ ]8 @3 c/ E* I

: }- x6 b! g' x% @2 k3 P' j4 h0 H4 I. ]' e2 S/ @  u$ k) N: q
这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞
( Z: E6 d/ X0 ?- {+ C% ^% R而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。
2 E3 ~$ y# _& t. V5 p  S所以,用AI生成代码为啥会出现这种状况?9 P% I( e2 b, e# k/ G
写的程序中76%有安全漏洞  u% k2 _9 f' _& k% ^
研究人员试着让ChatGPT生成了21个程序。
1 v2 W; y7 T2 S5 ?# G/ z7 ~4 K整个测试过程如下,先提交需求给ChatGPT,生成相关代码,再对这些代码进行测试,并检查问题、潜在的缺陷和漏洞等。
1 }1 T7 i9 U( X
9 f" r4 B1 P5 E. r
5 e) e, i( ]+ G7 f. x, J2 _' w; X
研究人员给ChatGPT提了包括C++、C、Java和Python在内的21个写代码需求,这是评估的结果:
4 j; c5 N1 `) M& g% z# Z
0 `8 h# ^; Z) m! K+ o. P5 u7 C3 y) A3 n! z

$ m+ Y/ x& a  m" L! U) u统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。
' B! w0 R9 m- A  @" S于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。
4 f! m% }7 d6 I- m9 l, yChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!
% ]% c* a' [+ {0 h  u3 D显然ChatGPT并没有意识到,用户并不都是行业专家,很可能只需要一个无效输入,就能“引炸”它写的程序:
$ M/ u! v5 R" l! x  F% F5 |( ?
2 P7 e  P. v2 D! L! f; a
. o8 _: A: d2 G4 I* U- Q  c) O! d  ]" [  J) R
发现ChatGPT不知道自己写的程序不安全后,研究人员尝试换了种思路——用更专业的语言提示ChatGPT,如告诉它这些程序具体存在什么漏洞。7 K2 V+ s7 [! v& H7 }" N3 Q& E. `
神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。9 a: K6 `# E% Y. u0 b$ Q% Q9 V
经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。9 u* H, k( c& |( u
研究人员得出结论认为,ChatGPT并不知道自己的代码中存在安全漏洞,但它却能在生成程序后识别其中的漏洞,并尝试提供解决方案。! h9 h7 i$ K- I7 q
论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。: T" X  P9 Q+ @% P0 p' F
我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:
8 z) o4 Z! p9 c; k& g0 H4 [
! l: R. Y" _. z# i; C6 g
2 k6 [: y  E5 Z7 g& t; H" x6 }; t" r: {1 }. n* Y9 y4 O+ N: c
大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。
+ j) X0 Z. l! ~  r. I程序员们在用它辅助写代码的时候,也需要考虑这些问题。# u6 P: a4 b2 P4 P, d- D& G
Copilot也存在类似问题" K2 H3 R5 i  C! `" x
事实上,不止ChatGPT写的代码存在安全问题。9 {& A- f, Z( U/ m4 ~
此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。  D+ X4 U# W/ D4 I/ H
研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40%出现了安全漏洞。( n$ H' u+ t; J: S7 ^

6 l( J6 |4 t/ i0 M. D  ~" v
9 C9 O  U( Z! G5 i
! R! X. S, ]! h+ F. T: ~! O! ?而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。( T$ k2 p- g0 J4 B* N( S% n( I; ]4 E
基于此,研究人员得出了如下结论:2 p4 k- K4 a, j- F% ?: N# ]
  H; K- j" b- v" V0 [
ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。3 m* K5 R; O) n' G+ M
这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。. v, }" Z3 O( `! i9 G6 D
, f% M3 u# Y1 ^. R9 d: w. y/ M
作者介绍
: P, u: w0 P/ H' L7 `7 S% k四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。
6 E: V& _# Z; F& b8 |! ?0 ~6 J  w2 N/ d# t: j. y9 \0 W5 X3 a3 ~# B
! V3 l4 g+ O4 m, U, e. z2 d; U  t- X
, c! c) t+ p  _
Raphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。
9 q7 {8 t( Q5 |6 t5 ^3 s* s: m( l8 s/ X" V

6 y# T  i# W  q" J* I+ n' f) y4 d5 F! n; z
Anderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。
3 ^; p6 O" l5 ?作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。
9 d2 I/ y8 z$ Q7 N3 @) f( V( T你用ChatGPT写过代码吗?感觉它的“安全意识”如何?
  K. N6 [% A- I, v8 ^论文地址:
* H  o# j- i7 w- N: chttps://arxiv.org/abs/2304.09655
' e! L" `( |2 B& |& O生成代码数据集:
: u; j( r5 ]0 s- z! _5 Z1 ]5 t) R0 Mhttps://github.com/RaphaelKhoury/ProgramsGeneratedByChatGPT

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

帖子地址: 

梦想之都-俊月星空 优酷自频道欢迎您 http://i.youku.com/zhaojun917
回复

使用道具 举报

1619

主题

695

回帖

6960

积分

论坛元老

积分
6960
发表于 2023-4-24 19:08:31 | 显示全部楼层 来自 江苏泰州
知道你是行家, 知道忽悠不了你的時候, 馬上便認真起來~
梦想之都-俊月星空 优酷自频道欢迎您 http://i.youku.com/zhaojun917
回复

使用道具 举报

1694

主题

712

回帖

7240

积分

论坛元老

积分
7240
发表于 2023-4-24 19:39:01 | 显示全部楼层 来自 江苏泰州
这逻辑很好理解,生成代码,和安全检查,是不同的引擎做的
梦想之都-俊月星空 优酷自频道欢迎您 http://i.youku.com/zhaojun917
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-8-24 06:15 , Processed in 0.038822 second(s), 24 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表