Skip to content

Repository files navigation

Shadow-AlphaScan(AlphaScan)

AlphaScan 是一个面向渗透测试与安全评估的本地化 AI 辅助平台:集成任务式 AI 助手、常用安全工具(通过 MCP/本地执行封装)、扫描监控与知识沉淀,提供可视化 Web UI 与可扩展的后端能力。

本项目仅用于合法授权的安全测试、学习与研究。请勿用于任何未授权目标。

一句话定位(现状)

AlphaScan 已落地为一个“本地优先”的 Web 安全作战中枢雏形:具备登录与权限、AI 对话与可审批的 Agent Run、可托管的 MCP 工具生态接入、本地工具执行与代码审计取证、Run 事件流与大屏数据聚合,以及可进化的知识库闭环(Run ↔ Knowledge 双向溯源 + 反馈日志结构化 + 批量管理)。

项目特点(为什么不只是“AI 聊天 + 扫描器”)

  • 任务式 Agent Run:规划 → 工具调用 → 报告三阶段串联,过程可追踪、可回放、可复盘
  • 工业化人机协同:关键节点审批/注入/暂停/接管,提升可靠性与可审计性
  • MCP 武器库标准:以 MCP 统一接入安全工具,支持托管进程管理与日志查看
  • 证据驱动的代码审计:面向”可复现/可引用”的取证输出,而不是只给结论
  • 知识闭环与可进化:Run 结果沉淀为知识条目,并支持反馈、置信度轨迹、派生链路
  • 监督与熔断:预算/循环检测/降级或终止,避免单个任务拖垮平台
  • 配置可迁移:统一使用根目录 config/,路径采用相对路径,便于分发与迁移

技术栈

  • 后端:FastAPI + SQLModel(SQLite / PostgreSQL) + Requests + httpx
  • 前端:Vite + React + TypeScript + Ant Design + ECharts

架构概览

flowchart TB
  subgraph UI["Web 界面"]
    FE["前端 (Vite + React)"]
  end

  subgraph BE["后端 API (FastAPI)"]
    API["REST / WebSocket 接口"]
    ORCH["Agent 运行时 & 编排器<br/>(规划 → 工具调用 → 报告)"]
    CFG["配置存储<br/>(config/*.json)"]
    DB["数据库 (SQLite app.db)"]
  end

  subgraph TOOLS["工具层"]
    MCP["MCP 客户端 / 托管 MCP 服务"]
    LOCAL["本地执行 / Python 工具"]
  end

  FE --> API
  API --> ORCH
  API --> CFG
  API --> DB
  ORCH --> MCP
  ORCH --> LOCAL
  MCP --> DB
  LOCAL --> DB
Loading

核心流程

sequenceDiagram
  autonumber
  participant U as 用户
  participant FE as 前端
  participant API as 后端 API
  participant OR as 编排器
  participant TL as 工具层 (本地/MCP)
  participant KB as 知识库/数据库

  U->>FE: 创建任务 / Run
  FE->>API: POST /ai/runs (或 /ai/chat)
  API->>OR: 规划阶段
  OR-->>API: 计划与审批点
  API-->>FE: 事件流/审批请求
  U->>FE: 批准/注入/暂停
  FE->>API: 审批决策
  API->>OR: 工具调用阶段
  OR->>TL: 调用本地工具或 MCP 工具
  TL-->>OR: 结果/证据
  OR->>KB: 写入事件、证据、知识派生
  OR->>API: 报告阶段
  API-->>FE: Run 结果与报告
Loading

目录结构

AlphaScan/
  backend/                后端(FastAPI)
    app/                  API 路由与核心服务
      api/                接口路由(ai、auth、scan、mcp、pentest、osint 等)
      services/           业务逻辑层
        agent/            Agent 核心(规划、工具调用、报告、漏洞利用引擎、后渗透)
        pentest_kernel/   渗透内核(流水线、契约、重试、遥测)
        pentest_orchestrator/  渗透编排器(情报搜集、目标档案)
        code_intelligence/     代码智能引擎(图谱、向量、上下文、监控)
        tactical_learning_engine/  战术学习引擎(知识蒸馏、经验解析、推理)
        crawler/          爬虫服务(深度爬取、JS 分析、接口发现)
        scanner/          扫描服务(Nuclei 集成、自定义检查)
        recon/            侦查服务(子域名枚举、端口扫描、DNS、WHOIS)
      db/                 数据库模型与引擎
    mcp_servers/          内置可托管 MCP 服务(semgrep、nmap、sqlmap)
    tools/                本地工具、PoC 模板与字典资源
    data/                 SQLite 数据库、日志与规则库(不建议提交)
  frontend/               前端(Vite + React + TypeScript + Ant Design)
    src/pages/            页面组件(仪表盘、渗透测试、代码审计、信息搜集、大屏等)
  config/                 运行期配置(默认不提交,路径相对化)
  docs/                   使用文档
  examples/               示例配置(无密钥,可提交)
  requirements.txt        Python 依赖
  run.bat                 一键启动(前后端)
  start_project.bat       启动 launcher.py(前后端)
  launcher.py             启动器(自动寻找 .venv)

