cognis-digital/sbomx

GitHub: cognis-digital/sbomx

为移动应用(APK/IPA)生成 CycloneDX SBOM 并匹配已知漏洞与隐私跟踪器的安全扫描工具。

Stars: 0 | Forks: 0

SBOMX # SBOMX ### 通过解包原生库和内置 SDK 为移动应用生成 CycloneDX SBOM,然后将组件与已知漏洞和跟踪器/隐私数据库进行匹配。 [![PyPI](https://img.shields.io/pypi/v/cognis-sbomx.svg?color=6b46c1)](https://pypi.org/project/cognis-sbomx/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/2472318f2c182552.svg)](https://github.com/cognis-digital/sbomx/actions) [![License: COCL 1.0](https://img.shields.io/badge/License-COCL%201.0-2b6cb0.svg)](LICENSE) [![Suite](https://img.shields.io/badge/Cognis-Neural%20Suite-6b46c1.svg)](https://github.com/cognis-digital) *应用与移动安全 — SAST/DAST-lite 与二进制分析。*
``` pip install cognis-sbomx sbomx scan . # → prioritized findings in seconds ``` ## 用法 — 逐步指南 `sbomx` 为移动应用生成 CycloneDX SBOM,并将内置库与漏洞和隐私跟踪器数据库进行匹配。控制台脚本:`sbomx`。 1. **安装**: pipx install sbomx # 或:pip install sbomx 2. **扫描应用包**(`.apk` / `.ipa` / `.zip`)或已解压的目录,并打印扫描结果表格: sbomx scan app.apk --format table 退出码 `1` = 存在达到或超过 `--fail-on` 阈值(默认:任何发现)的结果,`0` = 干净,`2` = 错误。 3. **将 CycloneDX 1.5 SBOM 作为 JSON 输出到文件**: sbomx scan app.apk --format json -o app.cdx.json 4. **通过将库键映射到版本的清单文件,完善版本未知的组件**: sbomx scan app.apk --manifest versions.json --format json -o app.cdx.json 5. **基于严重程度拦截 CI** — 仅在出现 HIGH(高)及以上级别的漏洞/跟踪器时使构建失败: sbomx scan ./unpacked_app --fail-on high || echo "high-severity component findings — blocking release" ## 目录 - [为什么选择 sbomx?](#why) · [功能](#features) · [快速开始](#quick-start) · [示例](#example) · [架构](#architecture) · [AI stack](#ai-stack) · [对比](#how-it-compares) · [集成](#integrations) · [随处安装](#install-anywhere) · [相关工具](#related) · [贡献](#contributing) ## 为什么选择 sbomx? Syft/Grype 忽略了移动二进制世界;sbomx 能够揭示已发布应用中存在漏洞的内置 SDK 和隐私跟踪器——非常适合应用商店的合规把关。 `sbomx` 专为一项功能设计,可脚本化且支持自托管:将其指向目标,以您的工作流已支持的语言格式(表格 · JSON · SARIF)获取优先级排序的结果,据此拦截 CI,并允许 agent 通过 MCP 驱动它。
↑ 回到顶部
## 功能 - ✅ 从路径检测组件 - ✅ 检测组件 - ✅ 匹配发现 - ✅ 构建 Cyclonedx - ✅ 扫描 - ✅ 可在 Linux/macOS/Windows · Docker · devcontainer 上运行 - ✅ 提供 Python, JavaScript, Go 和 Rust 版本 (`ports/`)
↑ 回到顶部
## 快速开始 ``` pip install cognis-sbomx sbomx --version sbomx scan . # scan current project sbomx scan . --format json # machine-readable sbomx scan . --fail-on high # CI gate (non-zero exit) ```
↑ 回到顶部
## 示例 ``` $ sbomx scan . [HIGH ] SBO-001 example finding (./src/app.py) [MEDIUM ] SBO-002 another signal (./config.yaml) 2 findings · risk score 5 · 38ms ```
↑ 回到顶部
## 架构 ``` flowchart LR IN[target / manifest] --> P[sbomx
checks + rules] P --> OUT[findings (JSON / SARIF)] ```
↑ 回到顶部
## 从任何 AI stack 中使用它 `sbomx` 可与所有流行的 AI 使用方式互操作: - **MCP server** — `sbomx mcp` (Claude Desktop, Cursor, Cognis.Studio, [uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet)) - **OpenAI-compatible / JSON** — 将 `sbomx scan . --format json` 通过管道传递给任何 agent 或 LLM - **LangChain · CrewAI · AutoGen · LlamaIndex** — 一行代码将 CLI/JSON 封装为工具 - **CI / 脚本** — 为非 AI pipeline 提供退出码 + SARIF
↑ 回到顶部
## 对比 | | **Cognis sbomx** | Syft + Grype,扩展至移动二进制(APK | |---|:---:|:---:| | 支持自托管,无需账号 | ✅ | 视情况而定 | | 单一命令,零配置 | ✅ | ⚠️ | | 用于 CI 的 JSON + SARIF | ✅ | 视情况而定 | | MCP 原生支持(AI agent) | ✅ | ❌ | | 多语言移植版(JS/Go/Rust) | ✅ | ❌ | | 开源协议 | ✅ COCL | 视情况而定 | *秉承 **Syft + Grype,扩展至移动二进制(APK/IPA 原生 .so/dylib)世界**的精神,并以 Cognis 的方式重新构建。遗漏了致谢?欢迎提交 PR。*
↑ 回到顶部
## 集成 接入您的技术栈:用于代码扫描的 **SARIF**,用于一切的 **JSON**,用于 AI agent 的 **MCP server**(`sbomx mcp`),以及用于 SIEM/Slack/Jira 的 webhook 转发器。请参阅 [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)。
↑ 回到顶部
## 安装 — 各种方式,所有平台 ``` pip install "git+https://github.com/cognis-digital/sbomx.git" # pip (works today) pipx install "git+https://github.com/cognis-digital/sbomx.git" # isolated CLI uv tool install "git+https://github.com/cognis-digital/sbomx.git" # uv pip install cognis-sbomx # PyPI (when published) docker run --rm ghcr.io/cognis-digital/sbomx:latest --help # Docker brew install cognis-digital/tap/sbomx # Homebrew tap curl -fsSL https://raw.githubusercontent.com/cognis-digital/sbomx/main/install.sh | sh ``` | Linux | macOS | Windows | Docker | 云平台 | |---|---|---|---|---| | `scripts/setup-linux.sh` | `scripts/setup-macos.sh` | `scripts/setup-windows.ps1` | `docker run ghcr.io/cognis-digital/sbomx` | [DEPLOY.md](docs/DEPLOY.md) (AWS/Azure/GCP/k8s) |
↑ 回到顶部
## 相关 Cognis 工具 - [`apkpeek`](https://github.com/cognis-digital/apkpeek) — 一键对 Android APK/AAB 二进制文件进行静态分析:以单一 SARIF 报告揭示硬编码密钥、导出组件、危险权限和不安全的 manifest 标志。 - [`ipasnitch`](https://github.com/cognis-digital/ipasnitch) — 针对 iOS .ipa 包的静态扫描器,标记 ATS 异常、缺失的 entitlements 加固、内嵌的 URL/密钥以及脆弱的 Info.plist 传输设置。 - [`hookcraft`](https://github.com/cognis-digital/hookcraft) — 根据 YAML 意图(例如“绕过 SSL pinning”、“转储加密密钥”)生成可直接运行的 Frida 插桩脚本,并验证它们是否成功附加到目标进程。 - [`dastlite`](https://github.com/cognis-digital/dastlite) — 无头、config-as-code 的 DAST 运行器,抓取经过身份验证的 Web/移动 API 界面,并触发精心策划的主动扫描规则集,输出经过去重处理的 SARIF。 - [`semsift`](https://github.com/cognis-digital/semsift) — 轻量级语义感知 SAST,仅对 diff 运行精心策划的污点规则,使 PR 能够获得快速的增量 SAST,而不是整个仓库扫描的疲劳。 - [`cheatsense`](https://github.com/cognis-digital/cheatsense) — 反作弊遥测分析器,摄取游戏会话日志,并以可解释的单项标记评分标记出统计上异常的输入/瞄准/移动特征。 **探索该套件 →** [🗂️ 所有 170+ 工具](https://github.com/cognis-digital/cognis-neural-suite) · [⭐ awesome-cognis](https://github.com/cognis-digital/awesome-cognis) · [🔗 cognis-sources](https://github.com/cognis-digital/cognis-sources) · [🤖 uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet) · [🧠 engram](https://github.com/cognis-digital/engram)
↑ 回到顶部
## 互操作性 `{}` 与包含 300+ 工具的 Cognis 套件组合使用 — JSON 输入/输出以及共享的 OpenAI-compatible `/v1` 骨干网络。请参阅 **[INTEROP.md](INTEROP.md)** 获取 套件图谱、组合模式以及参考技术栈。 ## 许可证 源码可见,基于 **Cognis Open Collaboration License (COCL) v1.0** — 可免费用于个人、内部评估、研究和教育用途;**商业/生产用途需要许可证** (licensing@cognis.digital)。请参阅 [LICENSE](LICENSE)。
Cognis Digital · Cognis Neural Suite 中 170+ 工具之一 · 让明天在今天更美好
标签:CycloneDX, Linux安全, SBOM, 可视化界面, 数据可视化, 日志审计, 硬件无关, 移动应用, 组件分析, 请求拦截, 逆向工具, 隐私合规