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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 948|回复: 2

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

[复制链接]

1635

主题

718

回帖

7071

积分

论坛元老

积分
7071
发表于 2023-4-24 18:38:40 | 显示全部楼层 |阅读模式 来自 江苏泰州
萧箫 发自 凹非寺
$ J: l, O! ~9 f量子位 | 公众号 QbitAI
! |, V4 f6 N7 l
7 {) h+ I5 W. L' V+ K% |) |
ChatGPT知道自己写的代码有漏洞,但它不说!
3 P+ v( z6 \& H& p5 M3 \  E3 `1 W来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。
0 f+ t6 B5 J9 \& G5 Q: e然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中的漏洞,并给出了一些解决方案和建议。
. O+ k: C. M2 d/ l/ P
+ Z( C. u5 S) _2 G8 k
. K" S6 a6 i- T8 ^6 T4 O) u% _, H- g# W3 Y2 R8 T* Q5 D
这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞1 @! ]8 w. z7 d$ J  j) X
而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。: P/ G+ H( J, Y  W2 Q
所以,用AI生成代码为啥会出现这种状况?# `& J) R# J8 L1 `+ H* D1 d$ }% G
写的程序中76%有安全漏洞4 v% p' o7 ^* Y* _- S, o! m. z
研究人员试着让ChatGPT生成了21个程序。. J" a- W3 i1 E& z& t' n% E
整个测试过程如下,先提交需求给ChatGPT,生成相关代码,再对这些代码进行测试,并检查问题、潜在的缺陷和漏洞等。
- [, H% H0 z4 ~  i6 Z4 T1 }7 b) ], u' ]* i

) k5 d% j8 `3 B  _" F% p3 O, [/ D& M$ T1 ^& u
研究人员给ChatGPT提了包括C++、C、Java和Python在内的21个写代码需求,这是评估的结果:& j0 ]- P" i4 P- w# L- l) |4 W

* E0 C1 W7 \! v4 o* R7 ]9 j/ a5 k  I0 S

& m" Z+ h4 d9 G  F) t统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。
" Y) u/ q+ d3 y+ V" \) j2 L# [) |/ Z于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。7 \9 v% |, X, h
ChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!
6 r& w- v; b6 ^  A显然ChatGPT并没有意识到,用户并不都是行业专家,很可能只需要一个无效输入,就能“引炸”它写的程序:
5 f' U+ {5 J: S. z) {
: T! C- r+ M9 w, s7 p
/ {3 W' l1 ]1 \/ s) J% _3 S
) E0 [! R7 ]  ]6 R& \发现ChatGPT不知道自己写的程序不安全后,研究人员尝试换了种思路——用更专业的语言提示ChatGPT,如告诉它这些程序具体存在什么漏洞。
$ A1 T3 M0 X# U1 T) H神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。& X) ^* ^! B+ N0 R  w( a
经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。
) S+ a3 O7 [+ O$ _3 z+ S研究人员得出结论认为,ChatGPT并不知道自己的代码中存在安全漏洞,但它却能在生成程序后识别其中的漏洞,并尝试提供解决方案。. {  L7 w. U/ C  ~9 {
论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。, M8 T4 o9 y( R5 v# }
我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:
  G' l" I1 M" L- E
! z/ }$ Y! I2 A( M) L/ I: H
. l" |0 O, i: S
/ g" ~& w9 G0 i- N9 B大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。7 M+ d* H& H. w
程序员们在用它辅助写代码的时候,也需要考虑这些问题。5 w) N9 \: }7 n5 d8 v2 H5 t6 q
Copilot也存在类似问题
" z. Y! P/ l; L% G事实上,不止ChatGPT写的代码存在安全问题。
0 N6 {# j5 [, u此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。0 Z5 h. Q+ N1 v
研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40%出现了安全漏洞。8 S; j( Z5 k, O+ p

6 o0 @$ x/ u4 N5 j" q1 P! ]; v4 j9 ^3 Q  O' W9 k

' D( I) N( q/ G' A1 V; {: o而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。) G' k% D9 O* p5 E, M
基于此,研究人员得出了如下结论:
" D" L: U/ d0 P- u$ m
3 o1 Z* L$ q+ k
ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。- ^1 k1 H( c) ]9 H
这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。
2 \0 e/ z  z8 F1 `( P
1 t8 z3 J& q2 y+ k3 S  v- e
作者介绍
& z, M. Q2 s6 ?2 k6 o' n4 [四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。
( m' v) n) l$ t% q! t- I$ x) p6 C: p6 L

* _1 I0 k3 U  n  @0 g& i. T8 d) e+ C' Z$ P0 R. H6 M
Raphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。3 Z/ j  p" i2 M$ k# T

7 p  {# C( ^) J0 i# Z9 F6 W9 a5 P
$ W& W! t7 B3 f5 O) z3 l8 F# u% S0 U0 q$ I# x
Anderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。
7 ^. u# w( W8 o( \/ e# Z作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。% A2 z5 F7 c& h3 R6 s+ `$ `9 T
你用ChatGPT写过代码吗?感觉它的“安全意识”如何?
1 N; \- z; b, a" ]# O* F5 R8 n论文地址:
+ j- d2 f. i  S* khttps://arxiv.org/abs/2304.09655/ F3 j' h, m" c
生成代码数据集:
) c" V: _; o4 _, b5 ^6 J! Q! r. Ohttps://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 16:39 , Processed in 0.047622 second(s), 25 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

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