mlab-sh/mlab-cli

GitHub: mlab-sh/mlab-cli

mlab.sh 威胁情报平台的官方命令行客户端,提供域名扫描、IP 查询、文件分析、SSL 检查、加密货币地址查询和 CVE 搜索等一体化终端工具。

Stars: 1 | Forks: 0

# mlab-cli `mlab` 是 [mlab.sh](https://mlab.sh) 威胁情报平台及其配套 CVE API(位于 [vuln.mlab.sh](https://vuln.mlab.sh))的官方命令行客户端。 它允许你扫描域名、查询 IP、分析文件、检查 SSL 证书、检查加密货币地址以及搜索 CVE 数据库——所有这些都可以通过一个键盘驱动的工具完成,并提供美观的终端输出或用于脚本编写的原始 JSON。 ``` $ mlab scan domain example.com $ mlab cve detail CVE-2024-3094 $ mlab limits ``` ## 安装说明 ### Homebrew (macOS & Linux) ``` brew tap mlab-sh/mlab-cli https://github.com/mlab-sh/mlab-cli brew install mlab ``` ### 从发布归档文件安装 从[发布页面](https://github.com/mlab-sh/mlab-cli/releases)下载适合你平台的正确 tarball,并将二进制文件放入你 `PATH` 中的目录: ``` tar xzf mlab-darwin-arm64.tar.gz sudo mv mlab /usr/local/bin/ ``` 为以下平台提供预构建归档: - `mlab-darwin-arm64` — macOS Apple Silicon - `mlab-darwin-amd64` — macOS Intel - `mlab-linux-amd64` — Linux x86_64 (glibc) - `mlab-linux-arm64` — Linux aarch64 (glibc) ### 从源码安装 ``` git clone https://github.com/mlab-sh/mlab-cli cd mlab-cli cargo install --path . ``` 需要 Rust 1.74+。 ## 身份验证 mlab.sh 端点需要 API key。在 的账户中生成一个,然后运行: ``` mlab login ``` 该密钥存储在 `~/.mlab/conf.yml` 中。你可以使用以下命令进行验证: ``` mlab whoami ``` `vuln.mlab.sh` 上的 CVE 端点是公开的,无需身份验证。 ## 命令 ### `mlab scan` — 启动扫描 | 子命令 | 端点 | 描述 | |---|---|---| | `scan domain ` | `POST /api/v1/scan/domain` | 启动全域名扫描,轮询直到完成,并渲染报告 | | `scan ip ` | `GET /api/v1/scan/ip` | IPv4/IPv6 地址的地理位置、ASN 和威胁情报 | | `scan file ` | `POST /api/v1/upload/file` | 上传文件(≤ 10 MB)进行分析 | | `scan crypto
` | `GET /api/v1/scan/crypto` | 区块链地址的威胁情报(`--chain eth/btc/...`) | 常用标志: - `--json` — 输出原始 JSON(适合通过管道传递给 `jq`) - `--no-follow`(仅限域名)— 触发扫描并立即退出 ### `mlab status` — 检查进度 ``` mlab status domain example.com ``` ### `mlab results` — 获取已完成的结果 ``` mlab results domain example.com mlab results file ``` ### `mlab ssl` — SSL 证书详情 ``` mlab ssl example.com ``` ### `mlab limits` — 配额检查 ``` mlab limits # show all (domain, ip, file, crypto) mlab limits domain # one scan type mlab limits ip --raw # raw number, easy to script ``` ### `mlab cve` — CVE 搜索 (vuln.mlab.sh) ``` mlab cve search openssl --severity HIGH mlab cve search "remote code execution" --date-start 2025-01-01 --exact mlab cve detail CVE-2024-3094 mlab cve latest ``` 所有 `cve` 命令都接受 `--json`。详细视图显示 CVSS 分数和向量、EPSS 概率、CISA KEV 状态、弱点 (CWE) 以及参考链接。 ## 全局标志 | 标志 | 描述 | |---|---| | `--hostname ` | 覆盖 mlab.sh API 主机(默认为 `https://mlab.sh`) | | `--cve-hostname ` | 覆盖 CVE API 主机(默认为 `https://vuln.mlab.sh`) | 对于自托管部署或预发环境非常有用。 ## 配置文件 `~/.mlab/conf.yml`: ``` hostname: https://mlab.sh api_key: ``` 你可以手动编辑它;`mlab login` 将会重写它。 ## 示例 扫描域名并将 JSON 报告转储到文件中: ``` mlab scan domain example.com --json > example.json ``` 列出上周发布的评分最高的 5 个 CVE: ``` mlab cve latest --json | jq '.cves | sort_by(-.cvss_score) | .[:5] | .[].id' ``` 快速检查你是否还有加密货币配额: ``` mlab limits crypto --raw ``` ## 发布 带有标签的提交(`v*`)会触发 GitHub Actions 构建,该构建将生成: - 针对四个受支持目标的 Static-TLS 二进制文件,打包为 `.tar.gz` - 一个包含自动生成说明和附加 tarball 的 GitHub Release - 自动提升版本的 [`Formula/mlab.rb`](Formula/mlab.rb) 提交回 `main`, 以便在下次刷新时通过 `brew upgrade mlab` 获取新版本 发布新版本: ``` # 更新 Cargo.toml 中的版本,提交,然后: git tag v0.2.0 git push origin v0.2.0 ``` 你也可以从 Actions 选项卡手动触发该工作流。 ## 许可证 Apache-2.0 — 参见 [LICENSE](LICENSE)。
标签:GitHub, Rust, 动态分析, 可视化界面, 威胁情报, 安全合规, 实时处理, 密码管理, 开发者工具, 漏洞查询, 网络代理, 网络信息收集, 网络流量审计, 通知系统