Shanmukhasrisai/vulnscan
GitHub: Shanmukhasrisai/vulnscan
VulnScan 是一款企业级 API 渗透测试平台,通过多协议智能 Fuzzing 和漏洞模板覆盖 OWASP Top 10 检测,帮助安全团队在攻击者之前发现现代 API 架构中的关键漏洞。
Stars: 0 | Forks: 0
# VulnScan
## 企业级 API 渗透测试平台
[](https://www.python.org/downloads/)
[](LICENSE)
[]
**VulnScan** 是一款高性能、专业级的 API 漏洞扫描器和渗透测试平台,专为安全团队、渗透测试人员和云安全审计人员设计。VulnScan 通过智能 fuzzing、可自定义的模板、多协议支持以及跨现代微服务架构和云基础设施的全面 API 漏洞检测,提供企业级的安全测试能力。
VulnScan 专为应对现代安全挑战而构建,使安全专业人员能够在攻击者之前发现关键漏洞。
## VulnScan 的独特之处
VulnScan 通过专门专注于**以 API 为中心的安全测试**,与其他通用漏洞扫描器区别开来:
- 🎯 **API 优先架构**:针对 REST、GraphQL、SOAP、gRPC 和 WebSocket API 的专用检测引擎
- 🔄 **智能协议适配**:自动协议检测和上下文感知的漏洞测试
- 🧬 **高级变异 Fuzzing**:ML 辅助的 payload 生成和特定于协议的变异策略
- 🔐 **认证框架测试**:全面的 JWT、OAuth 2.0、SAML、mTLS 和 API 密钥漏洞检测
- ⚡ **实时分析**:即时漏洞识别,并附带详细的漏洞利用链分析
- 🛠️ **以开发者为中心的 API**:简洁的 Python SDK,用于无缝的安全自动化和 CI/CD 集成
- ☁️ **云原生支持**:专为 AWS、Azure 和 GCP 安全评估而构建
- 📊 **企业级可扩展性**:专为大规模安全操作和合规审计而设计
## 核心功能
### 高级 API 安全测试
#### 多协议支持
**REST API 安全**
- Endpoint 枚举和参数发现
- 注入测试(SQLi、NoSQL、命令注入、XPath)
- 认证和授权绕过检测
- API 速率限制和暴力破解漏洞识别
**GraphQL 安全**
- 查询复杂性分析和 DoS 检测
- Introspection 提取和 schema 枚举
- 批量攻击和别名注入测试
- 嵌套 resolver 中的授权绕过
**SOAP API 测试**
- WSDL 分析和操作枚举
- XML 注入和 XXE (XML External Entity) 检测
- WS-Security 认证绕过
- SOAP action 欺骗检测
**gRPC 安全**
- Protocol buffer fuzzing
- 认证和 interceptor 测试
- 消息篡改检测
- Unary 和流式 RPC 漏洞扫描
**WebSocket 测试**
- 实时消息注入
- 连接劫持和 session 固定
- 跨站点 WebSocket 劫持 (CSWSH)
- 消息级认证绕过
#### 核心漏洞检测
VulnScan 检测 API 漏洞,包括 **OWASP API 安全 Top 10** 和各种**常见漏洞和暴露 (CVE)**:
- **SQL 注入**:多数据库检测(MySQL、PostgreSQL、Oracle、MSSQL)
- **NoSQL 注入**:MongoDB、CouchDB 及其他 NoSQL 查询注入
- **跨站脚本攻击 (XSS)**:反射型、存储型和基于 DOM 的检测
- **跨站请求伪造 (CSRF)**:Token 验证和攻击向量识别
- **远程代码执行 (RCE)**:命令注入和表达式语言注入
- **路径遍历**:目录遍历和文件包含漏洞
- **服务器端请求伪造 (SSRF)**:内部网络访问和云元数据服务攻击
- **认证绕过**:认证失效、缺少授权、权限提升
- **不安全的反序列化**:对象注入和 gadget chain 攻击
- **API 密钥暴露**:硬编码凭据和 token 泄露检测
- **OWASP Top 10 覆盖**:全面检测 OWASP API 安全 Top 10 漏洞
- **CVE 检测**:针对已知漏洞的自动化扫描,并附带 CVSS 评分和影响评估
### 可自定义的模板
**模板系统**
- 基于 YAML 的漏洞定义格式
- 支持复杂的多步骤攻击链
- 自定义 payload 库和变异策略
- 条件逻辑和动态变量替换
**预置模板**
- 500+ 精选漏洞模板
- 特定行业的安全检查(医疗保健、金融、电子商务)
- 合规性模板(PCI-DSS、HIPAA、GDPR)
- 活跃的社区模板仓库
**自定义模板开发**
```
template:
name: "Custom API Authentication Bypass"
severity: high
protocol: rest
requests:
- method: POST
path: "/api/auth/login"
headers:
Content-Type: "application/json"
body: |
{"username": "{{username}}", "password": "{{payload}}"}
payloads:
- "' OR '1'='1"
- "admin' --"
- "{\"$ne\": null}"
detection:
- status_code: 200
- response_contains: "token"
- response_time: "<500ms"
```
## 安装与快速开始
**前置条件**
- Python 3.8 或更高版本
- pip 包管理器
- 虚拟环境(推荐)
**安装**
```
# Clone 仓库
git clone https://github.com/Shanmukhasrisai/vulnscan.git
cd vulnscan
# 创建 virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 安装 dependencies
pip install -r requirements.txt
# 安装 VulnScan
pip install -e .
```
**快速开始 - 基础扫描**
```
# 扫描单个 API endpoint
vulnscan scan --url https://api.example.com/v1
# 使用自定义 template 扫描
vulnscan scan --url https://api.example.com --template jwt-bypass
# 带 authentication 的高级扫描
vulnscan scan \
--url https://api.example.com \
--header "Authorization: Bearer YOUR_TOKEN" \
--template full-audit \
--output report.json
```
**Python SDK 示例**
```
from vulnscan import VulnScanner
from vulnscan.templates import SQLInjectionTemplate
# 初始化 scanner
scanner = VulnScanner(
target_url="https://api.example.com",
headers={"Authorization": "Bearer YOUR_TOKEN"},
timeout=30
)
# 添加 templates
scanner.add_template(SQLInjectionTemplate())
scanner.add_template("owasp-top-10")
# 执行扫描
results = scanner.scan()
# 处理结果
for vuln in results.vulnerabilities:
print(f"Found: {vuln.name} - Severity: {vuln.severity}")
print(f"Location: {vuln.url}")
print(f"Recommendation: {vuln.remediation}")
# 生成报告
report = results.generate_report(format="html")
report.save("vulnerability_report.html")
```
## 高级配置
**配置文件 (vulnscan.yaml)**
```
target:
url: "https://api.example.com"
base_path: "/api/v1"
authentication:
type: "oauth2"
credentials:
client_id: "your_client_id"
client_secret: "your_client_secret"
token_url: "https://auth.example.com/token"
scanning:
threads: 10
timeout: 30
rate_limit: 100 # requests per second
user_agent: "VulnScan/1.0 Security Audit"
templates:
- "sql-injection"
- "xss-detection"
- "authentication-bypass"
- "api-security-owasp"
reporting:
output_format: ["json", "html", "pdf"]
severity_threshold: "medium"
include_false_positives: false
advanced:
follow_redirects: true
verify_ssl: true
proxy: "http://proxy.example.com:8080"
custom_headers:
X-API-Version: "2.0"
audit_storage: false
check_metadata_service: false
```
## 安全考虑
⚠️ **法律声明**:VulnScan 是一款渗透测试工具,仅设计用于授权的安全评估。请仅在以下系统上使用此工具:
- 您拥有的系统
- 您获得明确书面授权的系统
- 授权的渗透测试项目
**未经授权访问计算机系统是非法的。** 在进行安全评估之前,请务必确保您拥有适当的书面授权。
## License
本项目采用 MIT License 授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
## 支持与资源
- 📖 **[完整文档](https://github.com/Shanmukhasrisai/vulnscan/wiki)** - 全面的指南和 API 参考
- 🐛 **[问题追踪器](https://github.com/Shanmukhasrisai/vulnscan/issues)** - 报告 Bug 和请求功能
- 💬 **[社区讨论](https://github.com/Shanmukhasrisai/vulnscan/discussions)** - 提问和分享经验
- 🔒 **[安全建议](https://github.com/Shanmukhasrisai/vulnscan/security)** - 私下报告安全问题
## 免责声明
VulnScan 仅供教育和专业安全测试目的提供。作者和贡献者不对本工具的误用或造成的损害负责。在进行安全评估时,请务必确保您拥有适当的授权,并遵守适用的法律和法规。本工具仅限合格的安全专业人员在其获得授权测试的系统上使用。
**用 ❤️ 为安全社区打造**
标签:API安全, CISA项目, JSON输出, LNA, Python, Python工具, 密码管理, 无后门, 自动化安全评估, 逆向工具