插件工具

该工具旨在用于开发新的或现有插件。

工具

您可以找到列表开源插件要引用,请添加新功能,或修复错误。我们欢迎并鼓励拉出请求!

图标的插件

这是开发插件的主要工具。安装说明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.
类型:字符串

然后,您可以复制并粘贴输出到您的插件规范,而不必手动输入。