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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 954|回复: 2

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

[复制链接]

1635

主题

718

回帖

7071

积分

论坛元老

积分
7071
发表于 2023-4-24 18:38:40 | 显示全部楼层 |阅读模式 来自 江苏泰州
萧箫 发自 凹非寺
) p3 ]3 |0 B7 c# K7 Q" I# K量子位 | 公众号 QbitAI( W1 {$ w! `/ T3 N( S. W
- b+ {, U, W0 D! @
ChatGPT知道自己写的代码有漏洞,但它不说!
% a) `  U4 X: j4 M8 f. _  v0 R( z来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。7 y  w2 d$ B! p3 Z8 T5 P7 a8 Y8 m2 h3 \
然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中的漏洞,并给出了一些解决方案和建议。
& H3 b/ i6 v% Y6 b. @; O% T- V- w; {. ?% \
  |! z& |& ~$ Q9 P! D4 j6 B

/ U. \- j: O. O4 f  K5 ]4 b这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞。
1 U, V  G* k9 U# B% I/ ^, m) G而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。
( S# ~6 Z7 u; T% z, h0 d: u& m所以,用AI生成代码为啥会出现这种状况?
6 R7 U& k0 V& e) q4 o& Q8 M+ Y写的程序中76%有安全漏洞
8 N. ]) B7 F3 k4 W! _研究人员试着让ChatGPT生成了21个程序。7 ~$ N+ o+ i1 L, z1 T
整个测试过程如下,先提交需求给ChatGPT,生成相关代码,再对这些代码进行测试,并检查问题、潜在的缺陷和漏洞等。" N  `8 f  q. c* q; K  g" ~1 Y

: n) j9 {9 h2 r" H
3 k/ t0 M+ r' g% b- |
, S$ r0 M/ w' f6 w! d& u研究人员给ChatGPT提了包括C++、C、Java和Python在内的21个写代码需求,这是评估的结果:
1 C; f/ K  @- a4 C* W. \0 Z
# F. C& O# e# n0 a4 e& ?8 o% w' Q" w) o) l5 c. t
5 p' M, ^' y9 L8 _
统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。# K$ P. T+ O4 ]% y, x, {( |3 m
于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。) u* n) C) J* ^0 L
ChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!& J2 A& P# P6 G
显然ChatGPT并没有意识到,用户并不都是行业专家,很可能只需要一个无效输入,就能“引炸”它写的程序:
7 a6 I! E9 K9 [0 x6 w0 B- o8 q3 i( \! `5 r- k, Q

0 x  e: F+ @: G: k: x% N( |' ]- A. w2 ]4 h
发现ChatGPT不知道自己写的程序不安全后,研究人员尝试换了种思路——用更专业的语言提示ChatGPT,如告诉它这些程序具体存在什么漏洞。9 S$ h! t8 r) ?2 f2 w
神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。
7 M- P) f$ J) f* K# I, e, X- k7 f2 O经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。9 }; R3 B5 I( {0 R5 Z
研究人员得出结论认为,ChatGPT并不知道自己的代码中存在安全漏洞,但它却能在生成程序后识别其中的漏洞,并尝试提供解决方案。/ g# Y- v2 K/ H; ?" n; o
论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。# i% K1 ?) u3 q2 x' G
我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:8 t2 z/ A$ O3 F- b. s( d6 W6 Z

# i3 Y0 x" b! H9 K: ^  S7 ]
: H+ Y" B# O+ d' P7 E! q
3 z/ j' ~' ^9 x% b! s3 y7 d大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。8 e. e/ j2 N7 x* }8 z
程序员们在用它辅助写代码的时候,也需要考虑这些问题。
$ i/ }+ K( Q8 s% u- t' yCopilot也存在类似问题) w# m* s7 S0 y: H/ p0 _% a: _8 `3 N
事实上,不止ChatGPT写的代码存在安全问题。
2 O; B. u7 |& ~$ m7 r$ l此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。% w! V1 ?+ O$ I0 F0 K
研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40%出现了安全漏洞。
8 d# z8 I: A( Y; I) F
, W% M2 @( A9 t0 n: g
+ S4 V; w( i& {: p$ t: h. a. }3 l. B: e& W
而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。0 ]; d' k2 h8 u7 m% y' n; U  Y
基于此,研究人员得出了如下结论:2 @- Y- t- u4 b0 Z& A

1 V7 e; D% }9 R. a" G" d5 P0 l
ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。# ~) O* X1 a0 H0 M; l" Y
这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。
4 Q  O" v" k7 D

& X* H$ O* J. _7 [: _. e% I作者介绍+ R/ r. Y7 \4 K4 A1 C  F9 A- ~
四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。
4 \( L2 S2 q& O3 q. e3 Y7 q5 I
! N& Z1 A$ X, @+ [# N8 [, ~# W; C6 g3 W, u9 ^. Y8 T! |2 N2 X

1 O& ]  r% \- a$ n. L, Q- ?Raphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。
: R- u. B4 m# p% S0 \( |$ ^
- u5 F* k( x3 K  O- \) b1 L% u2 R6 v3 F( u( H& ?2 y! d
" o$ F; f/ j4 D% U
Anderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。) O- H: R) e5 Q! N# l% Z$ K6 `; H
作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。
, t* i' g, u7 s5 c你用ChatGPT写过代码吗?感觉它的“安全意识”如何?1 m9 u+ U$ @/ A$ o; |, Q
论文地址:
+ b/ X1 ^0 ~3 j2 o9 Bhttps://arxiv.org/abs/2304.096555 p. F# `' b5 c" k
生成代码数据集:9 S7 A: V& n+ P
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-11-1 22:53 , Processed in 0.059888 second(s), 25 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

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