插件工具
该工具旨在用于开发新的或现有插件。
工具
您可以找到列表开源插件要引用,请添加新功能,或修复错误。我们欢迎并鼓励拉出请求!
图标的插件
这是开发插件的主要工具。安装说明icon-plugin.可用开始文档。
构建
的子命令建造为插件开发构建工件。
争论
图像用于将插件代码打包到Docker映像中,这使其可用于运行。这通常是您在现有插件上工作时要做的第一件事,以确保它成功构建。
1
$ cd base64
2
$ icon-plugin构建图像
3.
INFO [0000]构建图像BASE64:1.1.1
4
INFO[0000] Running Command: docker build——pull -t rapid7/base64:1.1.1 . INFO[0000] Running Command: docker build——pull -t rapid7/base64:1.1.1。
塔尔巴尔用于构建插件的滑球。这用于在InsightConnect中进行后退兼容的测试。
1
$ cd base64
2
$ icon-plugin构建tarball
3.
INFO[0000] Building tarball rapid7-base64-1.1.1.tar.gz
产生
的子命令产生创建插件的骨骼。
它可用于从插件规范生成新插件(插件规范)具有规范的路径作为论据。
重新生成python plugin.spec.yaml
任何时候修改插件规范,都可以使用子命令产生与——再生标志用新的架构重建骨架,而不会影响以前书面代码。这使得添加操作和更新插件规范简单快速。
重新生成python plugin.spec.yaml
Help.md文件是插件中的一个关键部分。这为插件提供了基本信息和用法。在下面运行命令时,帮助将输出到stdout。如果help.md.缺少,使用重定向来帮助.md为帮助创建基础。
帮助的例子
| 命令 | 描述 |
|---|---|
icon-plugin生成帮助 |
生成帮助 |
icon-plugin生成帮助> help.md |
帮助重定向 |
您需要样本来测试插件。生成样本时,它将创建一个包含插件所需参数的JSON文件。
样的例子
| 命令 | 描述 |
|---|---|
图标-插件示例——示例动作或触发器名称 |
生成一个样本 |
icon-plugin生成样本 |
生成所有样本 |
跑
的子命令跑在3.3.0版本中=< foricon-plugin.帮助从命令行中快速测试和执行插件。它包括由生成的传统赛道中的所有功能使.
看看运行插件页面以获取更多细节。以下是一些例子。
运行示例
| 命令 | 描述 |
|---|---|
icon-plugin运行-c信息 |
显示插件信息 |
icon-plugin运行-R tests/submit。json - j |
在提交JSON测试上执行运行方法 |
icon-plugin运行-R tests/submit。json - |
在提交JSOS测试文件上执行运行方法,以便在我们的PR中发布开源Github库 |
icon-plugin执行-T all -R all -j命令 |
为所有JSON测试执行测试和运行方法 |
HTTP服务器
当插件处于REST模式时,你也可以通过HTTP与它交互:
icon-plugin运行-c http
然后,您可以使用包含JSON输入作为有效载荷的Web请求来击中其运行或测试端点:
1
curl - d @tests /前进。json http://127.0.0.1:10001 /行动/前进
2
curl - d @tests /前进。json http://127.0.0.1:10001 /动作/向前/测试
出口
的子命令出口将码头图像导出为一个. tar文件,您可以导入到InsightConnect。该命令的输出将作为自定义插件导入InsightConnect中以开始使用它。注意,这个命令将在导出插件之前首先构建插件。
1
$ cd base64
2
美元icon-plugin出口
3.
INFO[0000] Running Command: docker build——pull -t rapid7/base64:1.1.1 . INFO[0000] Running Command: docker build——pull -t rapid7/base64:1.1.1。
4
......
5
INFO [0010]建筑标签
6
INFO[0010] Running Command: docker tag rapid7/base64:1.1.1 rapid7/base64:latest .输出说明
7
INFO[0010] Building plugin tarball rapid7_base64_1.1.1.tar . gz .tar . gz
8
Info Running命令:Docker保存Rapid7 / Base64:1.1.1 -O Rapid7_Base64_1.1.1.tar
JSON规范
一个脚本叫做json_to_spec.py.将JSON对象转换为InsightConnect插件规范数据。它以包含JSON作为参数的文件路径为参数。它位于开源插件回购.
1
$ curl -s https://ifconfig.co/json> ifconfig.json
2
工具/美元json_to_spec.py ifconfig.json
3.
类型:{}
4
5
输出:
6
城市:
7
描述:输入描述
8
标题:输入标题
9
类型:字符串
10
主机名:
11
描述:输入描述
12
标题:输入标题
13
类型:字符串
14
IP:
15
描述:输入描述
16
标题:输入标题
17
类型:字符串
18
country_iso:
19
描述:输入描述
20.
标题:输入标题
21.
类型:字符串
22.
ip_decimal:
23.
描述:输入描述
24.
标题:输入标题
25.
类型:整数
26.
国家:
27.
描述:输入描述
28.
标题:输入标题
29.
类型:字符串
然后,您可以复制并粘贴输出到您的插件规范,而不必手动输入。