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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 852|回复: 2

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

[复制链接]

1635

主题

718

回帖

7071

积分

论坛元老

积分
7071
发表于 2023-4-24 18:38:40 | 显示全部楼层 |阅读模式 来自 江苏泰州
萧箫 发自 凹非寺
  t1 J. h, s. k+ p% r9 b量子位 | 公众号 QbitAI- I' k( C8 F$ @  _/ X! q5 @: g
6 [5 g+ d; F$ p6 d5 \. ?1 v7 u8 q
ChatGPT知道自己写的代码有漏洞,但它不说!
" h8 T" P- w; |- |# d! d! ~: S$ L来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。! }' {/ q% Y/ U) a; U" d* e& f
然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中的漏洞,并给出了一些解决方案和建议。$ t# e. v/ E) y( n) Q
% v' Y* f7 Q! n9 n- C' ?6 S5 i

. r' M& K2 _9 K  g# n0 M  d) X/ L- t7 r
这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞
: j' }# h, p3 U6 A. J& w' V而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。( Z* g3 ?8 J/ T; t  I7 N+ _8 L
所以,用AI生成代码为啥会出现这种状况?% j" u' v6 G: O, v- D1 p4 h
写的程序中76%有安全漏洞
; j# T& l- `+ b2 z  r1 p& ^. [5 r研究人员试着让ChatGPT生成了21个程序。
* {2 y* T7 I; _5 o" p" ?整个测试过程如下,先提交需求给ChatGPT,生成相关代码,再对这些代码进行测试,并检查问题、潜在的缺陷和漏洞等。6 s2 F+ e0 ]" c- u7 I# ~: Z9 e
' e' `$ c. X/ S( S" r2 |

0 m1 s. m2 D, g( y7 Y# X! y$ f' [0 \& t! U
研究人员给ChatGPT提了包括C++、C、Java和Python在内的21个写代码需求,这是评估的结果:0 F8 R4 ?3 t$ X! c
( L$ F0 a' O# X5 C% s% W5 y2 m

  r; E4 h+ r1 E: @8 ]/ h- F8 ~" f6 ^5 u( F2 `
统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。
+ B4 ~& x- ~" K5 R- v于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。
" j. H/ ?! E$ a" A, ]9 p; mChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!
7 F, J3 `0 w: x" C, m  U: ]显然ChatGPT并没有意识到,用户并不都是行业专家,很可能只需要一个无效输入,就能“引炸”它写的程序:
( S" k* f) a- M. c8 f  |8 F2 t/ T/ U
% c0 y* d  q4 ^3 d3 K  G; D% q2 V

' O* j  C* A, t! H+ p  u) X发现ChatGPT不知道自己写的程序不安全后,研究人员尝试换了种思路——用更专业的语言提示ChatGPT,如告诉它这些程序具体存在什么漏洞。  \. \; [9 {6 ]7 j
神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。; k) I6 _# N! K5 Y7 R7 T: F: R
经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。4 X  l4 ^& O+ D1 l
研究人员得出结论认为,ChatGPT并不知道自己的代码中存在安全漏洞,但它却能在生成程序后识别其中的漏洞,并尝试提供解决方案。
% F2 q5 n# d) ]' C4 W论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。% ]( O" d! h4 j# o% h6 h. a
我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:1 n2 r3 O" h% x
& X! _, Y- b5 S+ X

3 Y. {: i) |+ x3 u/ O3 }* m: k' c6 Q. e- q6 K: C1 n% m
大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。6 W2 N4 v) a5 ?) E1 T8 x1 A
程序员们在用它辅助写代码的时候,也需要考虑这些问题。( @5 M; t/ U0 @0 y
Copilot也存在类似问题
$ o8 I- I  j% X4 l事实上,不止ChatGPT写的代码存在安全问题。, Y+ w8 }: S. e$ R" e4 ?
此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。% ^$ k' D3 M- T6 ]# S4 Z
研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40%出现了安全漏洞。9 }4 B; S: X$ P* e& o* U
4 C& t  S8 r# P& g. Y

1 l4 @/ y! L. [7 ~* X
4 b7 ?- n9 C- H/ t6 M, V而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。
# P- g5 B+ N) K& ~基于此,研究人员得出了如下结论:
# t5 P0 b9 d( o, }) q9 m. G! B, H
9 a* q8 B& E! s* w) W+ J
ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。
& f! V9 s# B4 X# W1 v3 _% V这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。! N! J6 \2 f9 O6 N
' S6 V1 }, Z. K- y% A
作者介绍$ s) D& m# x+ H: l1 f' l
四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。3 z' K* M6 g7 r0 {4 V
* p% c! m: K9 {7 c0 ?( k
' n% O. ^8 ?; Q& ^, a: y: E
. z: B' }; J+ K2 t; L. r
Raphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。+ V: h8 I% s  L  R" g+ s
6 ?# w, }( o7 d1 t7 f* t
. s9 Z8 U) b" D. R# E  m# n1 u

1 X8 D5 t, B0 N: JAnderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。
- ^( F. h1 c" L4 z9 u作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。' m, J7 P" r: {# l. ~" {
你用ChatGPT写过代码吗?感觉它的“安全意识”如何?
- X1 m0 c( H. |论文地址:1 L' J/ L# _. e9 x
https://arxiv.org/abs/2304.09655! Y3 {9 C. j$ u4 ^! M
生成代码数据集:2 ?* B# Z) K7 O# D  w
https://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
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-24 07:04 , Processed in 0.048859 second(s), 23 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

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