使用说明
起源/主要
MCP安全扫描器
多工具网络安全侦察
一个全面的、现代化的网络安全侦察应用程序,将多种扫描工具集成到一个统一的、用户友好的界面中,并具有高级可视化和报告功能。
特性
核心能力
- 多工具扫描:Nmap、Subfinder、Nikto、Gobuster、NSLookup DNS、Traceroute、Wappalyzer
- 实时进度跟踪:实时更新每个工具的状态监控
- 高级风险评估:基于多种因素的自动风险评分(0-10)
- 交互式可视化:端口、子域、漏洞的Plotly.js图表
- 综合报告:HTML、PDF、JSON和CSV导出选项
- 扫描历史记录:通过搜索和过滤完成审计跟踪
- 现代用户界面:采用Framer Motion和玻璃形态设计的精美动画
安全与法律
- 本地处理:所有扫描都在本地运行,没有数据离开您的计算机
- 授权提醒:内置警告,仅扫描授权目标
- 安全存储:带加密元数据选项的SQLite数据库
- 输入消毒:对扫描目标进行强有力的验证和消毒
建筑
高级设计
┌────────────────────────────────────────────┐
│ Frontend (React + Electron) │
│────────────────────────────────────────────│
│ • Dashboard UI │
│ • Real-time progress tracking │
│ • Interactive visualizations │
└───────────────────────┬────────────────────┘
│
(HTTP / JSON API)
│
┌───────────────────────▼────────────────────┐
│ Backend (FastAPI) │
│────────────────────────────────────────────│
│ • REST API endpoints │
│ • Worker orchestration │
│ • Tool execution management │
└───────────────────────┬────────────────────┘
│
(Subprocess Calls)
│
┌───────────────────────▼────────────────────┐
│ Scanner Tools │
│────────────────────────────────────────────│
│ • nmap, subfinder, nikto, etc. │
└────────────────────────────────────────────┘
技术栈
后端:
- Python 3.11+
- FastAPI(REST API)
- SQLite(本地数据库)
- Jinja2(报告模板)
- 剧作家(PDF生成)
- 并发未来(并行执行)
前端:
- 在前端,有大量文件。因此,我在下面添加了URL。浏览并下载zip文件,然后将其放置在MCP-APP中。(根据项目结构) Zip文件URL(驱动程序链接):https://drive.google.com/file/d/1jtAWLnNkM2GQK7ORVJ8c7Rmd0h7RJ0KP/view?usp=sharing
- 反应18
- 电子(桌面包装)
- 帧运动(动画)
- Plotly.js(图表)
- Lucide React(图标)
- Axios(HTTP客户端)
快速开始
先决条件
- Python 3.11+ 安装
- Node.js 18+ 安装
- 扫描工具 已安装并在PATH中:
nmap--网络映射器subfinder--子域发现nikto--Web漏洞扫描程序gobuster--目录暴力破解器nslookup--DNS查找(通常预装)traceroute/tracert--网络路径跟踪(通常预装)wappalyzer--识别CDN、安全和其他技术栈(以及版本)
工具安装(Nmap、Subfinder、Gobuster、Nikto)
Windows(PowerShell)
# Optional: Install Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# Install Nmap and Go
choco install nmap golang -y
# Install Go-based tools (ensure %USERPROFILE%\go\bin is in PATH)
$env:Path += ";$env:USERPROFILE\go\bin"
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/OJ/gobuster/v3@latest
# Nikto (best via WSL) or download from GitHub
Linux(Debian/Ubuntu)
sudo apt-get update
sudo apt-get install -y nmap nikto dnsutils traceroute golang-go
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/OJ/gobuster/v3@latest
echo 'export PATH=$PATH:~/go/bin' >> ~/.bashrc && source ~/.bashrc
macOS(自制)
brew install nmap nikto go
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/OJ/gobuster/v3@latest
echo 'export PATH=$PATH:~/go/bin' >> ~/.zshrc && source ~/.zshrc
验证工具:
nmap --version
subfinder -version
nikto -Version
gobuster -h
安装
-
克隆或导航到项目:
cd MCP-APP -
设置后端:
cd backend pip install -r requirements.txt playwright install chromium -
设置前端:
cd frontend npm install
运行应用程序
选项1:开发模式
终端1–后端:
cd backend
python mcp_server.py
继续运行 http://127.0.0.1:8000
2号航站楼——前端:
cd frontend
npm start
继续运行 http://localhost:3000
选项2:一键启动(Windows)
# Backend
backend\start_backend.bat
# Frontend (new terminal)
frontend\start_frontend.bat
使用指南
开始扫描
- 导航至 “新扫描” 标签
- 输入目标(域或URL)
- 选择工具
- 点击 “启动安全扫描”
监控进度
- 检查 “进展” 实时状态选项卡
- 每个工具显示其单独的进度和完成情况
查看结果
- 报告选项卡:详细的图表和结果
- “历史记录”选项卡:过去的扫描,可搜索和过滤
- 导出选项:PDF、JSON、CSV、HTML
风险评分计算
风险指数(0-10)考虑了:
- 漏洞的数量和严重程度
- 高风险发现
- 开放端口
- 子域名计数
项目结构
MCP-APP/
├── backend/
│ ├── mcp_server.py
│ ├── requirements.txt
│ ├── scanners/
│ │ ├── nmap.py
│ │ ├── subfinder.py
│ │ ├── nikto.py
│ │ ├── gobuster.py
│ │ ├── nslookupdns.py
│ │ └── traceroute.py
│ └── scans/
│ ├── mcp.db
│ └── {scan_id}/
│ ├── raw/
│ └── report.pdf
│
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── Dashboard.js
│ │ │ ├── ScanForm.js
│ │ │ ├── ScanProgress.js
│ │ │ ├── ScanHistory.js
│ │ │ └── ScanReport.js
│ │ ├── App.js
│ │ ├── App.css
│ │ └── index.js
│ └── package.json
│
└── README.md
API终点
🔹 扫描管理
POST /start_scan–开始新的扫描GET /status/{scan_id}–获取扫描状态GET /scans–列出所有扫描
🔹 报告和导出
GET /report/{scan_id}–HTML报告GET /report_pdf/{scan_id}–PDF导出GET /export/{scan_id}/json–JSON导出GET /export/{scan_id}/csv–CSV导出
🔹 公用事业
GET /tools–列出可用的扫描工具
详细功能
实时进度跟踪
- 每2秒实时更新一次
- 动态进度指标
- 工具完成通知
高级可视化
- 港口分布图
- 子域名列表
- 风险度量
- 漏洞热图
导出选项
- PDF、JSON、CSV、HTML
法律和道德准则
重要: 仅扫描您拥有或具有明确测试权限的域。 未经授权的扫描可能 非法的.
最佳实践:
- 始终获得书面授权
- 遵守费率限制
- 对结果保密
开发指南
添加新工具
在中创建扫描仪模块 backend/scanners/:
def run_and_parse(target: str, raw_dir: str) -> dict:
# Your scanning logic
return {
"success": True,
"findings": [...],
"count": 0
}
在中注册 mcp_server.py.
自定义用户界面
- 编辑
frontend/src/App.css对于样式 - 修改中的组件
frontend/src/components/ - 更新Framer Motion动画
构建桌面应用程序
cd frontend
npm run build
npm run electron
或者创建安装程序:
npm run build && electron-builder
故障排除
未找到工具
确保工具已安装并处于PATH中。 示例检查:
nmap --version
subfinder -version
nikto -Version
gobuster -h
后端连接错误
- 验证后端是否正在运行(
http://127.0.0.1:8000/docs) - 检查CORS配置
- 必要时暂时禁用防火墙
PDF导出失败
playwright install chromium
快速运行命令
要快速启动项目,请执行以下操作:
# Backend
cd backend
python .\mcp_server.py
# Frontend
cd frontend
npm start
许可证和信用证
免责声明: 此工具仅用于授权的安全测试。负责任地使用。
构建方式:
- 快速API
- 反应
- 帧运动
- Plotly.js
- 电子
版本历史记录
v2.0.0(当前)
- 使用动画重新设计UI
- 实时跟踪
- 增强风险评分
- 导出格式:PDF、JSON、CSV
- 使用搜索/筛选功能扫描历史记录
v1.0.0
- 初始版本
- 基本扫描
- 简单的HTML报告
贡献
欢迎投稿! 拜托:
- 遵循代码样式约定
- 为新功能添加测试
- 更新文档
- 尊重安全最佳实践
支持
关于问题或建议:
- 检查GitHub问题
- 查看故障排除
- 确保安装了必备组件
在建造时考虑到了安全性。负责任地使用。
团队成员(由Woxsen初级学者开发的项目)
- 班迪·赫曼斯(22WU0106028)
- Vamsi。P(22WU0106013)
- 拉胡尔·萨米尼尼(22WU0106023)
