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, 多格式输出, 威胁情报, 安全头, 安全评估, 开发者工具, 开放重定向, 开源安全工具, 攻击链, 模块化扫描器, 漏洞情报, 研究原型, 确定性检测, 缓解时间线, 网络主机, 自动化响应, 蓝队分析, 证据验证, 课程设计, 逆向工具, 逆向工程平台, 默认凭证