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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 885|回复: 2

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

[复制链接]

1635

主题

718

回帖

7071

积分

论坛元老

积分
7071
发表于 2023-4-24 18:38:40 | 显示全部楼层 |阅读模式 来自 江苏泰州
萧箫 发自 凹非寺
8 D/ }5 [9 B. D6 Z( E* X3 K量子位 | 公众号 QbitAI
' ]+ o9 j, F0 T+ @
. l6 Z. x$ k2 ^
ChatGPT知道自己写的代码有漏洞,但它不说!! j" G' ]3 T! W9 ^
来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。
% z. f+ V! p$ ~; q% u: Q- d2 V然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中的漏洞,并给出了一些解决方案和建议。, x1 ~( _3 [$ J2 Q; Z

/ ~3 D- m9 t/ `5 N: a( [: X* J( B, P, ?
! @  _5 `! Y  H7 l" F1 Q0 @
这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞. z  U7 M" {& r. f+ k/ _% B
而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。# T8 J) m/ X" ]/ I; V/ I
所以,用AI生成代码为啥会出现这种状况?# r8 M" H9 {0 J* M* N) l
写的程序中76%有安全漏洞
0 s- A- \, }# g8 @研究人员试着让ChatGPT生成了21个程序。/ Q& a: h) T# K. W/ [1 b
整个测试过程如下,先提交需求给ChatGPT,生成相关代码,再对这些代码进行测试,并检查问题、潜在的缺陷和漏洞等。
- u& {- q/ H) `+ S9 W- j/ I5 C5 {  t2 |* G

/ R5 N5 x' K& n" \1 c$ c
# C# [" o7 H1 i6 w- R4 f7 |5 A研究人员给ChatGPT提了包括C++、C、Java和Python在内的21个写代码需求,这是评估的结果:
  ^8 A3 a8 a+ i0 e$ Z6 _
% T' a$ P: |" c* f% w1 x& }, d1 w" `6 J( d. ?

5 p* W3 p0 }; o/ i* P统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。
( _  Q# F0 S; h* }3 s: I0 t于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。% d8 a4 o( x% x: I* z# S
ChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!* Q& J* P2 I+ h3 g- {. Z
显然ChatGPT并没有意识到,用户并不都是行业专家,很可能只需要一个无效输入,就能“引炸”它写的程序:
/ R2 I+ v* ~3 V* p
2 v( g- N, n3 K6 I3 J0 W( V3 u
! k& T5 D. R8 x; A* F% H1 d3 t( k, h
发现ChatGPT不知道自己写的程序不安全后,研究人员尝试换了种思路——用更专业的语言提示ChatGPT,如告诉它这些程序具体存在什么漏洞。5 G9 @7 l5 |% F; E0 D
神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。! y- |2 {5 |! ^& J7 h9 f0 ]- R$ U
经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。
8 C: ]! w' ~  _  t5 a研究人员得出结论认为,ChatGPT并不知道自己的代码中存在安全漏洞,但它却能在生成程序后识别其中的漏洞,并尝试提供解决方案。0 @% S2 g/ S: Q- [
论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。# x9 n' B) z1 T: M# A% ~! ?6 n
我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:
2 {- W5 u" L5 i4 c. @$ v$ f; _" H
" i2 K% ~% L& p9 T: E  \; s: Z' f9 Y/ T

$ g: |5 _. z. V0 W* f1 V5 d大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。" ^! i) ?- ?) `5 Z0 a$ @
程序员们在用它辅助写代码的时候,也需要考虑这些问题。
" t3 z2 G9 i& O# rCopilot也存在类似问题
- c& V% |: i# r  M6 W+ X) H事实上,不止ChatGPT写的代码存在安全问题。; H! @! [7 k' {% ]1 h! k
此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。$ d& N6 P7 |0 s; @& C
研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40%出现了安全漏洞。
, `4 r& s9 Y: F! p; N4 Q
$ t3 I( p2 B3 H1 I2 G+ j" n2 z
4 ~3 w: l6 [5 V) k5 ^
9 Y) b* K8 n+ W' [+ q# L. ?而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。
6 I9 G- w8 D8 |% \  f基于此,研究人员得出了如下结论:/ x3 U: n! B8 l4 G

# @7 O7 Q0 y% X2 z5 r2 N" U4 T3 Z( R- p
ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。$ x$ [* X$ C/ h
这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。
0 K4 h! ]+ O: j3 W( b5 j6 H
  o3 s! R+ Z$ o6 B- J5 {/ I3 b
作者介绍4 u: m6 ^& L' |6 h3 h, Q
四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。
4 X" Y( o6 e( O& K. n- ]; j
$ q) ]! Y$ ^' G5 p4 I" Q
9 u2 t( Q9 _! j2 |8 @8 {) B* J
4 Q6 W1 ^/ L, @8 `/ @# \" oRaphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。
7 ~& s2 m+ ~* a. C! W6 h# O) R5 j2 D4 q" j4 t/ ?- Y: T) j8 f' |

% o% A0 V3 n" m; \/ ~6 f7 z: b% e9 x( L: {
Anderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。
7 n7 V& w  A2 |- F2 v$ Q6 ^1 P( ^" u作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。$ A3 b! N+ v; X. N# \8 t, H( Q
你用ChatGPT写过代码吗?感觉它的“安全意识”如何?
( X2 r! m, S: S9 g' y论文地址:
/ ?# I6 j& J5 y6 F! h. chttps://arxiv.org/abs/2304.09655
, l: D& [: m0 t% a生成代码数据集:
% i1 ?2 Q2 `) O4 R2 Xhttps://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-6-22 12:25 , Processed in 0.039137 second(s), 24 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

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