Velonus – 开源应用安全扫描器,去重SAST噪声
摘要
Velonus 是一个面向 Python 的开源应用安全扫描器,可通过一条命令运行五种安全工具,标准化发现结果并去重噪声,支持 SARIF 输出和 CI 集成。
查看缓存全文
缓存时间: 2026/05/15 03:28
AliAmmar15/Velonus
来源:https://github.com/AliAmmar15/Velonus
CI (https://github.com/AliAmmar15/Velonus/actions)
PyPI (https://pypi.org/project/velonus)
Python (https://pypi.org/project/velonus)
许可证:MIT
Alpha
Velonus
专为 Python 开发者打造的安全扫描工具——不仅发现问题,更会告诉您如何修复。
一条命令。五款扫描器。零噪音。
pip install velonus
velonus scan ./your-project
需要 Python 3.10+
演示
$ velonus scan ./myapp
正在使用 5 款工具扫描...
secrets ████████████████████ 0.3s
bandit ████████████████████ 2.1s
semgrep ████████████████████ 4.2s
pip-audit ████████████████████ 1.8s
safety ████████████████████ 1.2s
┌──────────────┬──────────────────────────────────────────┬──────────────────┬──────────┐
│ 严重级别 │ 发现的问题 │ 位置 │ 工具 │
├──────────────┼──────────────────────────────────────────┼──────────────────┼──────────┤
│ 🔴 严重 │ 硬编码的 AWS 密钥 │ config.py:14 │ secrets │
│ 🔴 严重 │ 硬编码的 OpenAI API 密钥 │ llm_client.py:8 │ secrets │
│ 🔴 严重 │ 通过字符串格式导致的 SQL 注入 │ db/queries.py:41 │ semgrep │
│ 🟠 高危 │ 使用 MD5 进行密码哈希 │ auth/utils.py:27 │ bandit │
│ 🟠 高危 │ requests 2.28.0 — CVE-2023-32681 (8.1) │ requirements.txt │ pip-aud │
│ 🟡 中危 │ 通过 subprocess 导致的 Shell 注入 │ runner.py:19 │ bandit │
│ 🟡 中危 │ 硬编码的 JWT 密钥 │ auth/tokens.py:3 │ secrets │
└──────────────┴──────────────────────────────────────────┴──────────────────┴──────────┘
3 严重 │ 7 高危 │ 12 中危 │ 34 低危
检测内容
| 类别 | 工具 | 检测目标 |
|---|---|---|
| 硬编码密钥 | trufflehog + 熵检测 | API 密钥、AWS 凭据、JWT 令牌、PEM 密钥 |
| Python SAST | Bandit | 注入、弱密码学、不安全的 Shell 执行 |
| 模式分析 | Semgrep | OWASP Top 10 漏洞模式 |
| 依赖项 CVE | pip-audit | 已知 CVE(含 CVSS v3 评分) |
| 漏洞数据库 | Safety | 包漏洞交叉验证 |
所有发现将统一规范化,附带 CWE 标签、OWASP Top 10 分类以及用于去重的确定性指纹。
输出格式
velonus scan ./ # 默认:富终端表格
velonus scan ./ --format json # JSON 数组——可配合 jq、脚本等使用
velonus scan ./ --sarif # SARIF 文件→GitHub 安全选项卡
velonus scan ./ --severity high # 仅显示高危和严重级别的发现
velonus scan ./ -o results/scan.sarif # 将 SARIF 写入自定义路径
CI 集成
- name: Velonus 安全扫描
run: |
pip install velonus
velonus scan . --sarif -o velonus.sarif
- name: 上传至 GitHub 安全选项卡
uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: velonus.sarif
当检测到严重或高危发现时,Velonus 会以退出码 1 结束——可将其用作 CI 硬性检查门禁。
路线图
| 阶段 | 状态 | |
|---|---|---|
| ✅ | 阶段 0 — CLI + 密钥检测 | 完成 |
| ✅ | 阶段 1 — 完整的扫描器流水线(Bandit、Semgrep、pip-audit、Safety) | 完成 |
| 🔨 | 阶段 2 — AI 上下文引擎(可利用性评分 + 修复生成) | 开发中 |
| 🔜 | 阶段 3 — GitHub PR 集成(内联修复、一键接受) | 计划中 |
| 🔜 | 阶段 4 — Web 仪表板 | 计划中 |
Alpha 说明
Velonus 目前处于 Alpha 阶段。它已经可以工作——我们自己也在使用——但我们渴望您的反馈。
可能存在粗糙之处。请报告问题 (https://github.com/AliAmmar15/Velonus/issues),我们会快速修复。
贡献
请参阅 CONTRIBUTING.md 了解开发环境搭建、测试说明和 PR 指南。
发现安全问题?请参阅 SECURITY.md。
欢迎所有形式的贡献——尤其是扫描器改进和误报报告。
许可证
MIT — 参见 LICENSE。
如果您尚未安装 uv,请先安装
pip install uv
安装所有工作区包
uv sync –all-extras –dev
激活虚拟环境
source .venv/bin/activate # macOS/Linux .venv\Scripts\Activate.ps1 # Windows PowerShell
以可编辑模式安装 CLI
pip install -e apps/cli pip install -e packages/scanner pip install -e packages/normalizer
**验证安装:**
```bash
velonus --help
使用说明
扫描项目
# 扫描当前目录
velonus scan ./
# 扫描指定路径
velonus scan ./src
# 仅显示高危及以上级别
velonus scan ./ --severity high
# 详细输出(显示每个工具的执行时间)
velonus scan ./ --verbose
输出格式
# 默认:富终端表格
velonus scan ./
# JSON(便于管道处理)
velonus scan ./ --format json
# 写入 SARIF 文件(用于 GitHub 安全选项卡)
velonus scan ./ --sarif
# 将 SARIF 写入自定义路径
velonus scan ./ -o results/velonus.sarif
在 CI 中使用(GitHub Actions)
- name: Velonus 安全扫描
run: velonus scan . --sarif -o velonus-results.sarif
- name: 上传至 GitHub 安全选项卡
uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: velonus-results.sarif
当检测到严重或高危发现时,Velonus 会以退出码 1 结束——可将其用作 CI 门禁。
Pre-commit 钩子
# .pre-commit-config.yaml
repos:
- repo: local
hooks:
- id: velonus
name: Velonus 安全扫描
entry: velonus scan
language: system
pass_filenames: false
args: ["./", "--severity", "high"]
示例输出
✓ 正在运行密钥检测... [0.3s]
✓ 正在运行 Bandit... [2.1s]
✓ 正在运行 Semgrep... [4.2s]
✓ 正在运行 pip-audit... [1.8s]
✓ 正在运行 Safety... [1.2s]
──────────────────────────────────────────────
3 严重 │ 7 高危 │ 12 中危 │ 34 低危
⚠ 严重 检测到硬编码的 AWS 密钥
→ src/config.py:14
CWE-798 · A07:2021
技术栈
- CLI — Python、Typer、Rich
- API — FastAPI、PostgreSQL、ARQ
- AI — Anthropic Claude(Sonnet 用于修复,Haiku 用于分类)
- 扫描器 — Semgrep、Bandit、pip-audit、Safety
- 仪表板 — Next.js、Tailwind、shadcn/ui
- 认证 — Clerk
- 基础设施 — Docker、Railway
目标用户
- Python 开发者与 AI 初创公司
- 没有专职安全团队的小型 SaaS 团队
- 希望安全工具能融入工作流的工程师
贡献
Velonus 目前处于私有开发阶段。待 CLI 核心在阶段 5 后开源时,将发布贡献指南。
请参阅 CONTRIBUTING.md 了解当前适用的环境搭建说明。
许可证
私有 — 开源发布前保留所有权利。
相似文章
@_mattata: Anthropic 发布了一个相当简洁的代码审计工具,用于识别具有潜在安全影响的漏洞。它…
Anthropic 发布了一个开源代码审计参考工具,用于使用 Claude 进行自主漏洞发现和修复,涵盖了 recon→find→triage→report→patch 流程,主要针对 C/C++ 内存漏洞。它是一个模板/参考实现,而非生产就绪产品,同时还提供名为 Claude Security 的托管选项。
为什么 Codex Security 不包含 SAST 报告
OpenAI 解释了为什么 Codex Security 刻意避免从 SAST 报告开始,而是直接分析仓库架构并验证发现。该方法解决了核心挑战:最困难的漏洞涉及安全检查是否在整个转换链中实际起作用,而不仅仅是数据流跟踪。
Codex Security:现处于研究预览阶段
OpenAI 推出 Codex Security,这是一款现处于研究预览阶段的自主应用程序安全工具。它能高置信度识别复杂漏洞并提供可操作的修复方案,同时与传统的安全工具相比,显著减少误报和噪音。
欢迎来到开源安全的剥离开采时代
本文讨论了由LLM驱动的开源代码自动化漏洞扫描的兴起,导致安全报告大幅增加,并将这一趋势称为“开源安全的剥离开采时代”。文章强调了自2026年初以来,Metabase等平台观察到的报告在数量和质量上的变化。
deepsec
Deepsec 是一个开源的代码安全工具集,旨在帮助开发者识别并修复代码中的安全漏洞。