Cope-Labs/selvo

GitHub: Cope-Labs/selvo

Linux 依赖风险扫描器,通过发行版感知过滤与影响范围评分提供可行动的漏洞优先级。

Stars: 0 | Forks: 0

# selvo **了解 Linux 服务器上真正的危险是什么。** [![PyPI](https://img.shields.io/pypi/v/selvo?label=PyPI)](https://pypi.org/project/selvo/) [![Container](https://img.shields.io/badge/ghcr.io-cope--labs%2Fselvo-2496ED?logo=docker)](https://github.com/Cope-Labs/selvo/pkgs/container/selvo) [![GitHub Action](https://img.shields.io/badge/Marketplace-selvo--security--scan-181717?logo=github)](https://github.com/marketplace/actions/selvo-security-scan) [![License: ELv2](https://img.shields.io/badge/License-ELv2-orange.svg)](LICENSE) [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/65684abb47122213.svg)](https://github.com/Cope-Labs/selvo/actions/workflows/codeql.yml) [![Live Report](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/fb8eaaad10122214.svg)](https://copelabs.dev/selvo-report/) selvo 扫描您已安装的软件包,对每个 CVE 进行 8 个数据源比对,过滤掉您的发行版已修补的漏洞,并按影响范围和利用概率对剩余漏洞进行排序。这不仅仅是一个列表 — 而是一份优先处理行动计划。 **实时访问 [selvo.dev](https://selvo.dev)** | [公开报告](https://copelabs.dev/selvo-report/) | [GitHub Action](https://github.com/Cope-Labs/selvo-action) ## 快速开始 ### 扫描服务器(60 秒) ``` curl -s https://selvo.dev/install.sh | SELVO_API_KEY=sk_xxx bash ``` 收集实际安装的软件包,发送到 API 进行分析,通过 cron 设置每日监控。支持 dpkg、rpm、pacman、apk。 在 [selvo.dev](https://selvo.dev) 获取免费 API 密钥。 ### GitHub Actions ``` - uses: Cope-Labs/selvo-action@v1 with: api-key: ${{ secrets.SELVO_API_KEY }} ``` 自动检测运行器上的软件包,将结果作为 PR 评论发布。在 CISA KEV 或武器化漏洞存在时失败。 ### curl ``` # 扫描您实际的软件包 dpkg-query -W -f='${db:Status-Abbrev} ${Package} ${Version}\n' > packages.txt curl -X POST https://selvo.dev/api/v1/scan/packages \ -H "X-API-Key: $SELVO_API_KEY" \ -H "Content-Type: application/json" \ -d "{\"packages\": \"$(cat packages.txt)\", \"ecosystem\": \"debian\"}" ``` ### 容器镜像扫描 ``` curl -X POST https://selvo.dev/api/v1/scan/image \ -H "X-API-Key: $SELVO_API_KEY" \ -H "Content-Type: application/json" \ -d '{"image": "nginx:1.24"}' ``` ### 管道现有扫描器输出 ``` # 已经在运行 Grype 或 Trivy?发送 JSON 以获取优先级结果: curl -X POST https://selvo.dev/api/v1/scan \ -H "X-API-Key: $SELVO_API_KEY" \ -d "{\"grype\": \"$(cat grype-results.json)\"}" ``` ## 特色与区别 **感知发行版的 CVE 过滤。** 如果 Debian 将修复回溯到 zlib 1.2.11,我们不会标记它。我们会交叉引用 Debian 安全追踪器,移除您的发行版已修补的 CVE。其他扫描器会忽略这一点并严重高报。 **影响范围评分。** 一个被 200 个包依赖的库中的 CVE 优先级高于叶子包中的漏洞。我们从 Debian Packages.gz、Alpine APKINDEX 和 Arch 仓库数据库构建真实的依赖关系图。 **利用情报。** CISA KEV 状态、公开可用性、EPSS 利用概率 —— 而不只是 CVSS 严重性。 **您的实际软件包。** 我们扫描系统上真正安装的软件包,而非通用参考列表。仪表板展示“您的系统”与“参考扫描”的对比,让您清楚看到差异。 ## 评分(0–100) | 信号 | 权重 | 来源 | | --- | --- | --- | | 依赖影响范围 | 22% | 从软件包索引的传递反向依赖 | | EPSS 利用概率 | 20% | FIRST.org | | 关键节点中心性 | 15% | 通过 NetworkX 的介数中心性 | | 版本滞后 | 14% | Repology 上游与已安装版本对比 | | CVSS 严重性 | 10% | NVD | | 漏洞成熟度 | 8% | CISA KEV + 公开利用/武器化检测 | | 生态流行度 | 7% | Repology 仓库数量 | | 下载次数 | 2% | popcon / Homebrew | | 暴露天数 | 2% | CVE 披露日期年龄 | 没有安全信号的软件包上限为 20。运行时加载且包含 CVE 的软件包会乘以 1.5 倍。 ## API 端点 基础 URL:`https://selvo.dev/api/v1` ### 扫描 | 端点 | 描述 | | --- | --- | | `POST /scan/packages` | 扫描实际安装的软件包(最准确) | | `POST /scan/image` | 扫描容器镜像 | | `POST /scan` | 扫描 SBOM / Grype / Trivy / 依赖锁定文件 | | `POST /analyze` | 参考扫描(通用软件包) | | `POST /fleet/scan` | SSH 集群扫描 | ### 数据 | 端点 | 描述 | | --- | --- | | `GET /status/data` | 数据源新鲜度(每个来源的缓存年龄,无需认证) | | `GET /jobs/{id}` | 轮询任务状态 | | `GET /packages` | 列出带评分的软件包(默认仅显示问题) | | `GET /packages/{name}` | 单个软件包完整详情 | | `GET /cves` | 列出带 EPSS/CVSS 的 CVE | | `GET /exploits` | 带利用数据的软件包 | | `GET /advisories` | USN、Bodhi、RHSA 公告 ID | | `GET /sla` | SLA 违约报告 | | `GET /patch-plan` | 有序补丁建议 | | `GET /diff` | 与之前快照的差异 | ### 导出 | 端点 | 描述 | | --- | --- | | `GET /report.sarif` | GitHub Code Scanning 的 SARIF | | `GET /report.vex` | 合规性用的 VEX | | `GET /report.nist` | NIST 800-53 Rev 5 OSCAL | | `GET /report.fedramp` | FedRAMP High OSCAL | | `GET /report.pdf` | PDF 合规报告 | ### 策略与修复 | 端点 | 描述 | | --- | --- | | `POST /policy/check` | 对照快照评估策略即代码 | | `POST /fix` | 为最高风险软件包打开上游 PR | ### Webhook | 端点 | 描述 | | --- | --- | | `POST /orgs/{id}/webhooks` | 注册 Slack 或通用 Webhook | | `GET /orgs/{id}/webhooks` | 列出 Webhook | | `DELETE /orgs/{id}/webhooks/{wid}` | 移除 Webhook | 所有端点均需要 `X-API-Key` 头。在 [selvo.dev](https://selvo.dev) 获取免费密钥。 ## 策略即代码 在 YAML 中定义安全门并通过 API 或仪表板进行评估: ``` version: 1 block: on_kev: true on_weaponized: true min_cvss: 9.0 min_score: 80 warn: on_poc: true min_cvss: 7.0 sla: critical: 7 high: 30 medium: 90 low: 365 allow: cves: - id: CVE-2023-12345 reason: "Not reachable in our deployment" expires: 2025-12-31 ``` ``` curl -X POST https://selvo.dev/api/v1/policy/check \ -H "X-API-Key: $KEY" \ -d '{"ecosystem":"debian","policy":{"version":1,"block":{"on_kev":true,"min_cvss":9.0}}}' ``` 或使用仪表板:[selvo.dev/dash/policy](https://selvo.dev/dash/policy)。 ## Webhook / Slack 告警 扫描完成时接收通知: ``` curl -X POST https://selvo.dev/api/v1/orgs/myorg/webhooks \ -H "X-API-Key: $KEY" \ -d '{"url":"https://hooks.slack.com/services/T.../B.../xxx","kind":"slack"}' ``` 每次扫描完成后触发,包含软件包数量、CVE 数量及 KEV 状态。 ## 数据来源 | 来源 | 提供内容 | | --- | --- | | OSV.dev | 带版本范围的 CVE 到软件包映射 | | FIRST.org EPSS | 每日利用概率评分 | | NVD | CVSS v3 基础分数 | | Debian 安全追踪器 | 您的发行版已修补的 CVE | | CISA KEV | 已知利用漏洞目录 | | Repology | 上游版本、跨发行版对比 | | Ubuntu USN | Ubuntu 公告 ID | | Fedora Bodhi | Fedora 公告 ID | ## 支持的生态系统 **原生 OSV 覆盖(11 个):** Debian、Ubuntu、Fedora、Alpine、Rocky Linux、AlmaLinux、SUSE、openSUSE、Wolfi、Chainguard、Mageia。 **通过 Debian 命名空间(5 个):** Arch、NixOS、Homebrew、Chocolatey、Winget。 此外支持:CycloneDX/SPDX SBOM、Grype/Trivy JSON、11 种依赖锁定文件格式(requirements.txt、package-lock.json、Cargo.lock、go.sum、Gemfile.lock、composer.json、pom.xml 等)。 ## CLI(自托管) 完整 CLI 可在本地运行,无需依赖 API: ``` pip install -e ".[dev,api]" selvo analyze --ecosystem debian --limit 50 selvo scan requirements.txt --output sarif --file results.sarif selvo policy check selvo fix --dry-run --top 5 selvo fleet scan hosts.txt sudo selvo runtime # scan loaded .so files in live processes selvo compliance --framework fedramp selvo sla selvo trend selvo diff ``` ## 自托管(服务端) 在您自己的基础设施上运行与 selvo.dev 相同的 栈。 五分钟通过 Docker Compose 安装: ``` git clone https://github.com/Cope-Labs/selvo.git cd selvo/deploy/selfhost cp .env.example .env # set SELVO_API_SECRET, NVD_API_KEY, etc. cp Caddyfile.example Caddyfile # set your domain docker compose up -d ``` Caddy 自动处理 Let's Encrypt TLS。`selvo` 镜像支持多架构 (amd64 + arm64),并在每次推送到 `main` 时重建。请参考 [deploy/selfhost/README.md](deploy/selfhost/README.md) 了解尺寸、 备份、Cloudflare 前置指导以及未包含内容。 ELv2 许可证允许您为组织自托管、修改源代码并重新分发。 但 **不得** 将 selvo 作为托管服务提供给第三方 — 如需此用途,请联系 。 ## MCP 服务器(AI 助手集成) 为 Claude Desktop、Cursor 等 MCP 兼容代理提供 16 个工具: ``` { "mcpServers": { "selvo": { "command": "selvo-mcp" } } } ``` 工具:`analyze_packages`、`check_local_risk`、`describe_package`、`list_cves`、`patch_plan`、`fleet_scan`、`get_sla_report` 等。 ## 定价 | 计划 | 每日请求数 | 价格 | | --- | --- | --- | | 免费 | 5 | $0 | | 专业版 | 10,000 | $49/月 | | 企业版 | 1,000,000 | $299/月 | 在 [selvo.dev](https://selvo.dev) 自助购买。免费层无需信用卡。 ## 许可证 [弹性许可证 2.0 (ELv2)](LICENSE) —— 免费使用、修改和自托管。您不得将 selvo 作为托管服务提供给第三方。 由 [Cope Labs LLC](https://selvo.dev) 构建 | [隐私政策](https://selvo.dev/privacy) | [条款](https://selvo.dev/terms) | [状态](https://stats.uptimerobot.com/xHk9U5qBJK)
标签:AI应用开发, API密钥认证, apk, CI/CD安全, Cron定时任务, CVE优先级, distro-aware, Docker, dpkg, GitHub Actions, Llama, pacman, rpm, SEO: blast radius scoring, SEO: CVE prioritization, SEO: Linux dependency scanner, SEO: Linux vulnerability scanner, 依赖扫描, 发行版感知, 多包管理器支持, 安全扫描, 安全防御评估, 实时报告, 容器镜像, 开源漏洞, 文档结构分析, 时序注入, 时间线生成, 模型提供商, 漏洞风险评估, 爆破半径评分, 自动化监控, 自动笔记, 请求拦截, 逆向工具