bottobot/defense-mcp-server

GitHub: bottobot/defense-mcp-server

一个将130多项Linux防御安全工具暴露给AI助手的MCP服务器,让用户通过自然语言对话完成系统加固、合规检查和应急响应。

Stars: 0 | Forks: 0

# Defense MCP Server 一个模型上下文协议 (MCP) 服务器,为 AI 助手提供 Linux 上 **94 种防御性安全工具** 的访问能力。将其连接到 Claude Desktop、Cursor 或任何兼容 MCP 的客户端,即可通过自然语言对话加固系统、管理防火墙、扫描漏洞并执行合规性检查。 ## 它的功能 该服务器将 Linux 安全工具作为 MCP 工具公开,AI 助手可以代表您调用它们。您无需死记硬背数十种安全实用程序的命令语法,只需用通俗语言描述您想要什么,助手就会调用正确的工具并传递正确的参数。 这 94 个工具分为 32 个模块: | 模块 | 功能描述 | |--------|-------------| | **Firewall** | 管理 iptables、nftables 和 UFW 规则 | | **Hardening** | 应用 sysctl 设置、文件权限、内核安全、USB 设备控制 | | **Compliance** | 运行 CIS benchmarks、HIPAA/SOC2/ISO27001 检查 | | **Patch Management** | 检查更新、应用补丁、跟踪 CVE | | **Access Control** | 配置 SSH、PAM、用户账户策略 | | **Malware** | 使用 ClamAV 扫描、管理隔离区、部署 YARA 规则 | | **IDS** | 配置 AIDE、Falco、rootkit 检测 | | **Logging** | 设置 auditd 规则、日志轮转、fail2ban | | **Encryption** | 管理 TLS 证书、LUKS 卷、GPG 密钥 | | **Certificate Lifecycle** | 证书清单、检查续订、审计 CA 信任库、OCSP、CT 日志 | | **Backup** | 创建和恢复系统状态快照 | | **Container Security** | AppArmor 配置文件、seccomp 策略、镜像扫描 | | **Network Defense** | 数据包捕获、连接监控、端口扫描 | | **Network Segmentation** | 映射区域、验证隔离、测试路径、审计 VLAN | | **Secrets** | 扫描泄露的凭证、审计 SSH 密钥 | | **Incident Response** | 收集易失性证据、IOC 扫描、文件系统时间线 | | **Forensics** | 内存转储、磁盘映像、证据链监管 | | **eBPF Security** | 部署 Falco 规则、列出 eBPF 程序 | | **Drift Detection** | 根据基线跟踪配置变更 | | **Supply Chain** | SBOM 生成、包完整性验证 | | **Zero Trust Network** | WireGuard 隧道、mTLS、微分段 | | **App Hardening** | 加固 Apache、Nginx、MySQL、PostgreSQL、Docker | | **Sudo Management** | 管理 sudo 提权、会话跟踪 | | **Meta/Workflow** | 安全态势评估、防御工作流、自动修复 | | **Reporting** | 生成综合安全报告 (Markdown/HTML/JSON/CSV) | | **DNS Security** | DNSSEC 验证、隧道检测、域名黑名单、查询日志分析 | | **Vulnerability Management** | nmap/nikto 扫描、漏洞生命周期跟踪、风险优先级排序 | | **Process Security** | Capability 审计、namespace 隔离、异常检测 | | **WAF Management** | ModSecurity 审计/规则、OWASP CRS 部署、速率限制 | | **Threat Intelligence** | 针对源查询 IP/哈希/域名、应用黑名单 | | **Cloud Security** | AWS/GCP/Azure 检测、IMDS 安全、IAM 凭证扫描 | | **API Security** | 本地 API 发现、认证审计、速率限制测试、CORS 检查 | | **Deception/Honeypots** | Canary token 部署、honeyport 监听器、触发器监控 | | **Wireless Security** | 蓝牙/WiFi 审计、恶意 AP 检测、禁用接口 | | **SIEM Integration** | rsyslog/Filebeat 配置、日志转发审计、连接测试 | 每个工具都在安全护栏下运行: - **默认 Dry-run** — 工具在更改前会预览其将执行的操作 - **命令白名单** — 只有预先批准的二进制文件才能执行(无 shell 解释器) - **输入清洗** — 所有参数均经过注入攻击验证 - **更改前备份** — 修改前备份系统状态 - **速率限制** — 防止工具调用失控 ## 自动工具安装 您不需要预先安装每一个安全工具。服务器会自动检测缺失的依赖项并在需要时安装它们。 **工作原理:** 1. 每个工具声明其所需的系统二进制文件(例如,`firewall_iptables` 需要 `iptables` 或 `ufw`) 2. 在执行工具之前,服务器检查所需的二进制文件是否已安装 3. 如果缺失,服务器使用系统的包管理器安装它(Kali/Debian 上使用 `apt`,RHEL 上使用 `dnf`,Arch 上使用 `pacman`) 4. 然后工具正常运行 **示例:** 如果您要求助手扫描恶意软件但未安装 ClamAV,服务器将自动运行 `apt install clamav`,然后继续扫描。 **自动安装的安全控制:** - 系统包仅通过官方包管理器安装 - npm/pip 包仅限于硬编码白名单(例如 `yara-python`、`cdxgen`)—— 无法安装任意包 - 自动安装需要 sudo 权限 —— 如果在没有提升权限的情况下运行,服务器将报告需要手动安装的内容 - 所有安装操作均被记录 要完全禁用自动安装,请使用以下命令运行: ``` KALI_DEFENSE_AUTO_INSTALL=false node build/index.js ``` ## 系统要求 - **Linux** (Kali, Debian, Ubuntu, RHEL, Arch 或任何基于 systemd 的发行版) - **Node.js 18+** - **npm 9+** ## 安装 ### 选项 A: npm (推荐) ``` npm install -g defense-mcp-server ``` ### 选项 B: 克隆并构建 1. Clone the repository: git clone https://github.com/bottobot/defense-mcp-server.git cd defense-mcp-server 2. Install dependencies: npm install 3. Build: npm run build ## 连接到 Claude Desktop 将此添加到您的 Claude Desktop 配置文件中(Linux 上为 `~/.config/claude/claude_desktop_config.json`): **如果通过 npm 全局安装:** ``` { "mcpServers": { "defense-mcp-server": { "command": "defense-mcp-server" } } } ``` **如果是本地克隆并构建:** ``` { "mcpServers": { "defense-mcp-server": { "command": "node", "args": ["/path/to/defense-mcp-server/build/index.js"] } } } ``` 将 `/path/to/` 替换为您克隆仓库的实际路径。 重启 Claude Desktop。该服务器将出现在 MCP 工具面板中。 ## 连接到其他 MCP 客户端 任何支持 stdio 传输的 MCP 客户端都可以连接。服务器使用 MCP 协议通过 stdin/stdout 进行通信。使用以下命令启动它: ``` node build/index.js ``` ## 使用示例 连接后,自然地与您的 AI 助手交谈: - **“检查我的防火墙状态”** → 调用 `firewall_iptables` 并设置 `action: list` - **“加固 SSH 以禁用 root 登录和密码认证”** → 调用 `access_ssh` 执行加固操作及相应设置 - **“在此系统上运行 CIS benchmark”** → 调用 `compliance_check` 并指定 CIS 框架 - **“扫描 /var/www 查找恶意软件”** → 调用 `malware_clamav` 扫描指定路径 - **“显示可用的补丁”** → 调用 `patch_update_audit` - **“在我进行更改前创建备份”** → 调用 `backup` 执行状态操作 - **“为 SSH 设置 fail2ban”** → 调用 `log_fail2ban` 配置 jail - **“检查是否有任何云凭证泄露”** → 调用 `cloud_security` 并设置 `check_iam_creds` - **“检测网络上的恶意接入点”** → 调用 `wireless_security` 并设置 `rogue_ap_detect` - **“生成安全报告”** → 调用 `report_export` 执行生成操作 助手会自动处理参数构建、错误解释和后续操作。 ## Sudo 提权 许多工具需要提升的权限。服务器提供了一个安全的 sudo 管理系统: - **`sudo_elevate`** — 提供一次您的密码;它存储在一个可归零的 Buffer 中(从不记录) - **`sudo_elevate_gui`** — 使用原生 GUI 对话框 (zenity/kdialog),因此密码对 AI 永远不可见 - **`sudo_status`** — 检查会话当前是否已提权 - **`sudo_drop`** — 立即清零缓存的密码并放弃提权 - **`sudo_extend`** — 延长会话超时时间而无需重新输入密码 - **`preflight_batch_check`** — 在运行多个工具之前检查它们的 sudo 要求 ## 配置 配置通过环境变量进行。所有配置都有安全的默认值: | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `KALI_DEFENSE_DRY_RUN` | `true` | 预览更改而不应用 | | `KALI_DEFENSE_REQUIRE_CONFIRMATION` | `true` | 破坏性操作需要确认 | | `KALI_DEFENSE_ALLOWED_DIRS` | `/tmp,/home,/var/log` | 服务器可以访问的目录 | | `KALI_DEFENSE_LOG_LEVEL` | `info` | 日志详细程度 (debug/info/warn/error) | | `KALI_DEFENSE_BACKUP_ENABLED` | `true` | 系统更改前自动备份 | | `KALI_DEFENSE_AUTO_INSTALL` | `true` | 自动安装缺失的工具依赖 | | `KALI_DEFENSE_PREFLIGHT` | `true` | 启用预飞依赖检查 | | `KALI_DEFENSE_PREFLIGHT_BANNERS` | `true` | 在工具输出中显示预飞状态 | 要实际应用更改(不仅仅是预览),请设置: ``` KALI_DEFENSE_DRY_RUN=false node build/index.js ``` ## 安全 该服务器默认设计为安全的: - 命令以 `shell: false` 执行 —— 无 shell 解释 - 所有二进制文件在启动时根据 190 条白名单条目进行解析 - 输入在执行前通过 Zod schema 验证 - 密码作为 Buffers 处理(使用后归零,从不记录) - 速率限制以防止滥用(30/工具/分钟,100 全局/分钟) - 所有文件写入通过带有审计跟踪的 secure-fs 进行 - 敏感运行时数据的加密状态存储 (AES-256-GCM) - 原子文件写入(先写到临时文件再重命名)以防止损坏 有关完整的安全架构,请参阅 [ARCHITECTURE.md](docs/ARCHITECTURE.md)。 ## 开发 ``` # 运行测试 npm test # 运行 coverage npm run test:coverage # 类型检查 npm run build:verify # Security lint npm run lint:security # Security audit npm run audit:security ``` ## 测试覆盖率 - 60 多个测试文件中包含 **1,801+ 个测试** - 每个源模块(核心 + 工具)都有对应的测试文件 - CI 流水线中强制执行覆盖率检查 ## 许可证 MIT — 详见 [LICENSE](LICENSE)
标签:AI安全, Anthropic, Chat Copilot, CISA项目, CIS基准, Claude, CVE检测, DevPod, DevSecOps, DNS通配符暴力破解, GPT, HTTP工具, MCP服务器, MITM代理, osquery, PE 加载器, SBOM, SIEM, Web截图, 上游代理, 动态调试, 域环境安全, 子域名变形, 容器安全, 底层分析, 恶意软件扫描, 插件系统, 数字取证, 漏洞管理, 硬件无关, 端点安全, 系统加固, 网络安全审计, 自动化攻击, 自动化脚本, 自定义DNS解析器, 自然语言运维, 补丁管理, 运维安全, 防火墙管理