Kali MCP工具包🛡️
具有AI驱动CLI的终极Kali Linux安全测试平台
具有自然语言界面和MCP集成的完整渗透测试库!
](https://www.docker.com/)    
______________________________________________________________________
📖 目录
______________________________________________________________________
🎯 概述
这 Kali MCP工具包 通过模型上下文协议为Claude Code带来专业的安全测试工具。您可以与AI助手进行自然对话,而不是手动运行命令,以执行渗透测试、漏洞扫描和安全研究。
什么是MCP?
模型上下文协议(MCP)是人工智能助手与外部工具和服务交互的标准化方式。它允许Claude Code无缝执行安全工具,同时保持上下文和理解。
为什么是这个项目?
传统的安全工具集成是:
- 同步 → 缓慢,每次操作受阻
- 手册 → 需要命令行专业知识
- 碎片化的 → 每个工具都需要单独设置
- 上下文更少 → 工具无法理解意图
该工具包提供:
- 异步架构 → 10x更快的并行执行
- 自然语言 → 描述一下你想要什么
- 统一接口 → 一次集成,100多种工具
- AI驱动 → Claude了解安全环境
______________________________________________________________________
✨ 特性
🤖 Kali AI命令行界面(新增!)
有史以来最先进的交互式安全测试CLI:
- 自然语言处理 -用简单的英语提问
- 直接命令执行 -运行任何Kali工具
!command - 智能制导 -上下文感知工具建议
- 会话管理 -自动跟踪、导出和报告
- 漂亮的终端UI -丰富的颜色、语法高亮、进度条
- 知识库集成 -即时访问100多个工具文档
- 三种交互模式 -对话、命令和工作流
- 命令历史记录 -支持读取行的可搜索历史记录
- 实时输出 -流命令执行
- 专业报告 -自动生成Markdown和JSON导出
# Launch the CLI
./launch-cli.sh
# Ask questions
How do I scan a network for vulnerabilities?
# Execute commands
!nmap -sV 192.168.1.1
# Search tools
/search sql injection
# Export session
/export核心MCP服务器功能
- 🚀 完全异步 -并行执行安全工具
- 🤖 人工智能集成 -通过Claude进行自然语言安全测试
- 🐳 Docker隔离 -安全、封闭的测试环境
- 🛠️ 100+工具 -完整的渗透测试库
- 📊 自动保存结果 -持续扫描输出
- 🔒 安全第一 -网络隔离、能力控制
- 📖 完成文档 -全面的指南和知识库
- ✅ 生产就绪 -错误处理、测试、验证
是什么让这个特别?
“Flash”异步架构
传统工具执行:
Tool 1 (10s) → Tool 2 (10s) → Tool 3 (10s) = 30 seconds此工具包的异步执行:
Tool 1 (10s) ↘
Tool 2 (10s) → All finish = 10 seconds
Tool 3 (10s) ↗通过并行化,速度提高了3倍!
自然语言接口
之前(手动):
$ docker exec kali nmap -sV -p- 192.168.1.100
$ nikto -h http://192.168.1.100
$ sqlmap -u "http://192.168.1.100/page?id=1" --batch
$ john /tmp/hashes.txt --wordlist=rockyou.txt之后(与克劳德):
"Do a complete security assessment of 192.168.1.100:
- Scan all ports and identify services
- Test the web application for vulnerabilities
- Check for SQL injection
- Generate a professional report"克劳德处理一切!
______________________________________________________________________
🏗️ “Flash”架构
该项目实现了Chuck在YouTube视频中描述的异步架构,为AI助手提供了“the Flash的功能”,而不是同步操作。
传统vs异步
传统同步:
def slow_execution():
result1 = run_nmap() # Blocks for 10s
result2 = run_nikto() # Blocks for 10s
result3 = run_sqlmap() # Blocks for 10s
return [result1, result2, result3] # 30s total我们的异步实现:
async def fast_execution():
results = await asyncio.gather(
run_nmap(), # All start simultaneously
run_nikto(), # Run in parallel
run_sqlmap() # Complete together
)
return results # 10s total关键异步组件
- 异步Docker操作 -非阻塞容器命令
- 并行工具执行 -同时进行多次扫描
- 流媒体响应 -实时结果更新
- 非阻塞I/O -高效利用资源
看 ARCHITECTURE.txt 查看详细图表。
______________________________________________________________________
🚀 快速开始
先决条件
- Docker桌面(或Docker引擎+Docker编写)
- Python 3.8或更高版本
- pip3
- 10GB可用磁盘空间
- Claude Code(或兼容的MCP客户端)
三步安装
# 1. Navigate to directory
cd kali-mcp-toolkit/
# 2. Run setup
chmod +x setup.sh
./setup.sh
# 3. Configure Claude Code
# (Copy claude-code-config.json to your MCP settings)就是这样!看 QUICKSTART.txt 5分钟导游。
______________________________________________________________________
📦 安装
详细的安装步骤
1.克隆或下载
git clone https://github.com/yourusername/kali-mcp-toolkit.git
cd kali-mcp-toolkit/或者下载并解压缩ZIP文件。
2.验证先决条件
# Check Docker
docker --version
docker ps
# Check Python
python3 --version
pip3 --version
# Check disk space
df -h3.运行自动安装程序
chmod +x setup.sh
./setup.sh安装脚本将:
- ✅ 验证所有先决条件
- ✅ 创建工作区目录
- ✅ 设置Python虚拟环境
- ✅ 安装Python依赖项
- ✅ 构建Kali Docker镜像(约15分钟)
- ✅ 启动容器
- ✅ 运行全面测试
- ✅ 生成辅助脚本
- ✅ 创建配置文件
4.手动安装(替代)
如果自动安装失败,您可以手动安装:
# Create workspace
mkdir -p ~/kali-workspace/results
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Build Docker image
docker-compose build
# Start container
docker-compose up -d
# Test installation
python3 test_mcp.py______________________________________________________________________
⚙️ 配置
Claude代码配置
安装后,将MCP服务器添加到Claude Code中:
- 打开
claude-code-config.json - 复制内容
- 在克劳德代码中:
- 打开设置→ MCP服务器 - 粘贴配置
- 重新启动Claude代码
配置示例:
{
"kali-security": {
"command": "/path/to/venv/bin/python3",
"args": ["/path/to/kali_mcp_server.py"],
"env": {
"WORKSPACE_DIR": "/home/user/kali-workspace"
}
}
}环境变量
您可以使用环境变量自定义MCP服务器:
# Workspace location
export WORKSPACE_DIR=~/kali-workspace
# Container name
export CONTAINER_NAME=kali-mcp-container
# Docker image
export DOCKER_IMAGE=kali-security:latestDocker配置
在中自定义容器设置 docker-compose.yml:
services:
kali-mcp-container:
# Resource limits
deploy:
resources:
limits:
cpus: '4.0'
memory: 8G
# Network settings
ports:
- "2222:22" # SSH access
- "4444:4444" # Metasploit______________________________________________________________________
📋 用法
使用克劳德代码
配置后,自然交互:
You: "What security tools are available?"
Claude: "I have access to 10 security tools:
1. nmap_scan - Network scanning
2. web_scan - Web vulnerability testing
3. sql_injection_test - SQL injection detection
[...]"
You: "Scan 192.168.1.1 for open ports"
Claude: [Executes nmap scan]
"✅ Nmap Scan Results for 192.168.1.1
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
📁 Results saved to: /workspace/results/nmap_20250126_143022.json"直接使用MCP服务器
您也可以直接运行MCP服务器:
# Activate virtual environment
source venv/bin/activate
# Run server
python3 kali_mcp_server.py助手脚本
该设置创建了便利脚本:
# Interactive shell
./kali-shell.sh
# Run single command
./run-tool.sh nmap -h
# View results
./view-results.shDocker命令
管理容器:
# Start
docker-compose up -d
# Stop
docker-compose down
# Restart
docker-compose restart
# View logs
docker-compose logs -f
# Access shell
docker exec -it kali-mcp-container /bin/bash
# Run command
docker exec kali-mcp-container nmap --version______________________________________________________________________
🛠️ 可用工具
1.nmap_scan
网络扫描和端口发现。
参数:
target(必需)-IP地址、主机名或CIDR范围scan_type-快速、全面、服务或操作系统additional_flags-额外的nmap选项
示例:
"Scan 192.168.1.1 quickly"
"Do a full port scan on 10.0.0.0/24"
"Detect services on target.com"2.网络扫描
使用Nikto进行Web应用程序漏洞扫描。
参数:
target_url(必填)-要扫描的URLport-端口号(默认值:80)
示例:
"Scan http://example.com for web vulnerabilities"
"Check https://site.com:8080 with nikto"3.sql_injection_test
使用SQLMap进行SQL注入漏洞测试。
参数:
target_url(必需)-带参数的URLlevel-测试彻底性(1-5)risk-风险等级(1-3)
示例:
"Test http://site.com/page?id=1 for SQL injection"
"Deep SQL injection scan on [URL] with level 3"4.密码库
与开膛手约翰一起破解密码。
参数:
hash_file(必填)-带有密码哈希的文件wordlist-字典文件路径hash_type-哈希算法(md5、sha256等)
示例:
"Crack passwords in hashes.txt"
"Use rockyou wordlist on shadow.txt"5.dns_enum
带dnsenum的DNS枚举。
参数:
domain(必填)-目标域deep_scan-启用深度枚举
示例:
"Enumerate DNS for example.com"
"Deep DNS scan on target.org"6.port_knock
测试端口可访问性。
参数:
target(必填)-IP或主机名ports(必填)-逗号分隔的端口列表
示例:
"Check if ports 80,443,8080 are open on 192.168.1.1"
"Test port accessibility for 10.0.0.1:22,3389"7.元绘图研究
搜索Metasploit漏洞数据库。
参数:
query(必填)-搜索词
示例:
"Find exploits for Apache 2.4"
"Search Metasploit for Windows SMB exploits"
"Look for CVE-2021-44228"8.执行命令
在Kali容器中执行自定义命令。
参数:
command(必需)-Shell命令timeout-最大执行时间
示例:
"Run: nmap -A 192.168.1.1"
"Execute: searchsploit apache"9.列表_工作空间
列出工作区目录中的文件。
参数:
path-要列出的子目录
示例:
"List workspace files"
"Show results directory"10.保存_结果
将扫描结果保存到文件。
参数:
tool_name(必填)-工具标识符data(必填)-要保存的内容
示例:
"Save these results as custom_scan"______________________________________________________________________
💡 例子
看 示例.md 用于全面的现实世界场景。以下是一些快速示例:
示例1:基本网络扫描
You: "Scan my local network 192.168.1.0/24"
Claude: [Runs nmap scan]
"Found 12 active hosts:
- 192.168.1.1 (router)
- 192.168.1.10 (SSH server)
- 192.168.1.20 (Web server)
[...]"示例2:Web应用程序测试
You: "Do a complete security assessment of http://testsite.local"
Claude:
"Starting comprehensive web security assessment...
1. Running Nikto web scan...
✅ Found: 5 potential issues
2. Testing for SQL injection...
⚠️ Parameter 'id' may be vulnerable
3. Checking common vulnerabilities...
✅ Completed
Full report saved to results/"示例3:多个目标
You: "Scan these three servers:
- 10.0.1.10
- 10.0.1.20
- 10.0.1.30
And generate a comparison report"
Claude: [Runs parallel scans using async]
"Scanning 3 targets in parallel...
[Results for all three servers]"______________________________________________________________________
🏛️ 建筑
系统概述
┌─────────────────┐
│ Claude Code │
│ (MCP Client) │
└────────┬────────┘
│ MCP Protocol
│ (stdio)
↓
┌─────────────────┐
│ MCP Server │ ← kali_mcp_server.py
│ (Async Python) │
└────────┬────────┘
│ Docker API
│ (Async)
↓
┌─────────────────┐
│ Docker Container│
│ (Kali Linux) │
│ │
│ ┌───────────┐ │
│ │ nmap │ │
│ │ nikto │ │
│ │ sqlmap │ │
│ │ [...] │ │
│ └───────────┘ │
└─────────────────┘组件详细信息
- 克劳德代码 -MCP客户端,自然语言界面
- MCP服务器 -异步Python服务器,工具编排
- Docker容器 -独立的Kali Linux环境
- 安全工具 -100+预装工具
- 工作区 -文件和结果的共享存储
看 ARCHITECTURE.txt 查看详细图表。
______________________________________________________________________
🔧 发展
项目结构
kali-mcp-toolkit/
├── kali_mcp_server.py # Main MCP server (500+ lines)
├── Dockerfile # Kali image definition
├── docker-compose.yml # Container orchestration
├── setup.sh # Automated setup script
├── test_mcp.py # Test suite
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore patterns
│
├── docs/
│ ├── INDEX.txt # Documentation index
│ ├── QUICKSTART.txt # 5-minute guide
│ ├── README.md # This file
│ ├── TUTORIAL.md # Step-by-step walkthrough
│ ├── EXAMPLES.md # Usage examples
│ └── ARCHITECTURE.txt # System diagrams
│
├── workspace/ # User files (created by setup)
├── results/ # Scan outputs (created by setup)
│
└── Generated by setup:
├── venv/ # Python virtual environment
├── kali-shell.sh # Shell access script
├── run-tool.sh # Direct tool runner
└── view-results.sh # Results viewer添加自定义工具
要向MCP服务器添加新工具,请执行以下操作:
- 在中添加工具定义
list_tools():
Tool(
name="custom_tool",
description="Description of what it does",
inputSchema={
"type": "object",
"properties": {
"param": {
"type": "string",
"description": "Parameter description"
}
},
"required": ["param"]
}
)- 执行工具处理程序:
async def tool_custom_tool(args: Dict[str, Any]) -> List[TextContent]:
"""Execute custom tool"""
param = args["param"]
command = f"custom-command {param}"
result = await docker_manager.execute_command(command)
output = f"✅ Custom Tool Results\n\n{result['stdout']}"
return [TextContent(type="text", text=output)]- 添加案例
call_tool():
elif name == "custom_tool":
return await tool_custom_tool(arguments)运行测试
# All tests
python3 test_mcp.py
# Specific test
pytest test_mcp.py::TestDockerIntegration::test_docker_available
# With coverage
pytest --cov=kali_mcp_server test_mcp.py
# Verbose
pytest -v test_mcp.py贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 为新功能添加测试
- 确保所有测试通过
- 提交拉取请求
______________________________________________________________________
🐛 故障排除
常见问题
Docker守护进程未运行
症状: Cannot connect to Docker daemon
解决方案:
# Start Docker
sudo systemctl start docker # Linux
# Or start Docker Desktop on Mac/Windows容器无法启动
症状: 集装箱立即出口
解决:
# Check logs
docker-compose logs
# Rebuild image
docker-compose build --no-cache
# Remove and recreate
docker-compose down
docker-compose up -dMCP服务器未连接
症状: Claude Code表示“工具不可用”
解决:
- 验证中的配置路径
claude-code-config.json - 检查虚拟环境:
source venv/bin/activate - 测试服务器:
python3 kali_mcp_server.py - 重新启动Claude代码
未找到工具
症状: “找不到命令”错误
解决:
# Verify container
docker ps | grep kali
# Enter container and check
docker exec -it kali-mcp-container bash
which nmap
which nikto
# Rebuild if needed
docker-compose build权限不足
症状: 无法执行脚本
解决方案:
chmod +x *.sh
# Or:
bash setup.sh缺少Python依赖项
症状: 导入错误
解决方案:
source venv/bin/activate
pip install -r requirements.txt获取帮助
- 检查 常见问题解答 下节
- 审查 QUICKSTART.txt
- 运行诊断程序:
python3 test_mcp.py - 检查Docker日志:
docker-compose logs - 搜索现有问题
- 使用以下内容创建新问题:
- 系统信息(操作系统、Docker版本、Python版本) - 错误消息 - 重现步骤
______________________________________________________________________
❓ 常见问题解答
一般问题
Q: 什么是MCP? A: 模型上下文协议——人工智能工具集成的标准。
Q: 我需要安装Kali Linux吗? A: 不!一切都在Docker容器中运行。
Q: 这安全吗? A: 是的,如果使用得当。测试前务必获得授权。
Q: 我可以用它进行渗透测试吗? A: 是的,但仅限于授权系统。
技术问题
Q: 为什么选择异步而不是同步? A: 通过并行执行,速度提高了10倍。请参阅“Flash架构”一节。
Q: 我可以添加更多工具吗? A: 是的!请参阅“开发”部分中的“添加自定义工具”。
Q: 这在Windows上有效吗? A: 是的,使用Docker Desktop和WSL2。
Q: 它需要多少资源? A: 最低:4GB RAM,10GB磁盘。推荐:8GB内存,20GB磁盘。
Q: 我可以在没有Claude Code的情况下使用它吗? A: 是的,任何兼容MCP的客户端都可以工作。
使用问题
Q: 如何扫描特定IP? A: 只需对克劳德说“扫描192.168.1.1”。
Q: 结果保存在哪里? A: ~/kali工作空间/结果/
Q: 我可以使用自己的单词表吗? A: 是的,将它们放置在workspace/中并引用路径。
Q: 我该如何停止集装箱? A. docker-compose down
______________________________________________________________________
🔒 安全与法律
⚠️ 重要法律通知
此工具包用于 仅限授权测试.
合法使用:
- ✅ 您自己的系统
- ✅ 经书面许可
- ✅ 法律实践环境
- ✅ 授权渗透测试
- ✅ 经同意的安全研究
非法使用:
- ❌ 未经授权的访问
- ❌ 攻击他人的系统
- ❌ 未经许可
- ❌ 恶意
您负责:
- 获得适当授权
- 遵守所有适用法律
- 合乎道德地使用工具
- 尊重隐私和财产
安全最佳实践
- 更改默认密码
docker exec -it kali-mcp-container passwd kaliuser- 限制网络访问
- 使用防火墙规则 - 不要不必要地暴露端口 - 测试远程系统时使用VPN
- 消毒结果
- 从报告中删除敏感数据 - 不要将结果提交到Git - 加密敏感文件
- 保持工具更新
docker-compose build --no-cache- 跑步前回顾
- 了解每个工具的功能 - 检查命令参数 - 验证目标授权
免责声明
软件按“原样”提供,不提供任何形式的保证。作者不对该软件造成的任何误用或损坏负责。用户承担所有责任和风险。
______________________________________________________________________
📄 许可证
MIT许可证
版权所有(c)2025 Kali MCP工具包贡献者
特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:
\[完整的MIT许可证文本…\]
______________________________________________________________________
🙏 致谢
- Anthropic -适用于Claude和MCP规范
- Kali Linux团队 -对于惊人的安全分布
- 查克 (YouTube)-激励“Flash”异步架构
- 码头工人 -集装箱化技术
- 安全共同体 -对于所有令人难以置信的工具
______________________________________________________________________
📞 支持
- 文档: 从开始 INDEX.txt
- 快速入门: QUICKSTART.txt
- 辅导的: TUTORIAL.md
- 示例: 示例.md
- 问题: GitHub问题
- 讨论: GitHub讨论
______________________________________________________________________
🎉 快乐黑客!
现在,您已经准备好利用人工智能的力量进行专业的安全测试了!
记得:
- 始终先获得授权
- 负责任地测试
- 不断学习
- 以道德的方式分享知识
从以下内容开始: "Show me your security tools"
______________________________________________________________________
*内置❤️ 对于安全社区*
*最后更新日期:2025-01-26*
