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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 946|回复: 2

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

[复制链接]

1635

主题

718

回帖

7071

积分

论坛元老

积分
7071
发表于 2023-4-24 18:38:40 | 显示全部楼层 |阅读模式 来自 江苏泰州
萧箫 发自 凹非寺
* s3 y# r9 b  }量子位 | 公众号 QbitAI0 H2 K. t! R" \2 [$ T; x3 H
# M" W7 R& t% u' x
ChatGPT知道自己写的代码有漏洞,但它不说!$ ?1 }7 `, J; i% l+ ^7 t2 u
来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。1 y' x! l0 _+ u( }3 x$ Y
然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中的漏洞,并给出了一些解决方案和建议。
" S/ X" K0 ]4 N/ f# z5 l4 k/ e* i9 {2 ~: n! `; l9 Q
0 M0 T8 w: E$ n% Y2 M& m4 G- z0 ~

* q$ f) S" c0 Z$ [; E( I3 p8 X这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞+ o. U- ]6 c  }# O( F! N
而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。
9 P% d& O  I' j- u, V, G$ n所以,用AI生成代码为啥会出现这种状况?4 }6 d2 n- V, ]$ Y" g, M, [  C
写的程序中76%有安全漏洞
/ x' V* h7 k' z( b. b研究人员试着让ChatGPT生成了21个程序。/ v7 L. E* u+ D3 M
整个测试过程如下,先提交需求给ChatGPT,生成相关代码,再对这些代码进行测试,并检查问题、潜在的缺陷和漏洞等。
% Z2 N" s' n! E5 \0 z! k: Z7 o3 n, p4 }. V( E5 {7 Z

6 G& w0 c1 w& \/ D2 `9 f$ I; s$ o2 s, Q8 D) T5 y
研究人员给ChatGPT提了包括C++、C、Java和Python在内的21个写代码需求,这是评估的结果:
. h1 H$ \$ ]5 J; r( l+ Y
  Z5 m. A  U, Z) _
+ s# T5 Y& ]% e/ c4 p( `$ Z+ J# Y' a1 A! `
统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。  H+ f  b; J1 X& s) g- {7 ]
于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。+ S7 B9 {+ G1 ?4 m' i) g, N
ChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!8 |1 ~2 r  L2 Q9 b8 U  z$ z
显然ChatGPT并没有意识到,用户并不都是行业专家,很可能只需要一个无效输入,就能“引炸”它写的程序:' W8 Q( P7 {6 l6 S- _# O0 {
8 j5 F5 W' T  Y! n! }
  b5 A# n. ?% A/ D, `

8 I7 Q/ _: @4 n7 ^2 u发现ChatGPT不知道自己写的程序不安全后,研究人员尝试换了种思路——用更专业的语言提示ChatGPT,如告诉它这些程序具体存在什么漏洞。" ~" j% V3 _2 x; E
神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。
0 j! r3 B1 P! ~* N: T经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。& O# G/ K4 ]( G# s; P+ E
研究人员得出结论认为,ChatGPT并不知道自己的代码中存在安全漏洞,但它却能在生成程序后识别其中的漏洞,并尝试提供解决方案。# l0 e6 ^8 U8 u: D6 {; o  ^
论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。
* k4 H; z; z' ]8 I6 R我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:. d1 s2 R2 v9 b+ x
$ _' d- q" ]) m, y4 J
$ o7 D( C0 Z- \& @- Q+ \

+ S& U4 Q6 ^2 g) @1 t* k- H大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。* q) a( |/ E3 w4 R
程序员们在用它辅助写代码的时候,也需要考虑这些问题。
$ v4 P- q9 W0 N- {7 LCopilot也存在类似问题" ?" h! J( n; j7 {0 e# a
事实上,不止ChatGPT写的代码存在安全问题。
% ^  l" _# ~5 w+ }; G4 Q, f此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。* S- m8 I; Y$ i2 e- J7 p( A% y9 K3 v
研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40%出现了安全漏洞。
4 ^" C: w5 p! Z4 D6 ?1 b' q
# g& S6 M; R& P; g" G" |- v
' z3 Y7 x- k! X8 s. S! L9 H1 s$ Y. `* ^( m  o% m/ k5 b/ C
而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。
+ M; S- |# S& j: A基于此,研究人员得出了如下结论:
0 v8 p/ ~: w) \- P/ i3 c- E' d/ N5 [+ R% M7 Q$ Y1 \
ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。! g, \( M3 G' M7 \( \& f- c
这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。- S0 J+ l4 z! I% w3 E% D

3 x/ }5 J; H- t作者介绍
8 S* i9 a; Z  T8 n. K& J四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。
: x1 B6 M% J1 }9 M: C3 p
7 V8 G1 m* g2 M2 ^5 v7 S* N
1 z1 D+ O- j4 @3 i! [3 E$ ?, \, n5 O/ Z% Z# T  b' \3 Y1 @6 {
Raphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。9 q" A" {0 k9 _, N2 ~, z

* l: H% [% r3 d0 g* Q6 T
$ }( {2 W# f) t2 h0 u
# }4 B7 R7 \/ @! `' |' V$ C. ~Anderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。
* _, [- _4 m+ X8 }" Q作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。1 _- T/ X+ }, c
你用ChatGPT写过代码吗?感觉它的“安全意识”如何?
6 |" J3 l% a( T# D9 ]论文地址:
+ G3 y! j; k, m! H' X4 ghttps://arxiv.org/abs/2304.09655* a! {) J9 _) G4 Y
生成代码数据集:) g6 c; `: m- l( e! H
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-9-18 14:36 , Processed in 0.044052 second(s), 25 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

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