Cope-Labs/selvo
GitHub: Cope-Labs/selvo
Linux 依赖风险扫描器,通过发行版感知过滤与影响范围评分提供可行动的漏洞优先级。
Stars: 0 | Forks: 0
# selvo
**了解 Linux 服务器上真正的危险是什么。**
[](https://pypi.org/project/selvo/)
[](https://github.com/Cope-Labs/selvo/pkgs/container/selvo)
[](https://github.com/marketplace/actions/selvo-security-scan)
[](LICENSE)
[](https://github.com/Cope-Labs/selvo/actions/workflows/codeql.yml)
[](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, 依赖扫描, 发行版感知, 多包管理器支持, 安全扫描, 安全防御评估, 实时报告, 容器镜像, 开源漏洞, 文档结构分析, 时序注入, 时间线生成, 模型提供商, 漏洞风险评估, 爆破半径评分, 自动化监控, 自动笔记, 请求拦截, 逆向工具