ndayealain123/AlanScan-v4
GitHub: ndayealain123/AlanScan-v4
一个集成自动化漏洞扫描与威胁情报的混合模块化工具,用于提升安全评估的覆盖与证据质量。
Stars: 0 | Forks: 0
# AlanScan v3.1.0
**AlanScan** 是一个用于 Web 应用程序和网络主机的混合模块化漏洞扫描器。它结合了确定性检测模块、证据验证、CVSS v3.1 评分、可选的 AI 辅助叙述分析以及多格式报告(HTML 仪表板、适合打印的 PDF、JSON)。它专为**授权安全评估**、课程作业和研究原型设计,要求具备可重现的方法论和专业交付成果。
## v3.1.0 的新功能
| 领域 | 升级 |
|------|---------|
| **新模块** | Open Redirect 扫描器(`open_redirect.py`) |
| **新模块** | HTTP 方法篡改(`method_tampering.py`)— TRACE/XST、方法覆盖 |
| **新模块** | 增强的安全头 Plus(`security_headers_plus.py`)— COEP/COOP/CORP、Cache-Control |
| **攻击链** | 4 条新链规则:Open Redirect+API、IDOR+弱认证、枚举+速率限制、SQLi+HTTP |
| **config.py** | `OPEN_REDIRECT_PAYLOADS`、`IDOR_SENSITIVE_PARAMS`、`COMPLIANCE_FRAMEWORKS`、`MITRE_ATTACK_MAPPING` |
| **报告 HTML** | 合规矩阵、MITRE ATT&CK 表、补救时间线、方法论章节 |
| **报告 PDF** | 合规页、MITRE 页、方法论附录 |
| **报告 JSON** | 每个框架下包含需求 ID 的 `compliance_summary` 块 |
| **AI 分析器** | 新增 Open Redirect 和方法篡改分析块 |
| **AI 模型** | 确认使用 `claude-sonnet-4-20250514` |
| **错误修复** | 移除 `config.py` 中重复的 `VERSION` 声明 |
| **错误修复** | `chainer.py` 严重性标签颜色(CRITICAL=红色,HIGH=黄色) |
## 功能一览
| 领域 | 能力 |
|------|------------|
| **Web** | SQLi(错误 / 布尔 / 时间)、XSS(反射 + 静态 DOM 汇点提示)、CSRF、SSRF、CMDi、XXE、LFI、头部、Cookie、SSL/TLS、目录发现、WAF 检测 |
| **API** | Swagger/OpenAPI 暴露(合并发现 + 支持资源)、GraphQL 反射 |
| **认证** | 默认/弱凭证检查、用户名枚举启发式、可选 `--credentials` 用于认证后重新扫描 |
| **访问控制** | IDOR 启发式(登录成功后会话感知) |
| **质量** | 证据验证(置信度、去重)、PoC / 步骤 / 影响增强、SQLi/CMDi 的 HTTP 响应捕获、PDF 包含响应摘录 |
| **风险** | 基于元数据的 CVSS v3.1 向量与基础分数计算、严重性归一化、漏洞链 |
| **报告** | 交互式 HTML、PDF、JSON(验证统计、时间戳、适用的密码学附录) |
| **AI** | 可选执行摘要、顶级优先级(按类型 + 基础 URL 去重)、修复叙述(Anthropic API) |
## 架构
**Web 扫描** 的高级流水线:
1. **爬取** — 同源 URL 发现与参数收集。
2. **认证审计** — 登录表单发现;默认凭证尝试;枚举探测;可选用户提供凭证;已建立会话转发至选中模块。
3. **侦察与控制** — WAF、头部、SSL/TLS、Cookie、目录、API 检查。
4. **漏洞模块** — 并行测试各 URL(检测到 WAF 时使用绕过载荷集)。
5. **链式攻击** — 多发现攻击路径用于优先级排序。
6. **证据验证** — 置信度评分、假阳性减少、重复折叠。
7. **CVSS 评分** — 基于向量的基础分数与一致严重性等级。
8. **报告增强** — 每个发现类别的确定性 PoC、步骤与影响文本。
9. **证据收集** — 可选重放 SQLi/CMDi/CSRF 以附加 HTTP 正文与原始会话记录。
10. **AI 分析**(可选) — 目标特定叙述块。
11. **导出** — 在 `output/`(或 `--output-dir`)下输出 HTML + PDF + JSON。
网络扫描遵循更短路径:端口扫描 → 横幅 → CVE 相关性 → 验证 → 评分 → 报告。
```
AlanScan/
├── AlanScan.py # CLI
├── config.py # Payloads, signatures, OWASP/CVSS metadata
├── requirements.txt
├── scanner/
│ ├── controller.py # Orchestration
│ ├── evidence_validator.py
│ ├── evidence_collector.py
│ ├── scoring_engine.py
│ ├── cvss31.py
│ ├── report_enricher.py
│ ├── chainer.py
│ ├── ai_analyst.py
│ ├── web/
│ │ ├── base.py # Shared HTTP session
│ │ ├── auth_audit.py # Credentials + enumeration + session
│ │ ├── crawler.py
│ │ ├── api_security.py # Swagger consolidation + GraphQL
│ │ ├── sqli.py, xss.py, csrf.py, ssrf.py, cmdi.py, xxe.py, lfi.py
│ │ ├── headers.py, cookies.py, ssl_tls.py, directories.py, waf.py
│ │ ├── idor.py, rate_limit.py
│ └── network/
│ ├── portscan.py, banner.py, cve.py
└── reports/
├── html_reporter.py
├── pdf_reporter.py
└── reporter.py
```
## 安装
**建议使用 Python 3.10+**(全程使用现代类型提示)。
```
pip install -r requirements.txt
```
依赖项包括 `requests`、`beautifulsoup4`、`colorama`、`lxml`、`urllib3`、`reportlab` 和 `chardet`。
## 使用
### Web 扫描(默认全范围覆盖)
```
python AlanScan.py -u https://target.example
```
默认配置文件在未指定配置文件标志时启用所有 Web 模块(参见 `--list-profiles`)。
### 认证评估
在爬取后,工具会在存在表单时尝试登录;尝试一组小型默认凭证;并可使用你提供的凭据建立真实会话。Cookie 会传播到 **SQLi、XSS、CMDi 和 IDOR** 工作者,以便更可能发现仅认证可访问的问题。
```
python AlanScan.py -u https://target.example --web-scan --credentials admin:admin
```
### 调整
```
python AlanScan.py -u https://target.example -d 5 -t 20 --timeout 8 --output-dir reports
```
### 中间人代理(Burp / ZAP)
```
python AlanScan.py -u https://target.example --proxy http://127.0.0.1:8080
```
确保**拦截关闭**,否则爬取器会挂起。
### 网络扫描
```
python AlanScan.py -ip 192.168.1.100 --network-scan
```
### 扫描配置文件
- `--full-scan` — 所有 Web 模块(以及包含时的端口)。
- `--quick-scan`、`--web-scan`、`--stealth-scan`、`--injection-scan`、`--owasp-scan`、`--fast-scan`
- `--network-scan` — 仅主机。
可将配置文件与**可叠加**标志组合使用,例如 `--quick-scan --cmdi`。
### AI 叙述(可选)
设置一次 API 密钥;CLI 默认启用 AI,除非传递 `--no-ai`。
```
# Windows
setx ANTHROPIC_API_KEY "sk-ant-api03-..."
# Linux / macOS
export ANTHROPIC_API_KEY="sk-ant-api03-..."
```
## 报告与工件
所有输出位于 **`output/`**(或 `--output-dir`):
| 文件 | 用途 |
|------|---------|
| `alanscan_*_*.html` | 交互式仪表板:筛选器、发现卡片、SQLi/CMDi/CSRF 的 HTTP 证据面板 |
| `alanscan_*_*.pdf` | 执行风格 PDF:严重性摘要、链式规则、每个发现的表格、**SQLi/CMDi 的 HTTP 摘录** |
| `alanscan_*_*.json` | 机器可读:发现、评分、验证统计、扫描指标、额外的 TLS/端口元数据 |
## 方法论说明(用于学术或专业报告)
- **可重现性** — 固定流水线顺序;配置集中化在 `config.py`;工具横幅包含版本。
- **假阳性控制** — 验证器使用模块特定规则(例如仅目录命中且未经验证时不加分)。
- **去重** — URL/查询归一化与逻辑分组(例如 Swagger 资源 → 单个暴露发现)。
- **CVSS** — 元数据携带 CWE、OWASP 映射与 CVSS:3.1 向量;仅在向量有效时计算基础分数。
- **伦理** — 仅测试你拥有或获得**书面授权**的系统。
## 限制(诚实的硕士报告范围)
- 自动化扫描器是补充 — 它们不能替代手动专家测试。
- **认证** 覆盖范围取决于成功登录与应用特定流程(MFA、CAPTCHA、SSO 超出范围)。
- **IDOR** 结果为启发式;请结合业务上下文与授权模型确认。
- **AI** 文本仅供参考;发现与证据对象仍为事实依据。
## 贡献 / 扩展
- 在 `config.py` 中添加载荷或签名。
- 新模块:实现 `scan() -> list[dict]`,包含键 `type`、`url`、`parameter`、`payload`、`severity`、`evidence`,并在 `anner/controller.py` 中注册。
- 新发现类型:为一致的 CVSS 与报告文本添加 `VULN_METADATA` 条目。
## 许可与伦理
仅在你**被授权评估**的系统上使用。未经授权的扫描可能违反计算机滥用与隐私法律。AlanScan 仅提供用于教育与授权安全工作。
## 感谢
OWASP、MITRE CWE 与 NIST CVSS v3.1 规范为严重性元数据与术语提供依据。可选的 AI 分析在配置后使用 Anthropic API。
标签:AI安全, AI辅助分析, API安全, Chat Copilot, Claude Sonnet, CSRF, CVSS v3.1, GraphQL内省, HTML仪表板, HTTP方法篡改, JSON报告, JSON输出, LFI, MITRE ATT&CK映射, PDF报告, SEO, SSRF, Web安全, XSS, XXE, 专业交付, 反取证, 可复现方法论, 合规矩阵, 命令注入, 多智能体AI, 多格式输出, 威胁情报, 安全头, 安全评估, 开发者工具, 开放重定向, 开源安全工具, 攻击链, 模块化扫描器, 漏洞情报, 研究原型, 确定性检测, 缓解时间线, 网络主机, 自动化响应, 蓝队分析, 证据验证, 课程设计, 逆向工具, 逆向工程平台, 默认凭证