界面预览

以下截图可直接在 GitHub 上展示(后续可替换为真实截图或动图,同名覆盖即可):

页面 预览
仪表盘 仪表盘
AI 助手 AI 助手
Run 详情 Run 详情
知识库 知识库
扫描监控 扫描监控
MCP 服务 MCP 服务
武器库 武器库
设置 设置
大屏 大屏

已实现能力(以”界面可运行”为准)

  • 账号与权限:登录/注册、基础鉴权与路由保护(第一个注册用户为管理员)
  • AI 能力:对话 + Agent Run
    • 多模型配置、会话持久化、Run 事件流与实时推送
    • 审批点:澄清/执行确认/工具调用等关键节点可人工干预
  • 知识库:Run ↔ 知识双向溯源
    • 反馈日志结构化、倒序展示、置信度轨迹、从知识跳转到 Run
    • 管理员批量操作:批量调置信度/分层/归档/删除
  • MCP 工具生态:接入与托管
    • MCP 配置管理(导入/导出/列表),托管服务启动/停止/日志尾部回显
    • 内置托管服务(视文件存在):Semgrep、Nuclei、Nmap、SQLMap
  • 渗透测试:AI 驱动的全流程渗透
    • 情报搜集(子域名枚举、端口扫描、DNS、WHOIS、证书分析)
    • 攻击决策(AI 生成并排序可执行攻击路径、ATT&CK 映射)
    • 漏洞利用(MCP 工具/Nuclei 模板/AI 脚本/命令多模式执行)
    • 后渗透验证(权限确认、横向扩展、风险归档)
    • 沙箱执行器(Docker 隔离、策略黑名单、超时保护)
  • 代码审计:证据驱动的智能审计
    • 代码智能引擎(调用图谱、向量语义搜索、污点分析)
    • 并行分类审计(按漏洞类型分类并行 AI 验证)
    • 增量索引与文件监控
  • 战术学习引擎:知识沉淀与进化
    • 经验解析、知识蒸馏、推理引擎、反馈闭环
    • BM25 全文检索 + 向量检索混合召回
  • 本地环境可控(工程化)
    • 设置页可配置 pythonPath/venvPath/pipMirror,影响后端子进程
    • 受控命令执行(仅管理员 + 本地回环地址)用于排错/依赖安装
  • 可视化:仪表盘/大屏/扫描监控/武器库/Run 详情/知识详情等页面

快速开始(Windows)

  1. 安装依赖
    • Python 3.8+(建议 3.10+)
    • Node.js 18+(建议 18/20)
  2. 创建虚拟环境并安装后端依赖
    • 启动脚本默认使用根目录的 .venv,请保持该目录名不变
python -m venv .venv
.venv\\Scripts\\python -m pip install -U pip
.venv\\Scripts\\pip install -r requirements.txt

如需用当前虚拟环境实际安装的依赖重新生成 requirements.txt:

.\.venv\Scripts\python -m pip freeze > requirements.txt
  1. 安装前端依赖
cd frontend
npm install
  1. 启动
    • 方式一:双击运行 run.bat
    • 方式二:双击运行 start_project.bat(使用 launcher.py 同时启动前后端)

启动后:

配置说明

  • 运行期配置目录:config/
  • 出于安全考虑,config/*.json 默认被 .gitignore 忽略(请勿提交真实 API Key / Token)
  • 示例模板:examples/ai_models.example.json

文档

现状与路线

  • 当前更像”通用 Agent 执行器 + 审计取证骨架 + 知识闭环雏形”;渗透/扫描流水线的阶段化数据模型仍待继续落地
  • 下一步最有价值的投入方向:把”代码审计”与”扫描流水线”做成输入可控、输出可复现、证据可验证的产品闭环

免责声明

使用本项目进行任何安全测试前,请确保你已获得目标系统的明确授权。作者不对任何未授权使用造成的后果承担责任。

About

No description, website, or topics provided.

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages