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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 830|回复: 2

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

[复制链接]

1635

主题

718

回帖

7071

积分

论坛元老

积分
7071
发表于 2023-4-24 18:38:40 | 显示全部楼层 |阅读模式 来自 江苏泰州
萧箫 发自 凹非寺6 g" f! k. L9 e% s9 S( a+ [; W# e9 ]6 O
量子位 | 公众号 QbitAI) L3 @5 {% U" T/ p5 ~  t! T
# O) N0 Q( ^% c3 O' \% M! U2 ^3 m. ^
ChatGPT知道自己写的代码有漏洞,但它不说!: C( @  A5 c+ B, f1 \6 w
来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。
7 i3 Q4 h& I) P' V' W" I" M然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中的漏洞,并给出了一些解决方案和建议。/ O* H3 O% [$ ~4 |

+ W5 U  y3 l$ B; G: a/ l
5 L, G$ U& ?1 K8 G
, z+ c7 d" T5 m  p, j这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞. H7 I, P! k1 Q
而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。0 y" x! c  b/ b; B# Q; b" A% O' G
所以,用AI生成代码为啥会出现这种状况?' o) h" Q+ l4 U2 {( `
写的程序中76%有安全漏洞
  D- g) I6 E8 |' z9 k研究人员试着让ChatGPT生成了21个程序。# |& D  T) H* U
整个测试过程如下,先提交需求给ChatGPT,生成相关代码,再对这些代码进行测试,并检查问题、潜在的缺陷和漏洞等。- F7 C  d" ~  V7 I& E

+ C9 N( h' l6 X: e) R: [3 U7 }7 A: {) X* B
1 e) D# P  N/ X. M
研究人员给ChatGPT提了包括C++、C、Java和Python在内的21个写代码需求,这是评估的结果:
) N# s! n) u' s. z- n: d' R3 Q
" [' j# _' f, L8 O3 p* x9 r
+ m2 Y1 h4 O0 D) w( s  m% `( y7 ~( B5 M. Q7 v" j" t
统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。
2 r4 s+ q' I% k6 E. T* `  F于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。
+ g4 q  }& H- BChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!7 t- `0 ]' X1 q
显然ChatGPT并没有意识到,用户并不都是行业专家,很可能只需要一个无效输入,就能“引炸”它写的程序:
$ f9 |+ X* F: L/ Y3 D& V8 Q7 [- t" ~' o% T

, ~* g! i" Q9 B# A
8 x% N2 q: m- B发现ChatGPT不知道自己写的程序不安全后,研究人员尝试换了种思路——用更专业的语言提示ChatGPT,如告诉它这些程序具体存在什么漏洞。
* G: e0 p+ U* v神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。6 [6 d. Y; h! ~, T7 s# v
经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。' m$ f9 I0 V- U% `
研究人员得出结论认为,ChatGPT并不知道自己的代码中存在安全漏洞,但它却能在生成程序后识别其中的漏洞,并尝试提供解决方案。+ k* d! H9 W( {/ Z( s: a3 d
论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。
) E  z" ~5 I& @4 x. p我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:4 z* s8 W/ g' p) T. N8 n
% O) f% J1 _2 f  [$ t) u* X
2 ]; u1 A& y* P2 h" b; \
" h. p! W4 P" f9 i5 Z2 |, b3 m" X
大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。! J- H7 g5 s3 r  y' u
程序员们在用它辅助写代码的时候,也需要考虑这些问题。$ j& f& |) u* K( X; N
Copilot也存在类似问题* j6 o6 a8 [$ g- q
事实上,不止ChatGPT写的代码存在安全问题。
, l5 P8 T8 ^/ w6 @1 G8 S此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。
: @# c- v: L; a研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40%出现了安全漏洞。7 T1 x4 {8 C+ X* n0 D  i( l

8 Q4 G  X5 y5 X( A8 W! d3 l0 X' N* G
2 ?& s& e: O+ H8 G
而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。. A9 u0 L: E1 n0 B
基于此,研究人员得出了如下结论:6 h/ o! O4 O; x' B/ l! e
2 K; z8 U2 |2 z; k% ~4 V8 m; H
ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。$ F3 ?; l9 U. y6 P, b" [  e' o" A
这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。
  H# C  r* Q$ X& [$ Y  ?
3 e5 R( R! R3 G5 C# v3 ?
作者介绍: m0 ^9 o. p4 `+ W; n
四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。
8 ~6 H; A, o- k! G9 V: t. \$ u: g/ u6 u/ H, C; l
' F4 r: V/ D% F; e- c# J
" {4 P9 ]3 ~: {/ j0 Y; V. @
Raphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。3 k% e/ V; b, Y/ m: P

% N  H' ~; h+ C5 j- n! I
6 {5 G( N* A$ Z9 m
% E' b/ }9 y+ Y) ?& N4 NAnderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。
/ W; z( a, V% R作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。$ Z4 j( u6 y0 j5 b$ _. @* c. m! B
你用ChatGPT写过代码吗?感觉它的“安全意识”如何?1 }! ~  d5 C' l2 T! z
论文地址:, h+ x0 u) X5 J8 E
https://arxiv.org/abs/2304.09655
, w( o, Y, l/ I5 K, f. q生成代码数据集:
- r/ @: c% H0 W$ E% U# }7 O. 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-2-6 18:00 , Processed in 0.060709 second(s), 24 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

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