freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

炫酷命令行的前世今生
2023-03-09 21:13:47
所属地 浙江省
  • 前言

  • 同时扫描本地/远程镜像

  • 支持宿主指定特定插件参数

    • 基本用法

    • 使用场景

​1、前言

在不断的更新迭代中,veinmind-runner 作为宿主程序,承载的功能也不断增加:

  • 扫描远程仓库
  • 扫描 IaC 文件
  • 扫描本地镜像/容器
  • ......


因此,veinmind-runner 的使用方式也开始变得越来越复杂。我们期望能给用户提供一个更加清晰、容易记且符合大多数人习惯的命令行规范,以此提高宿主的易用性和可扩展性。基于以上想法,在 v2.0 版本中,我们对命令行进行了优化




V2.0 命令行优化
veinmind-runner v2.0 整体架构重构为三个核心功能模块:

  • scan: 运行扫描
  • authz: docker 镜像阻断模式
  • list: 列出插件信息

为了方便大家快速区分,并针对核心scan功能进行进一步的细化操作。在 v2.0 版本中,我们将扫描对象进行规范,方便用户同时扫描多个不同类型的资产对象


​2、同时扫描本地/远程镜像

在之前的版本中,想要扫描主机上所有的镜像和远程仓库的镜像, 你需要这样做:


./veinmind-runner scan-host image IMAGE-A
./veinmind-runner scan-registry image IMAGE-B


不同类型的资产必须分成两个命令,通过两次扫描才能够完成,这样得到的报告也是两份。


而在 v2.0 中, 你可以直接通过协议进行扫描:


./veinmind-runner scan image IMAGE-A registry-image:IMAGE-B


扫描的结果会统计在一份报告内。

了解更多的扫描对象定义,请关注 veinmind-runner 文档:https://github.com/chaitin/veinmind-tools/tree/master/veinmind-runner


3、支持宿主指定特定插件参数

在 v1.0 中,runner 常常被吐槽:一些有自定义参数的插件无法在 runner 内配置。这也就导致,一些非标准的插件,譬如必须要使用特殊参数的用户输出( e.g. 自定义配置),无法在 runner 内运行。我们很快意识到这将会是插件使用中的常态,因为我们没办法在 runner 内确定哪些参数是必须要存在于插件内的。

对此,我们开放了插件的参数调用接口,在宿主环境下,你也可以调配运行插件时的参数了。

基本用法

指定插件参数时,需要通过 --来分割命令。
语法格式为:

[插件名称]:[运行插件函数cmd].[参数名称]=[自定义值]

使用场景

指定弱口令插件仅检测ssh


./veinmind-runner scan image -- veinmind-weakpass:scan/image.serviceName=ssh


其中:

  • --用于分割宿主命令参数和插件命令参数
  • veinmind-weakpass是插件名称
  • scan/image是运行插件函数的 cmd,对应插件独立使用时的./veinmind-weakpass scan image, 通过/符来分割层级关系。
  • serviceName=ssh是实际函数cmd的flags参数名称,对应插件独立使用时的./veinmind-weakpass scan image --serviceName=ssh


项目地址:https://github.com/chaitin/veinmind-tools

# 开源安全工具 # 容器安全 # 云原生安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录