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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 829|回复: 2

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

[复制链接]

1635

主题

718

回帖

7071

积分

论坛元老

积分
7071
发表于 2023-4-24 18:38:40 | 显示全部楼层 |阅读模式 来自 江苏泰州
萧箫 发自 凹非寺- e! F# o, x$ G1 W# ^' G
量子位 | 公众号 QbitAI
9 F0 ^* C/ l) X& ^; Z& O6 n

, E+ Q# a* z  b5 N! ]6 lChatGPT知道自己写的代码有漏洞,但它不说!& Q) q. D* V( C
来自加拿大的一项最新研究发现,ChatGPT生成的代码中,有不少都存在安全漏洞。
0 X, ~. x# e5 ?! l% j' T然而在被要求评估自己代码的安全性时,ChatGPT却很快发现了这些代码中的漏洞,并给出了一些解决方案和建议。1 m, F4 }. h7 k; |+ L' \

# H3 w" j$ a- d# F2 H
2 L2 E: A; P* N8 t2 L0 u! a+ Z" [7 d0 k: j6 a+ H* a
这意味着它并不知道自己生成了糟糕的代码,但却查得出它写的代码有漏洞,也有能力修复这些漏洞
. b8 ?/ ~* V: @6 m1 i而在另一篇来自斯坦福的论文中,研究人员测试了另一位著名AI程序员Copilot,也发现了类似的问题。7 {; @. M" r6 s% [$ b
所以,用AI生成代码为啥会出现这种状况?# B+ X" c$ j- ]4 J; J$ h% N: D7 I) @
写的程序中76%有安全漏洞
0 p: o8 e1 D  J  ^, W研究人员试着让ChatGPT生成了21个程序。/ @2 i5 T: C. y8 ^% ?* m& P, _
整个测试过程如下,先提交需求给ChatGPT,生成相关代码,再对这些代码进行测试,并检查问题、潜在的缺陷和漏洞等。9 a: j. g# s! k, M

( O# N9 K- \0 J  x
/ g# U. T1 [$ D" _* @5 p$ M
, w3 w( x% @( q" ?' i8 L( B% y研究人员给ChatGPT提了包括C++、C、Java和Python在内的21个写代码需求,这是评估的结果:
4 ~! ~" \7 D( c9 w% b& I' J& z( G' w+ _6 r1 N9 T9 h7 G

9 B& |" ^, U& h1 J+ l
8 {. {' p) }' l* N: K$ @% W统计表明,ChatGPT生成的21个程序中,有17个能直接运行,但其中只有5个程序能勉强通过程序安全评估,不安全代码率达到76%以上。
( r2 g! V4 R& m) G1 X于是,研究人员先试着让ChatGPT“想想自己生成的代码有啥问题”。
4 C6 C* K6 n) \1 NChatGPT的回应是“没啥问题”:只要用户每次的输入都是有效的,那么程序一定能运行!
+ @) H& U1 e6 G4 L显然ChatGPT并没有意识到,用户并不都是行业专家,很可能只需要一个无效输入,就能“引炸”它写的程序:
& `! {% _; N( q/ b) P' ]. s  P, B: p0 o# W  a. i

7 Z8 h) ^7 z% h' q! L9 H7 n  ^! E! ^: R* F* m5 y% F
发现ChatGPT不知道自己写的程序不安全后,研究人员尝试换了种思路——用更专业的语言提示ChatGPT,如告诉它这些程序具体存在什么漏洞。2 d; y8 K& H! i8 V
神奇的是,在听到这些针对安全漏洞的专业建议后,ChatGPT立刻知道自己的代码存在什么问题,并快速纠正了不少漏洞。
3 Q$ O# [& ^4 J, a8 A经过一番改进后,ChatGPT终于将剩余的16个漏洞程序中的7个改得更安全了。
2 _. d' Q! E# l* B/ i; r研究人员得出结论认为,ChatGPT并不知道自己的代码中存在安全漏洞,但它却能在生成程序后识别其中的漏洞,并尝试提供解决方案。
( Q* P7 u  A/ L: S' U论文还指出,ChatGPT虽然能准确识别并拒绝“写个攻击代码”这种不道德的需求,然而它自己写的代码却有安全漏洞,这其实有着设计上的不合理之处。/ @2 _5 A, A& B! g6 ]7 i$ P
我们试了试发现,ChatGPT确实会主动拒绝写攻击性代码的要求:
; x2 [7 k3 b6 h- j( x
( ^3 k' G* N8 y/ |  r4 I& {+ t. `' f
# Z( Q. m% _+ q. T* D
大有一种“我不攻击别人,别人也不会攻击我写的代码”自信感。
/ Y: o9 ]/ [* \% A- |3 S' u: M" q程序员们在用它辅助写代码的时候,也需要考虑这些问题。, [( ~  A  E8 F. @. `; x# Q
Copilot也存在类似问题( g7 ~& t7 {+ c2 c+ f
事实上,不止ChatGPT写的代码存在安全问题。
9 @% @6 v5 I+ A% e: a' X& E7 u2 H/ T此前,斯坦福大学的研究人员对Copilot也进行过类似调查,只不过他们探查的是用Copilot辅助生成的程序,而并非完全是Copilot自己写的代码。8 a( S6 I7 F- {' V+ j: g
研究发现,即便Copilot只是个“打辅助”的角色,经过它改写的代码中,仍然有40%出现了安全漏洞。- S3 E( j" z" n, a: s
9 L  Z5 [) j$ M; U: M" t

- l9 r) h2 e0 ~  ], g) x/ A+ u. m& |
而且研究只调查了Copilot生成代码中的一部分,包括C、Python和Verilog三种编程语言写的程序,尚不知道用其他语言编写的程序中,是否还存在更多或更少的安全漏洞。) |2 \9 [& Q; r1 S1 h
基于此,研究人员得出了如下结论:6 I$ a+ H7 y/ w. g6 a/ X
& z' p: V2 u1 j
ChatGPT等AI生成的代码安全性并不稳定,用某些语言写的代码比较安全,而用其他语言写的代码却很容易遭受攻击。整体来看,它们就是一个黑盒子,生成的代码是有风险的。7 ?9 V/ {; ]3 f
这并不意味着AI代码工具不能用,只是我们在使用时,必须考虑这些代码的安全性。+ t, Z& v( W* l0 l, S5 V" [
3 {% V1 }' H7 [( U! P
作者介绍
" t$ @: V; c$ U" N' h; y四位作者均来自加拿大魁北克大学(Universite du Quebec en Outaouais)。# `3 H5 P% f3 I( S) B
/ I, C1 P" k$ D8 X5 m7 P

$ G3 z3 Y8 |' t! d& b+ A" e( h% A/ P6 L, I
Raphaël Khoury,加拿大魁北克大学教授,曾经在拉瓦尔大学获得计算机学士、硕士和博士学位,研究兴趣集中在计算机安全方面。; T# |1 U# y- o6 p
/ l8 p' L: I$ v  U5 w* F
& q. K1 [& c4 W1 {: N- s9 j- Y
( M" `6 n* Z+ L9 t$ n6 {  ^0 L
Anderson R. Avila,魁北克大学国立科学研究院的助理教授,主要研究方向是数据隐私相关的联邦学习、网络安全和生物特征识别技术等,曾经在华为的加拿大研究院做过机器学习研究员。# t8 V2 L/ O- U: ^3 x; [
作者Jacob Brunelle和Baba Mamadou Camara也都来自加拿大魁北克大学。6 W- c, ?4 \$ y7 A
你用ChatGPT写过代码吗?感觉它的“安全意识”如何?7 L* J/ `. o9 i9 B3 J' }
论文地址:+ ~/ ~% o7 k8 k- R5 r4 m
https://arxiv.org/abs/2304.09655$ W3 L1 t1 [- X6 _; T8 x
生成代码数据集:
6 x! C& j, |* w* Uhttps://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 16:12 , Processed in 0.037246 second(s), 24 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

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