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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 809|回复: 2

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

[复制链接]

1635

主题

718

回帖

7071

积分

论坛元老

积分
7071
发表于 2023-4-24 18:38:40 | 显示全部楼层 |阅读模式 来自 江苏泰州
萧箫 发自 凹非寺
& t9 y7 M5 t' z1 c' b! p9 q量子位 | 公众号 QbitAI
" X, z( T; M3 U
2 p3 K& z0 P( \7 S. H. e5 C1 B
ChatGPT知道自己写的代码有漏洞,但它不说!
( m3 ?% X4 b4 D4 N来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。4 F# N+ M" w7 P0 ]
然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中的漏洞,并给出了一些解决方案和建议。
: \9 G$ l" I7 W9 f: H9 G" ?7 w" j0 w- F
/ H6 w6 y0 G, L4 A$ K

( S7 f, J" n7 s5 b) J6 v& y$ T3 Y这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞
: b' {7 I3 k: v) m$ Q1 y& J3 \! ^, H而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。" ~! b! E3 b0 E4 D; J! B; }+ b
所以,用AI生成代码为啥会出现这种状况?
, k5 r/ ]) h" i9 o4 q写的程序中76%有安全漏洞. t& m$ m% @7 _5 H
研究人员试着让ChatGPT生成了21个程序。
* a# K* ~2 \( }& r整个测试过程如下,先提交需求给ChatGPT,生成相关代码,再对这些代码进行测试,并检查问题、潜在的缺陷和漏洞等。
0 @; }; c1 j2 ~3 g9 l6 g. ?) @
$ g/ {1 o! t0 H: p4 k- Z5 n: F4 N( d$ r# O+ \4 M* P

: M" E- p# C/ X# e研究人员给ChatGPT提了包括C++、C、Java和Python在内的21个写代码需求,这是评估的结果:
, l7 T  ]. ~4 b) l0 }: [7 y8 v
+ I) L. P8 `% _* g4 h  ~; i
8 \7 M; n+ Q0 x, O4 f# s4 b( D. c3 ]
统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。
4 K7 [6 [. {/ ~于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。
( f! g0 G  h; O; C* K' d+ g8 J4 i! _  vChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!
  k; K" H" o& |) ?: Q0 p8 |显然ChatGPT并没有意识到,用户并不都是行业专家,很可能只需要一个无效输入,就能“引炸”它写的程序:
; L2 _$ `4 T* M) j4 `+ l# Z. q6 \
! P  S5 [7 |, i6 q1 ?/ e
- V& k5 z2 h; L6 j9 b
发现ChatGPT不知道自己写的程序不安全后,研究人员尝试换了种思路——用更专业的语言提示ChatGPT,如告诉它这些程序具体存在什么漏洞。* V- K4 `- n6 T0 C8 ^% b
神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。) y' T, P. B4 h8 o# O
经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。
  T0 ?( ^9 [: S* y研究人员得出结论认为,ChatGPT并不知道自己的代码中存在安全漏洞,但它却能在生成程序后识别其中的漏洞,并尝试提供解决方案。
% f& S" C) J# U论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。
! s2 \6 ^6 d6 _1 @6 R( x8 G5 |我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:/ Z9 E: V* p' Y$ N9 J7 v! q/ e

$ Q$ W1 c* x( S" B5 O( a' ?4 w+ R) e+ N) u

2 |# C) ]9 y0 d0 J  Y1 F5 N大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。
3 b" M/ o; M( M+ W  F, l) `  D; k  U9 X程序员们在用它辅助写代码的时候,也需要考虑这些问题。9 d) ?' j! o0 U
Copilot也存在类似问题
" J6 r- U7 _- H7 a: Q事实上,不止ChatGPT写的代码存在安全问题。1 N) Z( U/ B1 {) O
此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。
( W  _( D# u& K) A, t/ }8 g6 I研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40%出现了安全漏洞。
+ Z3 L5 \; g) ?  K3 h& {$ e" Z: I4 t

5 s* z( N5 m: f5 H, W& _
# W; p9 f$ r" @) F9 M而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。' O- S$ Z; @8 ^
基于此,研究人员得出了如下结论:
9 _9 }1 g# f' ?4 w8 T) H. k
! t7 D2 n% b( ^  N$ G: \
ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。% ?& @4 K# G* C: `6 ^$ A' g' G+ [
这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。
; E4 P' [; F( x' b* Q4 x

0 F$ R# C& E9 ~& C作者介绍
1 y/ ~/ }& Z, ^! H四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。0 q/ M% f; T. i6 T
9 X" j. Z# |. y  n
7 K' o, \) q/ U! k

" {3 J, `' e8 c& CRaphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。
) P# V; s+ k7 }+ l: U! F. F  `& }
) J  v; z! g4 a0 s% Q
3 Q2 b! D% a7 J5 H+ S+ P1 o2 ?; m7 Z  h8 w/ E
Anderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。  _/ Q% V6 C) W) X& [
作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。
; d9 n6 f0 j, _. }0 ]. f7 V8 Q/ [7 Q$ ^你用ChatGPT写过代码吗?感觉它的“安全意识”如何?( n2 L0 }% z( b
论文地址:1 ?" x% v! }+ @4 W) A1 `% i  z
https://arxiv.org/abs/2304.09655
( b( S0 `3 p; Z3 _% ~( n生成代码数据集:: Z# t! Y5 r" D  V" A
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, 2025-11-9 08:29 , Processed in 0.038089 second(s), 23 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

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