kennasecurity/toolkitKenna工具包是围绕Kenna Security漏洞管理平台的一套数据和API操作工具集。它被组织为“任务”——可从Docker或Podman命令行调用和交互的功能单元,用于简化平台的数据处理和API集成操作。
最简单的入门方式是使用Docker Hub上的预构建镜像。
首次使用示例:拉取最新镜像并打印任务列表
bashdocker pull kennasecurity/toolkit && docker run -it kennasecurity/toolkit
检查API密钥示例:拉取最新镜像并执行检查API密钥的任务(以expanse任务为例)
bashdocker pull kennasecurity/toolkit && docker run -it kennasecurity/toolkit task=kenna_api_key_check kenna_api_key=$KENNA_API_KEY
有关API密钥使用的说明,请参考API认证文档。
可利用CI/CD可用时长在GitHub Actions上运行工具包。详细说明请参考此处。
如果修改了代码或需要自定义构建镜像,可按以下步骤操作:
使用Docker构建:
bashdocker build . -t toolkit:latest
使用Podman构建:
bashpodman build . -t toolkit:latest
构建完成后,可启动自定义镜像:
Docker启动:
bashdocker run -it --rm toolkit:latest
Podman启动:
bashpodman run -it --rm toolkit:latest
要使用工具包功能,需传递task=[任务名称]变量。
Docker调用特定任务:
bashdocker run -it --rm toolkit:latest task=example
Podman调用特定任务:
bashpodman run -it --rm toolkit:latest task=example
任务可能需要参数来指定行为,参数格式为空格分隔的"arg=val"字符串。
获取任务帮助:
bash# 查看任务参数帮助 docker run -it --rm -t toolkit:latest task=csv2kdi:help # 查看任务详细说明 docker run -it --rm -t toolkit:latest task=csv2kdi:readme
示例:带参数调用aws_inspector任务
Docker:
bashdocker run -it --rm -t toolkit:latest task=aws_inspector aws_region=us-east-1 aws_access_key=$AWS_ACCESS_KEY aws_secret_key='$AWS_SECRET_KEY'
Podman:
bashpodman run -it --rm -t toolkit:latest task=aws_inspector aws_region=us-east-1 aws_access_key=$AWS_ACCESS_KEY aws_secret_key='$AWS_SECRET_KEY'
许多任务需要输入输出JSON或日志文件,通过Docker卷挂载实现:
/opt/toolkit/input/opt/toolkit/output配置卷挂载示例
Docker:
bashdocker run -it --rm \ -v ~/Desktop/toolkit_input:/opt/app/toolkit/input \ -v ~/Desktop/toolkit_output:/opt/app/toolkit/output \ -t toolkit:latest task=example
Podman:
bashpodman run -it --rm \ -v ~/Desktop/toolkit_input:/opt/app/toolkit/input \ -v ~/Desktop/toolkit_output:/opt/app/toolkit/output \ -t toolkit:latest task=example
查看当前可用任务列表,请访问任务库。
代理配置:如需通过代理使用容器,建议使用Docker或Podman的内置代理支持:
发现错误时,请创建GitHub issue并详细描述错误,团队将尽快解决。创建issue的说明。
所有工具包功能请求请发送至:***。
如修复了bug、增强了任务或添加了新任务,请提交拉取请求:
!正确的PR分支比较
如需将/output文件夹上传到本地开发环境,请运行:
bashbundle exec ruby toolkit.rb task=your-task kenna_api_host=your-local-api-host
前提条件:UI中生成的API令牌,符合.ruby-version中指定的Ruby版本
!Lint Code Base !Bundler Audit
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务