攻击面情报(ASI-MCP)
基于模型上下文协议的人工智能攻击面智能
⚠️ 免责声明: 这是一个概念验证,仅用于测试和教育目的。请勿在生产环境中使用。仅对您有明确授权进行测试的系统使用。
概述
ASI-MCP是一个智能安全评估平台,通过模型上下文协议(MCP)提供行业标准渗透测试和漏洞评估工具的AI驱动编排。通过将安全工具作为MCP兼容服务公开,ASI-MCP使AI代理能够通过类人推理和自动化进行全面的安全评估。
主要特点
全面的工具覆盖
- 网络侦察和端口扫描(nmap、masscan、rustscan)
- Web应用程序漏洞扫描(nucleus、nikto、sqlmap)
- 目录和文件枚举(gobuster、feroxbuster、ffuf、dirsearch)
- Web应用程序防火墙检测(wafw00f)
- 内容发现和抓取(gospider、katana、httpx)
- 身份验证测试和凭证暴力破解(hydra)
- 域侦察(子搜索器、收割机)
- 二进制分析(字符串、radare2、binwalk)
AI原生架构
- 用于无缝AI代理交互的模型上下文协议(MCP)集成
- 长时间运行的扫描的异步作业执行
- 实时状态监控和进度跟踪
- 针对AI分析优化的结构化JSON输出
企业安全
- 目标验证和安全控制
- 全面的审计日志记录
- 速率限制和资源管理
- 非根容器执行
- 健康监测和指标
生产就绪
- 基于Kali Linux的Docker容器化
- 基于FastAPI的REST API
- 持久作业存储
- 所有安全工具的内置验证
建筑
ASI-MCP建立在多层架构之上:
┌─────────────────────────────────────┐
│ AI Agent (Claude, n8n, etc.) │
└─────────────┬───────────────────────┘
│ MCP Protocol
┌─────────────▼───────────────────────┐
│ ASI-MCP Server (FastAPI) │
│ ┌───────────────────────────────┐ │
│ │ Job Management & Queueing │ │
│ └───────────────────────────────┘ │
│ ┌───────────────────────────────┐ │
│ │ Security Tool Orchestration │ │
│ └───────────────────────────────┘ │
│ ┌───────────────────────────────┐ │
│ │ Validation & Safety Layer │ │
│ └───────────────────────────────┘ │
└─────────────┬───────────────────────┘
│
┌─────────────▼───────────────────────┐
│ Security Tools (Kali Linux) │
│ nmap | nuclei | gobuster | nikto │
│ sqlmap | hydra | gospider | ... │
└─────────────────────────────────────┘快速开始
先决条件
- 码头工人
- Docker Compose
- 最低4GB RAM
- 20GB磁盘空间
安装
- 克隆存储库:
git clone https://github.com/deruke/asi-mcp.git
cd asi-mcp- 构建并启动容器:
docker-compose up -d --build- 验证服务器是否正在运行:
curl http://localhost:3000/health预期响应:
{"status":"healthy","service":"mcp-security-server","version":"1.0.0"}用法
API直接访问
ASI-MCP通过HTTP公开用于MCP工具调用的JSON-RPC 2.0 API:
示例:端口扫描
curl -X POST http://localhost:3000/messages \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "nmap_scan",
"arguments": {
"target": "scanme.nmap.org",
"ports": "80,443",
"scan_type": "fast"
}
}
}'示例:Web漏洞扫描
curl -X POST http://localhost:3000/messages \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "nuclei_scan",
"arguments": {
"target": "https://example.com",
"profile": "pentest"
}
}
}'异步扫描
对于长时间运行的扫描,请使用异步作业API:
1.启动扫描作业:
curl -X POST http://localhost:3000/scan/start \
-H "Content-Type: application/json" \
-d '{
"tool": "nmap_scan",
"target": "scanme.nmap.org",
"scan_type": "comprehensive"
}'答复:
{
"job_id": "abc123",
"status": "running",
"tool": "nmap_scan",
"target": "scanme.nmap.org"
}2.检查作业状态:
curl http://localhost:3000/scan/status/abc1233.获取结果:
curl http://localhost:3000/scan/results/abc123AI代理集成
ASI-MCP设计用于通过MCP与AI代理一起使用:
n8n示例:
// Add MCP tool node
{
"name": "ASI-MCP",
"type": "mcp",
"server": "http://localhost:3000",
"tool": "nmap_scan",
"arguments": {
"target": "{{ $json.target }}",
"ports": "1-1000"
}
}Claude Desktop示例(config.json):
{
"mcpServers": {
"asi-mcp": {
"url": "http://localhost:3000"
}
}
}可用工具
网络侦察
- nmap_scan -网络端口扫描和服务检测
- masscan_scan -高速端口扫描
- rustscan_scan -具有自动nmap集成的快速端口扫描仪
Web应用程序安全
- 核扫描 -使用8000多个模板进行漏洞扫描(pentest配置文件默认)
- 展示 -Web服务器漏洞扫描程序
- sqlmap_scan -SQL注入检测与利用
- gobuster_scan -目录和文件暴力破解(raft单词表)
- feroxbuster_scan -快速发现内容
- FF沙发 -网络模糊测试工具
- dirsearch_scan -Web路径扫描仪
- httpx_scan -用于探测的HTTP工具包
- wafw00f_scan -Web应用程序防火墙检测
- 鹅蛛扫描 -用于URL和资源发现的网络爬虫
- 卡塔纳扫描 -下一代网络爬虫
- wpscan_scan -WordPress安全扫描程序
- http_request -用于内容获取和端点测试的HTTP客户端
身份验证和凭据
- 水力 -网络身份验证暴力破解
领域情报
- 子指示器扫描 -子域发现
- 搜索器扫描 -OSINT和信息收集
二进制分析
- 字符串解析 -从二进制文件中提取可读字符串
- 雷达分析 -二元分析与逆向工程
- binwalk_分析 -固件分析和提取
配置
环境变量
创建 .env 项目根目录中的文件:
# Server Configuration
HOST=0.0.0.0
PORT=3000
LOG_LEVEL=INFO
# Security Settings
ALLOWED_TARGETS=* # Comma-separated list or * for all
RATE_LIMIT_PER_MINUTE=60
# Job Management
MAX_CONCURRENT_JOBS=5
JOB_TIMEOUT_SECONDS=3600Docker配置
修改 docker-compose.yml 自定义:
services:
mcp-security-server:
build: .
ports:
- "3000:3000"
environment:
- LOG_LEVEL=INFO
volumes:
- ./logs:/app/logs
- ./scans:/tmp/scans
restart: unless-stopped工具特定配置
核
- 默认配置文件:pentest(不包括DoS、模糊测试和OSINT模板)
- 模板位置:
/home/mcpuser/nuclei-templates - 自动更新:容器构建时的模板更新
Gobuster
- 默认单词列表:raft-medium-directives.txt(30000条)
- 可用单词列表:
- 木筏小:20115条 - 木筏介质:29999条 - 筏大:62281条
- 位置:
/usr/share/seclists/Discovery/Web-Content/
无
- 超时:1800秒(30分钟)
- 最大扫描时间:1500秒(25分钟,带最大时间)
- 输出格式:JSON,支持stdout回退
发展
地方发展设置
- 安装Python依赖项:
pip install -r requirements.txt- 在本地运行服务器:
python -m uvicorn src.server:app --host 0.0.0.0 --port 3000 --reload- 运行测试:
pytest tests/项目结构
asi-mcp/
├── src/
│ ├── server.py # FastAPI application and MCP server
│ ├── logging_config.py # Logging configuration
│ ├── safety.py # Target validation and safety controls
│ └── tools/
│ ├── network.py # Network scanning tools
│ ├── web.py # Web application security tools
│ └── binary.py # Binary analysis tools
├── config/
│ └── logging.yaml # Logging configuration
├── docs/
│ ├── fixes-2026-01-14.md
│ └── build-verification.md
├── tests/
│ └── test_*.py
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
└── README.md添加新工具
- 在适当的模块中创建工具功能(
src/tools/) - 将MCP工具定义添加到
list_tools() - 在中注册处理程序
get_tools() - 在中添加目标参数映射
src/server.py - 更新文档
例子:
# src/tools/web.py
async def new_tool_scan(target: str) -> Dict[str, Any]:
"""New security tool implementation."""
validator = get_validator()
validator.validate_target(target)
cmd = ["tool-command", target]
result = await execute_command(cmd, timeout=300, tool_name="new_tool")
return {
"tool": "new_tool",
"target": target,
"success": result["success"],
"output": result["stdout"]
}安全考虑
警告:ASI-MCP包含强大的安全测试工具。负责任地使用,并且只针对您有明确授权进行测试的系统。
最佳实践
- 授权:扫描前务必获得书面许可
- 范围:定义并尊重参与边界
- 速率限制:配置适当的限制以避免服务中断
- 日志记录:启用全面的审计日志以实现合规性
- 网络隔离:尽可能在隔离网络中运行
- 靶标验证:对授权目标使用异体列表
法律声明
未经授权的安全测试在您的管辖范围内可能是非法的。用户全权负责确保遵守适用的法律法规。ASI-MCP的作者和贡献者对误用本软件不承担任何责任。
演出
资源需求
最小:
- 2个CPU内核
- 4GB内存
- 20GB磁盘空间
推荐:
- 4+CPU内核
- 8GB+内存
- 50GB+磁盘空间(用于扫描结果)
基准测试
推荐硬件上的典型扫描时间:
- nmap综合扫描(1000个端口):5-15分钟
- 细胞核pentest轮廓:5-10分钟
- 高脚杯筏介质:2-5分钟
- nikto扫描:15-25分钟
- 鹅爬行(深度2):1-3分钟
故障排除
常见问题
容器无法启动
# Check logs
docker logs mcp-security-server
# Rebuild without cache
docker-compose down
docker-compose up -d --build --no-cache未找到工具
# Verify tool installation
docker exec mcp-security-server which nmap
docker exec mcp-security-server nuclei -version作业超时
# Increase timeout in .env
JOB_TIMEOUT_SECONDS=7200
# Restart container
docker-compose restart权限被拒绝错误
# Check container user
docker exec mcp-security-server whoami
# Verify file permissions
docker exec mcp-security-server ls -la /tmp/scans路线图
- 与漏洞管理平台集成
- 定时扫描功能
- 增强的报告和可视化
- 支持分布式扫描
- 与CI/CD管道集成
- 其他OSINT和侦察工具
- 云安全评估能力
贡献
欢迎投稿!请遵循以下指南:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/new-tool) - 提交您的更改(
git commit -m 'Add new security tool') - 推到分支(
git push origin feature/new-tool) - 打开拉取请求
开发指南
- 遵循PEP 8风格指南
- 添加新功能的测试
- 更新文档
- 在提交PR之前,确保所有测试都通过
许可证
MIT许可证
版权所有(c)2026 ASI-MCP贡献者
特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:
上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。
软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。
支持
- GitHub问题:https://github.com/yourusername/asi-mcp/issues
- 文档:https://github.com/yourusername/asi-mcp/wiki
- 安全问题:security@yourdomain.com(负责任的披露)
致谢
内置:
- Anthropic的模型上下文协议(MCP)
- Kali Linux安全工具
- FastAPI web框架
- Docker容器化
特别感谢安全研究社区和开源工具维护者。
______________________________________________________________________
ASI-MCP -人工智能攻击面智能
