引言
今年11月10日openai发布了支持AI智能助理定制及链接分享的GPTs工具。经过不到一周,社区公开发布的GPTs数量已过万,其中网络安全领域相关的GPTs应用数量也有百余个。本文将并对这类GPTs的实际效果带来第一手的验证,并基于实现逻辑与底层能力分析GPTs为网络安全应用场景带来的潜在变革。
01 GPTs重塑了用户使用LLM的方式
正如搜索引擎的出现永远改变了用户访问互联网的入口,GPTs的出现也变革了用户使用生成式AI的方式。当大众已经习惯于每次打开空白的通用智能聊天框,依据需求构造LLM提示词,在一番“拉扯”之后渐入佳境,让AI解决所遇到的具体问题。常用提示词仓库的出现也佐证,很多ChatGPT的日常使用需求其实相对稳定,存在一些可固化的AI助理角色。除了一次性的新需求,大部分情况下重复构建新的提示词上下文是没有必要的。
图 指向明确使用场景的提示词集合
GPTs则更进一步,基于创建时指定的提示词与背景知识库,封装成一个个不同专业领域具备不同职能的LLM角色,无需重复输入提示词即可稳定使用。
图 某个第三方GPTs应用仓库
GPTs的发布为构建个人专属的大模型提供了便捷途径,它提供了一种低成本和自动化的方式来构建私有定制化LLM助手,这对于那些希望利用定制化AI解决特定问题的个人和小团队来说是一种划时代的变革。通过细致的初始化设置,GPTs应用能专注于特定的领域,提供高度专业化的解决方案。此外,GPTs的架构还鼓励团队协作,通过预先设置的GPTs模型保证团队内协作AI助手的一致性。在这个生态位中,GPTs不仅是一个工具或服务,已经成为推动创新和效率的一个集体智慧平台。
02 GPTs基础能力与网络安全场景应用
GPTs的设计不仅继承了GPT-4大模型在语言理解和多模态内容生成方面的强大基础能力,还扩展了对WEB搜索、代码生成和执行等AI智能体的调度功能。这些能力在GPT-4版本和插件系统中虽已部分开放给用户使用,但GPTs进一步优化了这些工具,能够根据用户提出的较为模糊的目标,自动化地设计和分析执行路径,实现决策。与Langchain等开源工具相比,GPTs提供了一个更加友好的开发者接口,支持自动化路径决策、智能体调度和结果分析,实现了从手动到自动的转变。
图 GPTs支持的智能agent类型
此外,GPTs在创建实例时支持指定知识库文件,这些文件为GPTs提供了网络安全领域所需的深层背景知识,进一步增强了其在该领域的应用能力和效率。GPTs能够在网络安全任务中更有效地利用其语言理解和问题解决能力,为用户提供深度定制的解决方案。
GPTs凭借其核心能力与进阶特性在网络安全领域展现了广泛的适用性,相关应用数量出现井喷式增长。Awesome GPT Agents在内的多个开源仓库整理了百余个公开的网络安全GPTs应用。
图 社区公开的GPTs应用列表
综合整理社区公开的网络安全GPTs应用案例,我们概括出六大主要应用场景:
恶意代码生成/分析:高级恶意软件分析与检测规则生成;
漏洞挖掘:通过项目源码自动化等手段分析识别潜在的安全漏洞;
威胁情报聚合与检索:聚合多来源IOC、漏洞威胁情报,并提供有效检索能力;
安全领域专家系统/知识库:Mitre ATT&CK等安全知识库,提供专业咨询和指导;
安全运营:自动化日志审计,识别和评估潜在的安全威胁;
自动化渗透:辅助渗透测试流程,包括规划、执行和报告撰写;
03 插件功能实测
下文将选取部分典型的GPTs应用并实测效果,从中分析不同基础能力与构建思路的GPTs的特点。
1. 知识库为基础的恶意代码生成
GPTs应用名 | MagicUnprotect |
应用场景 | 安全领域专家系统/知识库,恶意代码生成/分析 |
知识库 | 有 |
agent插件能力 | 代码解释器 |
多步骤规划能力 | 未体现 |
该GPTs应用在创建时提供了爬取自Unprotced网站的防御规避知识库信息,这使得该GPTs助手相较通用GPT4,能答复更多与防御规避相关的技术细节。
图 Unprotected网站收集了大量防御规避技术描述与代码
值得注意的是,GPT4模型所具有的拒绝生成恶意代码的限制依然存在,需要构建特定promot以绕过限制。
图 询问关于反沙箱技术的细节
图 绕过限制生成反沙箱代码
在Unprotect网站当中每个防御规避技术对应一个唯一的技术ID编号,我们可以咨询该编号信息以确认使用了知识库内容。
图 给出相关反沙箱技术的技术编号
2. 漏洞情报获取
GPTs应用名 | CyberGPT |
应用场景 | 威胁情报聚合检索 |
知识库 | 无 |
agent插件能力 | 代码解释器 |
多步骤规划能力 | 未体现 |
该GPTs插件主要依靠Web搜索方法获取最新的Windows提权漏洞信息,会从一众网站获取漏洞信息并解析输出。
图 利用GPTs汇总今年的漏洞信息
GPTs并不总是用一种路径解决问题,在测试过程中发现两种可能路径,分别使用了Web搜索与Python解释器模块:
a. 构建Dork语句调用Bing搜索指定网站的信息
Searching “latest Windows privilege escalation vulnerabilities 2023 site:https://cve.mitre.org/”
b. 生成针对特定网站的检索爬虫,搜索漏洞情报
GPTs使用了BeautifulSoup开源库对CVE Mtire网站进行爬取和内容解析,并使用pandas库进行表格输出。
import requests
from bs4 import BeautifulSoup
import pandas as pd
# URL for searching recent Windows Privilege Escalation vulnerabilities
cve_search_url = "https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=Windows+Privilege+Escalation"
...
# Find the table containing CVE information
cve_table = soup.find('div', {'id': 'TableWithRules'}).find('table')
...
3. 大型项目源码分析
GPTs应用名 | SouceCodeAnalysis.GPT |
应用场景 | 漏洞挖掘、恶意代码分析 |
知识库 | 无 |
agent插件能力 | 代码解释器 |
多步骤规划能力 | 体现 |
大型项目源码分析一直是网络安全领域的一大挑战,在软件供应链安全的恶意代码审计、针对开源项目的漏洞挖掘等方面,都存在着广泛的应用需求。GPTs凭借其先进的代码生成和分析能力,以及多智能体间的协同作用,为应对这一挑战提供了新的可能性。它能够自动化地理解和分析大量代码,快速识别出潜在的风险和漏洞,这对于加强软件安全,特别是在审计大规模代码库时具有重要意义。
该GPTs应用的主要功能是分析用户上传的项目源码压缩包,并根据用户给出的需求进行针对性分析。
图 利用GPTs分析大型项目
在这个GPTs应用的工作过程中,我们能观察到典型的多智能体协同工作的特征:主要GPT负责理解需求与拆分子步骤任务,多个智能体agent负责任务执行与返回,根据执行结果决策新的执行路径。由于原始执行流程较长,此处给出GPTs在分析mimikatz工具源码过程中一次的流程。
图 GPTs设计的大型项目源码分析流程
该流程图略去了一部分人工干预的步骤,并最终调整要求输出的内容,GPTs基于分析给出了部分可用的结果。
4. 威胁情报分析
GPTs应用名 | thedfirreport-assistant |
应用场景 | 威胁情报聚合检索 |
知识库 | 无 |
agent插件能力 | WEB搜索 |
多步骤规划能力 | 体现 |
对于单一威胁情报获取与WEB搜索插件功能的差异性不大,故而我们选择给GPTs更有挑战性的工作:对某个恶意软件的历史活动进行搜索,并对其中蕴含的攻击技术情报进行汇总分析,输出流程图。
图 威胁情报分析需求与GPTs的步骤拆解
GPTs调用WEB搜索能力对于关键词进行了搜索,并抽取搜索结果中的关键词,将不同攻击路径中的关键词进行聚合。通过利用公开的情报源,GPTs能够定期并自动化地追踪和分析恶意软件活动的趋势,以及可能出现的新型攻击策略,帮助研究人员节省时间和资源。这不仅增强了对现有威胁的理解,而且还提高了未来潜在威胁预测的准确性。
图 由GPTs基于搜索结果输出的技战法流程图
04 总结
网络安全领域的GPTs应用在社区中被积极开发,并且关注度非常高。一些应用已经成功地解决了网络安全专业人员面临的问题,并显著提高了研究与开发效率。然而,这些应用并非没有不足之处。
尽管GPTs作为OpenAI将大型模型、多模态引擎以及智能体执行结合在一起的产物表现出色,它在模型调整方面仍然有限。特别是在那些需要大量专业知识库和数据训练的领域,GPTs还不能完全替代专有领域模型。
简便的制作流程和较低的门槛在吸引了社区广泛参与和应用数量激增的同时,也带来了应用质量的不一致性。社区中的许多GPTs应用并没有完全发挥GPTs在多智能体协同能力方面的潜力,很多时候仅仅是对提示词进行了简单的封装。随着时间的推移,这些应用的质量和效能需要进一步的沉淀和提升。
附录 参考文献
1. 网络安全相关GPTs应用列表收集项目:
[1]https://github.com/fr0gger/Awesome-GPT-Agents
[2]https://github.com/taranjeet/awesome-GPTs#cybersecurity
2. 文中涉及的网络安全领域GPTs应用:
[1]MagicUnprotect:https://chat.openai.com/g/g-U5ZnmObzh-magicunprotect
[2]CyberGPT:https://chat.openai.com/g/g-GGqU669bx-cybergpt
[3]SouceCodeAnalysis.GPT:https://chat.openai.com/g/g-K5Drw2YS9
[4]TheDFIRReport Assistant:https://chat.openai.com/g/g-lFYMXc3sn