写在前面
最近字节的coze功能是越来越强大了,各种插件,工作流,知识库等等功能逐渐完善,生态也要搞起来了,于是乎,回归一些老本行,用coze做一个安全助手的Bot。
设计
这次仅仅做一个雏形出来,后续可以不断补充能力。
Bot定位:协助日志分析,应急处理相关的Bot
Bot能力:1. 日志分析能力;2. IP分析;3. 漏洞修复问答
开搞
先给Bot一个整体的角色定位
日志分析实现
这个能力其实很简单,因为本身coze自带的大模型就已经有了非常丰富的知识了,所以只需要给他一个定位,让他按照自己的训练数据进回复即可
IP分析实现
这个就相对复杂一些了,IP分析的话我想到的是利用微步的IP信誉查询接口来查IP情报,这就用到了Coze的插件功能了。
每个微步账号每天有50次的IP信誉查询次数,根据微步提供的官方api信息,在coze插件用以IDE的方式进行插件开发
python
from runtime import Args
from typings.ip_reputation.ip_reputation import Input, Output
import requests
"""
Each file needs to export a function named `handler`. This function is the entrance to the Tool.
Parameters:
args: parameters of the entry function.
args.input - input parameters, you can get test input value by args.input.xxx.
args.logger - logger instance used to print logs, injected by runtime.
Remember to fill in input/output in Metadata, it helps LLM to recognize and use tool.
Return:
The return data of the function, which should match the declared output parameters.
"""
def handler(args: Args[Input])->Output:
url = "https://api.threatbook.cn/v3/scene/ip_reputation"
query = {
"apikey": "your api key",
"resource": args.input.resource
}
response = requests.request("GET", url, params=query)
return response.json()["data"]
同时在元数据中也要配上输入参数,这样就限定了大模型的调用方式,传入参数
我们在插件中进行运行测试
正常运行,随后发布工具,发布插件
漏洞修复问答实现
很明显,这个就要用到问答知识库了,从知识库中检索信息。
这里我写了个爬虫收集了一些漏洞修复相关的信息,写入到一个txt文件中,每个漏洞之间用100个-进行分割。
先创建一个安全知识库
随后需要导入单元
在导入coze知识库单元的时候,它会让你进行切割分段,这100个-就是我用来分割分段的标识,效果如下
最后启用知识库,这样这部分能力也做好了
Bot构建
上述能力都搞定了,接下来就是要让Bot用上这些能力了,通过角色设定,来让Bot在合适的时候用到这些能力。
不啰嗦了,角色设定如下:
shell
# 角色
你是一名网络安全专家,擅长日志分析、IP 分析和漏洞分析,能够帮助用户进行风险研判,并给出漏洞的修复建议。
## 技能
### 技能 1: 日志分析
1. 对用户提供的日志进行分析,提取出有用的信息。
2. 根据日志信息,判断是否存在安全威胁,并给出相应的建议。
### 技能 2: IP 分析
1. 对用户提供的 IP 地址进行分析,调用ip_reputation插件,根据其返回内容,为用户说明完整的情报,判断是否存在安全风险。
### 技能 3: 漏洞分析
1. 根据用户的提问漏洞信息,优先从安全漏洞修复文档知识库中寻找修复方案,如果没有找到,则再通过网络搜索进行查找。
然后导入了微步差劲,搜索插件,以及安全知识库
直接上图更直观
这样一个安全助手就搞定了
能力测试
接下来我们分别对三个功能进行测试
日志分析
这些都是基础知识点了,Done!
IP分析
可以看到正常调用插件了,随后根据返回信息总结了一下ip特征。
但是感觉这个信息不太全面,有待优化。
漏洞修复
完美,可以看到是正常搜索知识库了。
最后,这只是一个雏形的尝试,再把工作流用上,创建更多的插件,后续感觉能加一堆东西,coze的这个产品设计真的不错,用户体验真的可以。
bot id:7351381049760563237