当前位置: 首页 > 科技观察

AI会取代人类吗?机器人ChatGPT可检测漏洞、审查代码、修复bug_0

时间:2023-03-12 10:17:29 科技观察

11月30日,OpenAIResearchLab推出聊天机器人ChatGPT,成为人工智能领域的“当红炸子鸡”。有账号的人在问它各种天马行空的问题,没有账号的人在问账号注册攻略。就连伊隆·马斯克也在Twitter上公开评论说它“好得吓人”。截至当地时间12月5日,ChatGPT拥有超过100万用户。对于网络安全从业者来说,ChatGPT到底能做什么?也许是代码审计、漏洞检测、编写软件或逆向工程shellcode。什么是GPT?据OpenAI介绍,ChatGPT由GPT-3.5系列模型提供支持,并使用来自AzureAI超级计算的文本和代码数据进行训练。GPT的全称是GenerativePreTraining,由人工智能研发公司OpenAI开发。它是一种由用户文本生成的自然语言处理(NPL)模型。目前GPT的公开版本是GPT-3,于2020年5月发布。GPT-3.5是GPT-3的微调版本。目前,OpenAI还没有正式宣布更新。根据GPT-3的公开资料,它是当时最大的神经网络,拥有1750亿参数的自然语言深度学习模型。网络安全人员如何使用ChatGPT?ChatGPT虽然看似会天文地理,但对于网络安全从业者来说,除了答疑解惑和智能写作外,似乎用处不大?其实ChatGPT的使用不只是围绕问答,只要是文字,不管是语言文字还是代码文字,它都能回答。许多互联网安全专业人士已经开始尝试开发ChatGPT的各种用途。以下是互联网安全专业人士探索的用法:1.调试代码和修复代码ChatGPT不仅可以发现代码中的错误,还可以修复错误,并用简单的英文句子为您讲解修复方法。2.检测安全漏洞,可能会创建PoCChatGPT来判断一段代码是否存在安全漏洞,并会用简单的语言解释判断的原因。有用户指出,OpenAI可以检测代码样本中的XSS漏洞,或许可以通过要求它提供漏洞的PoC来训练AI更进一步。3.部署虚拟机研究员JonasDegrave展示了如何将ChatGPT变成功能齐全的Linux终端,并通过浏览器与“虚拟机”进行交互。事实上,终端并不运行真正的Linux虚拟机,而是完全基于与AI的对话来响应命令行输入。ChatGPT成为Linux终端4.使用ChatGPT遍历维度在测试过程中,研究人员向ChatGPT提供以下文本,请求遍历维度,ChatGPT的反馈是“门户已成功打开”。使用ChatGPT穿越Dimension5。生成nmap扫描与上面部署虚拟Linux终端一样,使用ChatGPT生成nmap扫描不需要运行真正的nmap应用程序。6.零编码编写软件研究人员要求ChatGPT“创建一个PHP程序来扫描主机上的开放端口”,得到了如下结果。机器学习爱好者和UNCC助理教授BenjaminJRadford要求ChatGPT“将Tac-Toe游戏的代码写入一个文件,用gcc编译该文件,然后执行它。”ChatGPT实现了这个功能。ChatGPT根据要求编写PHP代码7.对shellcode进行逆向工程并用C语言重写重复包装、编码或最小化的样本。研究人员还使用ChatGPT对随机生成的ascii编码的shellcode进行解码。结果ChatGPT不仅解释了功能,还用C语言重写了一遍。ChatGPT不能做什么?当然,ChatGPT有明显的局限性,它的开发者谈到了AI目前的一些问题,比如语料库学习到2021年,它无法回答2022年及之后会发生什么。同时,它需要互联网连接才能使用。如果未连接到Internet,则响应来自离线训练的模型。例如,ChatGPT在离线时无法回答今天的天气。研究人员指出,ChatGPT有时会给出似是而非的答案。ChatGPT对输入文本中措辞变化的响应也有点慢。当一个问题无法回答时,稍微改变一下问题,ChatGPT就可以回答问题。该模型有时还会遇到过于冗长的反应、重复使用某些短语或期望的问题。OpenAI表示,这可能是训练数据存在偏差的结果,因为训练员更喜欢丰富而全面的答案。有时,模型会在回答模棱两可的问题时猜测用户的意图。开发人员表示,ChatGPT的最大问题是,即使OpenAI已经训练模型拒绝不适当的命令或问题,它仍然可能响应有害命令或表现出有偏见的行为。为了解决这些限制,OpenAI表示计划定期更新模型,同时收集用户对有问题的模型输出的反馈。OpenAI特别关注“可能的有害输出、新风险和可能的缓解措施”,该公司还宣布将举办ChatGPT反馈竞赛,奖金为500美元的API积分。