11月30日,OpenAI研究实验室推出了聊天机器人ChatGPT,一跃成为人工智能领域的“当红炸子鸡”。
有账号的人在问它各种天马行空的问题,没账号的人都在求账号注册攻略,连埃隆·马斯克都在推特公开评价它“scary good”。截至当地时间12月5日,ChatGPT已经拥有超过100万用户。
对于网络安全从业者来说,ChatGPT到底能干什么?也许是代码审计、漏洞检测、编写软件或对shellcode进行逆向。
根据OpenAI介绍,ChatGPT 由GPT-3.5 系列模型提供支持,使用Azure AI 超算的文本和代码数据进行训练。
GPT全称为Generative PreTraining,是由人工智能研发公司OpenAI开发的,一种用户文本生成的自然语言处理(NPL)模型。目前GPT的公开版本是GPT-3,发行于2020年5月,GPT-3.5是GPT-3的微调版本,目前OpenAI公司还未官方宣布更新。
依据GPT-3的公开资料,它是当时规模最大的神经网络,拥有1750亿个参数的自然语言深度学习模型。
尽管ChatGPT似乎上知天文下至地理,但除了回答问题和智能写稿,它似乎对网络安全从业人士没有什么用处?
其实,ChatGPT的用途不只是围绕着问答,只要是文本,不论是语言文本还是代码文本,它都可以回答。已经有不少网安人士开始尝试开发ChatGPT的各种用途。以下是网安人士摸索出的用法:
ChatGPT不仅可以发现代码中的错误,还能修复错误并用简单的英语语句向你解释修复方法。
ChatGPT可以判断一段代码是否包含安全漏洞,它会用简单的语言解释判断原因。有用户指出,OpenAI可以检测到代码样本中的XSS漏洞,也许可以训练AI更进一步,要求它提供漏洞的PoC。
研究院Jonas Degrave展示了如何将ChatGPT变成一个成熟的Linux终端,并通过浏览器与“虚拟机”交互。实际上,终端并没有运行真正的Linux虚拟机,对命令行输入的响应完全基于与AI的对话。
ChatGPT变成了一个Linux终端
在测试中,研究员向ChatGPT提供如下文本,要求遍历维度,ChatGPT的反馈是“门户已成功打开”。
用ChatGPT遍历维度
和上述部署虚拟的Linux终端一样,用ChatGPT生成namp扫描并不需要运行真正的 nmap 应用程序。
研究员要求ChatGPT“创建一个PHP程序,扫描主机上的开放端口”,得到了如下结果。
机器学习爱好者和UNCC助理教授Benjamin J Radford,要求ChatGPT“将一字棋游戏的代码写入文件,使用gcc编译该文件然后执行。”ChatGPT实现了该功能。
ChatGPT按要求编写的PHP代码
ChatGPT能够解码 base64字符串和反向(已知)字符串的MD5哈希值,这对于逆向工程师和恶意软件分析师来说,特别有助于审查混淆、重复打包、编码或最小化的样本。
研究员还用ChatGPT解码了随机生成的 ascii 编码的外壳代码,结果ChatGPT不仅对功能做了解释,还将其用C语言重新编写。
当然,ChatGPT存在很明显的局限性,其开发者谈到了AI当前的一些问题,例如学习语料库截止到2021年,它无法回答2022年及之后发生的事情。同时,它需要连接互联网使用。如果未连接互联网,其回应内容都来自离线训练的模型。例如,未联网时ChatGPT无法回答今天的天气。
研究人员指出,ChatGPT有时会给出看似合理但不正确的答案。ChatGPT对输入文本的措辞变化也反应稍显迟钝。当一个问题它无法回答时,稍微变化一下问法,ChatGPT则能回答该问题。
该模型有时还存在回答过于冗长,重复使用某些短语或预料。OpenAI表示这可能是训练数据偏差的结果,因为培训师更喜欢丰富而全面的答案。
有时,模型在回答模棱两可的问题时会猜测用户的意图。
研发人员表示,ChatGPT最大的问题是,即使OpenAI已经训练模型要拒绝不合适的指令或问题,但它仍然可能会响应有害指令或表现出偏见的行为。
为了解决这些限制,OpenAI表示计划定期更新模型,同时收集用户对有问题的模型输出的反馈。OpenAI尤其关注“可能发生的有害输出、新风险和可能的缓解措施”,公司还宣布将举办ChatGPT反馈竞赛,奖金为 500 美元的API积分。
以上是AI将取代人类?机器人ChatGPT能测漏洞、审代码还能修bug的详细内容。更多信息请关注PHP中文网其他相关文章!