Velonus – 开源应用安全扫描器,去重SAST噪声

Hacker News Top 工具

摘要

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 SASTBandit注入、弱密码学、不安全的 Shell 执行
模式分析SemgrepOWASP Top 10 漏洞模式
依赖项 CVEpip-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 了解当前适用的环境搭建说明。


许可证

私有 — 开源发布前保留所有权利。

相似文章

为什么 Codex Security 不包含 SAST 报告

OpenAI Blog

OpenAI 解释了为什么 Codex Security 刻意避免从 SAST 报告开始,而是直接分析仓库架构并验证发现。该方法解决了核心挑战:最困难的漏洞涉及安全检查是否在整个转换链中实际起作用,而不仅仅是数据流跟踪。

Codex Security:现处于研究预览阶段

OpenAI Blog

OpenAI 推出 Codex Security,这是一款现处于研究预览阶段的自主应用程序安全工具。它能高置信度识别复杂漏洞并提供可操作的修复方案,同时与传统的安全工具相比,显著减少误报和噪音。

欢迎来到开源安全的剥离开采时代

Hacker News Top

本文讨论了由LLM驱动的开源代码自动化漏洞扫描的兴起,导致安全报告大幅增加,并将这一趋势称为“开源安全的剥离开采时代”。文章强调了自2026年初以来,Metabase等平台观察到的报告在数量和质量上的变化。

deepsec

Product Hunt

Deepsec 是一个开源的代码安全工具集,旨在帮助开发者识别并修复代码中的安全漏洞。