最近,AI 编程助手火得一塌糊涂,号称能帮程序员写代码、提高效率。不少程序员甚至把它当成了“救星”,恨不得天天抱着它写代码。但是,斯坦福大学的一项研究却给这些“狂热粉”泼了盆冷水:AI 编程助手可能是个“安全噩梦”!

斯坦福大学的研究人员找来了47个程序员,让他们完成五项与安全相关的编程任务,涵盖了 Python、JavaScript 和 C 三种语言。结果发现,那些用 AI 助手写代码的程序员,写的代码安全性明显更差!

image.png

这可不是危言耸听。AI 编程助手就像个“不靠谱的实习生”,虽然能写出一些看似正确的代码,但对安全问题却是一窍不通。比如,在加密解密任务中,AI 助手生成的代码虽然能正确加密信息,但却没有返回必要的身份验证标签,这就相当于给保险柜装了个锁,却没给钥匙,安全性大打折扣。

更要命的是,用了 AI 助手的程序员,反而更容易觉得自己写的代码很安全,这就好像吃了“迷魂药”一样,对代码中的安全漏洞视而不见。这可不是什么好事,过度自信往往会导致更严重的安全问题。

研究人员还发现,程序员给 AI 助手的提示,会直接影响到代码的安全性。如果程序员能把任务描述清楚,并提供一些辅助函数,AI 助手写出的代码安全性会更高。但如果程序员一味地依赖 AI 助手,甚至把 AI 助手生成的代码直接拿来用,那就相当于把“安全漏洞”复制粘贴到自己的代码里,结果可想而知。

所以,AI 编程助手到底能不能用?

答案是:能用,但要谨慎!程序员不能把它当作“万能药”,更不能盲目信任它。在使用 AI 助手的时候,程序员要时刻保持警惕,仔细检查代码,避免安全漏洞。

论文地址:https://arxiv.org/pdf/2211.03622