Threads-Beams/ALNUR
GitHub: Threads-Beams/ALNUR
开源端到端安全漏洞扫描器,一次扫描即可检测项目依赖 CVE、硬编码密钥、架构缺陷、规范违规和端口风险。
Stars: 3 | Forks: 0
# ALNUR
**开源端到端漏洞扫描器**
ALNUR 是一款针对应用项目的开源、端到端安全漏洞扫描器。将其指向任何项目目录,它便会化身为您的安全分析师 —— 检测依赖项中的 CVE、泄露的 secret、架构缺陷、标准违规以及高风险端口配置。
## 功能特性
| 模块 | 检查内容 |
|---|---|
| **CVE Scanner** | 查询 OSV.dev 以获取所有检测到的包的已知 CVE |
| **Secret Detection** | 使用正则匹配 + 熵分析查找硬编码的 API 密钥、token、密码和私钥 |
| **Architecture Analysis** | 30 多条 SAST 规则,涵盖注入、弱加密、不安全的反序列化、配置错误 |
| **Standards Compliance** | Gitignore 规范性、lockfile 是否存在、CI/CD、测试套件、Docker 最佳实践 |
| **Port Risk Analysis** | 标记 Dockerfile、docker-compose、配置文件和 `.env` 中的危险端口 |
## 支持的项目类型
Node.js · React · Vue.js · Next.js · Express.js · Python · Django · Flask · FastAPI · PHP · Laravel · Symfony · Ruby · Ruby on Rails · Go · Rust · Java (Maven/Gradle) · Spring Boot · .NET
## 安装
```
pip install alnur
```
或从源码安装:
```
git clone https://github.com/threads-beams/alnur
cd alnur
pip install -e .
```
## 快速开始
```
# 扫描当前目录
alnur scan .
# 扫描指定路径
alnur scan /path/to/my-project
# 生成 HTML 报告
alnur scan . --output html --output-file report.html
# 生成所有格式
alnur scan . --output all --output-file report
# 仅显示 high+ 严重级别的问题
alnur scan . --severity high
# 仅检测项目类型(快速)
alnur detect .
```
## CLI 参考
```
alnur scan [PATH] [OPTIONS]
Options:
-o, --output [console|json|html|all] Output format (default: console)
-f, --output-file PATH Write report to file
-s, --severity [critical|high|medium|low|info] Minimum severity (default: low)
--skip-cve Skip CVE check
--skip-secrets Skip secret detection
--skip-arch Skip architecture analysis
--skip-standards Skip standards compliance
--skip-ports Skip port risk analysis
--no-dev Exclude dev dependencies
-v, --verbose Show recommendations inline
-q, --quiet Suppress progress output
```
## 风险等级
| 等级 | 分数 | 含义 |
|---|---|---|
| A | 0–19 | 低风险 — 保持现状 |
| B | 20–49 | 次要问题 — 审查低优先级发现 |
| C | 50–99 | 中等风险 — 在投入生产前予以解决 |
| D | 100–199 | 高风险 — 需紧急修复 |
| F | 200+ | 严重 — 切勿部署 |
## 输出格式
- **Console** — 带有表格和严重性徽章的彩色富文本终端输出
- **JSON** — 机器可读的结构化报告(CI/CD 集成)
- **HTML** — 自包含的暗色主题安全仪表板,无外部依赖
## 退出码
| 代码 | 含义 |
|---|---|
| `0` | 扫描完成 — 未发现严重/高危问题 |
| `1` | 发现严重或高危问题 |
## CVE 数据源
ALNUR 使用 [OSV.dev](https://osv.dev) API —— 这是一个免费、开放的漏洞数据库,涵盖 npm、PyPI、Maven、NuGet、RubyGems、crates.io、Packagist、Go modules 等。无需 API 密钥。
## 架构规则(示例)
| 规则 | 类别 | 严重程度 |
|---|---|---|
| `INJ001–009` | SQL / 命令注入 | HIGH/CRITICAL |
| `DESER001–003` | 不安全的反序列化 | HIGH |
| `CRYPTO001–004` | 弱加密算法 | MEDIUM/HIGH |
| `TLS001–004` | SSL/TLS 配置错误 | MEDIUM/HIGH |
| `DJANGO001–005` | Django 配置错误 | MEDIUM/HIGH |
| `FLASK001–003` | Flask 配置错误 | MEDIUM/HIGH |
| `NODE001–004` | Node.js 配置错误 | MEDIUM/HIGH |
| `DOCKER001–003` | 容器安全 | MEDIUM/HIGH |
| `XSS001–002` | 跨站脚本攻击 (XSS) | HIGH |
| `PATH001–002` | 路径遍历 | HIGH |
## 参与贡献
欢迎参与贡献。要添加新的架构规则,请在 `alnur/analyzers/architecture.py` 的 `_RULES` 中添加条目。要添加新的 secret 匹配模式,请在 `alnur/analyzers/secrets.py` 的 `_PATTERNS` 中添加。
```
pip install -e ".[dev]"
pytest
```
## 许可证
MIT — 详见 [LICENSE](LICENSE)
*ALNUR — 照亮您代码库中隐藏的角落。*
标签:API密钥检测, CI/CD安全, CISA项目, Docker安全, GHAS, Go安全, Java安全, JS文件枚举, Llama, LNA, MITM代理, .NET安全, Node.js安全, OSV.dev, PHP安全, Ruby安全, Rust安全, StruQ, 可视化界面, 多人体追踪, 多语言支持, 安全合规, 安全测试框架, 密码检测, 开发安全(DevSecOps), 开源安全扫描器, 开源情报(OSINT), 日志审计, 机密信息泄露检测, 架构缺陷分析, 熵分析, 端到端安全, 端口风险分析, 网络代理, 聊天机器人, 请求拦截, 软件成分分析(SCA), 输入验证, 逆向工具, 静态应用安全测试(SAST)