mcpField
C
cybersec-toolkit

cybersec-toolkit

本地服务
github.com/26zl安全855 天前更新

关于 cybersec-toolkit

面向安全从业者及 AI Agent 的工具包,适用于 CTF、渗透测试、漏洞赏金、DFIR 和蓝队工作。它可安装 670 多种工具,并通过受管控的 MCP 执行路径调用工具,默认使用一次性 Kata Containers 虚拟机;自主运行需明确启用。

主要功能

  1. 01安装 18 个模块中的 670 多种工具
  2. 02提供 15 个发现与执行 MCP 工具
  3. 03默认使用 Kata 虚拟机沙箱
  4. 04提供白名单、参数和网络控制
  5. 05提供 872 个安全工作流 Agent Skills

适用场景

  1. 01为 CTF 任务查找合适工具
  2. 02执行获授权的渗透测试
  3. 03进行二进制文件分诊和 DFIR 调查
  4. 04开展引导式蓝队与漏洞赏金工作

MCP 相关

MCP 服务提供 15 个工具,用于发现、推荐和运行已安装的安全工具。执行受白名单和策略检查约束,默认运行在一次性 Kata Containers 虚拟机中;外部目标和脚本执行默认关闭。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"26zl-cybersec-toolkit": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CYBERSEC_MCP_ALLOW_EXTERNAL",
"-e",
"CYBERSEC_MCP_ALLOW_SCRIPTS",
"ghcr.io/26zl/cybersec-toolkit:1.4.0"
],
"env": {
"CYBERSEC_MCP_ALLOW_EXTERNAL": "<CYBERSEC_MCP_ALLOW_EXTERNAL>",
"CYBERSEC_MCP_ALLOW_SCRIPTS": "<CYBERSEC_MCP_ALLOW_SCRIPTS>"
}
}
}
}
启动命令docker run -i --rm -e CYBERSEC_MCP_ALLOW_EXTERNAL -e CYBERSEC_MCP_ALLOW_SCRIPTS ghcr.io/26zl/cybersec-toolkit:1.4.0
需要配置的环境变量
CYBERSEC_MCP_ALLOW_EXTERNALSet to 1 only for explicitly authorized external scopes.
CYBERSEC_MCP_ALLOW_SCRIPTSSet to 1 to enable unsandboxed run_script execution.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/26zl/cybersec-toolkit:1.4.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

CI Integration Security OpenSSF Scorecard Last commit License: MIT Docker image Glama score

    /\   /\        ______      __              _____
   (o ) ( o)      / ____/_  __/ /_  ___  _____/ ___/___  _____
    \ \_/ /      / /   / / / / __ \/ _ \/ ___/\__ \/ _ \/ ___/
  <==\   /==>   / /___/ /_/ / /_/ /  __/ /   ___/ /  __/ /__
     \ V /      \____/\__, /_.___/\___/_/   /____/\___/\___/
     /_ _\           /____/                          by 26zl
      |_|                     Toolkit

一个由 AI Agent 驱动、按你设定的规则运行的安全工具包。 一条命令即可在 Linux 或 Termux 上安装 670 多种安全工具。MCP(Model Context Protocol) 服务让 Claude Code、Codex、Gemini CLI、OpenCode 和其他 MCP 客户端能够发现、推荐并通过受管控的执行路径运行这些工具;默认情况下,工具在一次性 Kata Containers VM 中运行。872 个 Agent Skills 提供了 CTF、渗透测试、漏洞赏金、DFIR 和蓝队工作的实践方法。

组件可获得的内容
安装程序18 个模块、14 种配置和 12 种安装方式,包含 670 多种工具,支持 Debian/Ubuntu/Kali/Parrot、Fedora/RHEL、Arch、openSUSE 和 Termux
MCP 服务15 种用于发现、建议和受管控执行的工具;默认关闭外部目标访问和脚本执行
沙箱默认每个会话使用一个 Kata Containers VM;--local 可在主机上运行服务
Agent Skills872 个技能(31 个由项目编写,841 个精选),也可作为 Claude Code 插件安装

不同之处: 大多数工具包止步于_安装_工具。而在这里,AI 还可以_驱动_这些工具:推断问题类型,从所有模块和配置中选择工具,并与你逐步解决问题。经你明确授权后,同一套工具链还可以运行自主求解循环。默认协作;只有在你要求时才自主运行。 它与 Kali、Parrot 或 BlackArch 互为补充,而非取而代之:它可在你现有的设备上运行,也包括 Termux。

快速开始 · 工作原理 · 信任与安全 · 安装程序 · MCP 服务 · Agent Skills · 开发 · 许可证

快速开始

1. 安装工具,在受支持的 Linux 发行版或 Termux 上执行:

git clone --depth 1 --branch v1.4.0 https://github.com/26zl/cybersec-toolkit.git && cd cybersec-toolkit
./install.sh --doctor             # read-only preflight: distro, prerequisites, MCP server, sandbox
sudo ./install.sh --profile ctf   # one profile; with no flags, all 18 modules

2. 连接 AI 客户端。 Claude Code(.mcp.json 也会被 GitHub Copilot CLI 读取)、Codex、Gemini CLI 和 OpenCode 的受跟踪配置会通过 scripts/mcp-launch.sh 启动服务,并禁用外部目标和脚本执行。选择工具的运行位置:

模式工具运行位置主机要求一次性设置
沙箱(默认)在一次性 Kata VM 中,从沙箱镜像运行支持 KVM 的 Linux、带 Kata 运行时的 Docker 23+、Node.js 22+执行 make sandbox-image,然后执行 npm --prefix sandbox ci --ignore-scripts
主机(--local)以你的用户身份运行,使用 install.sh 安装的工具uv在启动器中添加 --local,或在客户端的 env 中设置 CYBERSEC_SANDBOX_MODE=local

Kata 需要 KVM:在 macOS、Windows 和不支持嵌套虚拟化的 VM 上,请使用主机模式。

3. 重启客户端。 随后会显示 15 个工具(在 Claude Code 中使用 /mcp)。接着提出你的需求,例如“分析这个二进制文件”或“绘制我的实验环境 10.10.0.0/24 的攻击面”。

工作原理

两个入口共用一个工具注册表。__运维人员__运行 bash 安装程序,将工具安装到磁盘上:可以安装在主机上,也可以在构建时安装到沙箱镜像中。__AI Agent__与 MCP 服务通信(默认在 Kata VM 中运行),通过统一的受管控路径发现、推荐和执行这些工具。tools_config.json 是唯一事实来源,由各模块定义,并由 MCP 顾问读取;CI 验证器确保 Python 和 bash 两侧保持同步。

工作原理:运维人员运行 bash 安装程序,将工具安装到磁盘上;AI Agent 驱动 MCP 服务(默认在 Kata VM 中运行),以发现、推荐和执行这些工具。安装程序和 MCP 服务通过 tools_config.json 注册表及已安装的工具关联,其中 security.py 管控工具执行,CI 验证器确保 Python 和 bash 两侧保持同步。

实线箭头表示运行时或安装操作;虚线箭头表示验证和上下文关系。客户端配置通过能够识别 root 的启动器接入,启动器通过 Sandcastle Kata 提供程序(sandbox/kata.mjs)启动 VM;或者使用 --local 在主机上启动服务。security.py 通过允许列表、参数检查和网络策略管控 run_tool 和 run_pipeline,而不调用 shell。run_script 是一项独立功能,默认禁用,可用于运行任意代码。Agent Skills 不属于执行路径:.claude/skills/ 是规范来源,scripts/sync-skills.sh 会为读取可移植镜像的客户端生成 .agents/skills/。Mermaid 源文件:assets/how-it-works.mmd。

信任与安全

哪些内容会运行,哪些内容受到限制:

  • 默认安全的 MCP。 CYBERSEC_MCP_ALLOW_EXTERNAL=0 会拒绝无法解析到私有或环回地址范围的网络目标,而 CYBERSEC_MCP_ALLOW_SCRIPTS=0 会禁用 run_script。外部范围和脚本功能必须显式选择启用。
  • 治理执行统一关卡(mcp_server/security.py):注册表允许列表、禁止 shell(使用 create_subprocess_exec,绝不使用 shell=True)、参数清理、按工具设置的阻止标志拒绝列表(例如 sqlmap --os-shell、nmap -iL、文件列表和目标注入标志)、目标与网络策略、速率限制、输出上限和超时。该策略了解足够多的 CLI 语法,能够区分目标与标头、字典、输出路径或目标列表标志。工具输出会在传给模型前剔除终端转义序列和 LLM 控制标记,并标记写给 AI 读者的行。
  • 默认在一次性 VM 中运行工具。 启动器会启动一台 Kata Containers VM,它有自己的内核;除可选的 CYBERSEC_SANDBOX_WORKSPACE 挂载外,不访问主机文件系统;没有 Docker socket;使用已移除所有 capability 的非 root 用户;并设有内存、CPU 和进程限制。客户端断开连接时,VM 会被销毁。启动失败时会安全关闭,而不会回退到主机;--local 是显式选择退出沙箱的选项。
  • 了解限制。 VM 并非网络边界:它可以访问 Docker 网络所能访问的任何内容,而 CYBERSEC_MCP_ALLOW_EXTERNAL 只会对解析出的地址进行预检,并非防火墙(请设置 CYBERSEC_SANDBOX_NETWORK=none 或使用经过过滤的网络)。在 VM 内,以及 --local 模式下的主机上,允许的工具都以服务用户的权限运行,其中一些工具会启动子进程或加载插件。
  • 工具输出会发送给模型提供商。 工具打印的任何内容——扫描结果、页面内容,以及它在目标上发现的任何凭据或个人数据——都会返回给 AI 客户端,并发送给客户端所使用的模型。默认情况下,只有本地审计日志会进行脱敏;设置 CYBERSEC_MCP_REDACT_OUTPUT=1,也会对客户端收到的内容中的凭据格式字符串进行脱敏。如果某项测试的规则禁止与第三方共享客户数据,请通过本地模型驱动服务(参见 AI 客户端)。
  • 仓库钩子会自动运行。 在 Claude Code 中打开此仓库会运行 .claude/settings.json 中跟踪的钩子:会话开始时和每次 Bash 命令执行前运行 scripts/agent-guard.sh。它们只会输出路由上下文或拒绝决定,不会发起网络请求,并且会以开放方式失败;设置 CYBERSEC_AGENT_GUARD=0 可禁用它们。
  • 留存审计记录,避免泄露。 操作会以 JSON 行格式记录到用户状态目录下仅所有者可访问(0600)的轮转日志中(默认路径为 ~/.local/state/cybersec-tools-mcp/audit.log)。脚本正文绝不会存储,只记录其 SHA256 和长度;工具参数中的凭据格式字符串会被脱敏。沙箱化服务会将记录同步到同一主机日志中,并采用哈希链串联记录,因此链中被编辑或删除的记录会在 make audit-verify 中显现(限制)。
  • 安装程序遵循最小权限原则。 安装程序以 root 运行,但在克隆仓库的构建、go/cargo/gem 构建以及项目设置步骤(theHarvester、pwndbg)中会降权到发起调用的用户($SUDO_USER);发布的二进制文件会在发布校验和时通过 SHA256 验证。pipx 安装(安装到共享的 /opt/pipx)和全局 npm 安装仍以 root 运行,因此其构建和安装脚本会以 root 权限执行——参见供应链模型。Go 二进制文件会以 root 所有的文件形式复制到 /usr/local/bin;cargo、gem、克隆仓库、源码构建、patator 和 Foundry 工具则通过指向或包装发起调用用户所拥有目录中的内容,供该用户在此处使用,因此该用户可以更改这些命令所运行的内容。
  • 双重用途工具受控。 C2 和网络钓鱼框架(Sliver、Caldera、gophish、evilginx、……)默认处于关闭状态,只有使用 --include-c2 才会安装(redteam 和 full 配置会启用此选项);MCP 层也遵循这一设置,绝不会自动运行这些工具。
  • 仅限授权使用。 请参阅 SECURITY.md、供应链模型和免责声明。

安装程序

要求

受支持的 Linux 发行版(Debian/Ubuntu/Kali/Parrot、Fedora/RHEL、Arch、openSUSE)或 Termux。运行时(Python、Go、Ruby、Java、Rust、Node.js)、开发库、pipx 和构建工具都会自动安装。安装程序无法在 macOS 或原生 Windows 上运行;请使用 WSL 或 Docker。

  • Docker 是 --enable-docker(C2 框架、MobSF、BeEF、BloodHound、TheHive、Cortex)以及 blueteam、redteam、blockchain 和 mobile 配置的必需项;这些配置默认启用 Docker 镜像(参见配置)。请自行安装:Docker Engine 文档。
  • __GitHub 身份验证__为推荐项。安装程序会下载约 50 个发行版二进制文件,并调用 GitHub API 约 50 次以上;未通过身份验证的请求每小时限制为 60 次,通过身份验证的请求限制为 5,000 次。它会自动使用你的 gh auth login 会话,即使通过 sudo 运行也一样。或者,传入个人访问令牌(无需任何权限范围),并通过 sudo 传递令牌,因为 sudo 默认会丢弃该令牌:sudo --preserve-env=GITHUB_TOKEN ./install.sh。
安装

从最新发行版安装(固定版本;推荐):

git clone --depth 1 --branch v1.4.0 https://github.com/26zl/cybersec-toolkit.git && cd cybersec-toolkit && sudo ./install.sh

从 main 安装(包含尚未发布的最新工具和修复):

git clone https://github.com/26zl/cybersec-toolkit.git && cd cybersec-toolkit && sudo ./install.sh

不带任何标志时,安装程序会安装全部 18 个模块中的标准工具。除非通过配置启用(参见配置中的 Docker 和 C2 列),否则 C2/网络钓鱼工具和 Docker 镜像均为可选项;--profile full --enable-docker 会安装当前平台支持的所有内容。若要安装部分内容:

sudo ./install.sh --profile ctf                      # CTF tools only
sudo ./install.sh --profile redteam --enable-docker  # Red team + Docker C2
sudo ./install.sh --module web --module recon        # Specific modules
sudo ./install.sh --tool sqlmap --tool nmap          # Individual tools
./install.sh --dry-run --profile ctf                 # Preview without installing; no root needed
./install.sh --doctor                                # Read-only preflight; no root needed
所有标志
./install.sh --help                     # Full help
./install.sh --list-profiles            # Show profiles
./install.sh --list-modules             # Show modules
sudo ./install.sh --skip-heavy          # Skip large/slow packages
sudo ./install.sh --skip-pipx           # Skip all pipx (Python) installs
sudo ./install.sh --skip-go             # Skip all Go tool installs
sudo ./install.sh --skip-cargo          # Skip all Cargo (Rust) installs
sudo ./install.sh --skip-gems           # Skip all Ruby gem installs
sudo ./install.sh --skip-git            # Skip all git clone installs
sudo ./install.sh --skip-binary         # Skip all binary release downloads
sudo ./install.sh --skip-source         # Skip build-from-source, snap, npm, and curl-pipe installs
sudo ./install.sh --fast                # Skip checksum verification (see Supply chain model)
sudo ./install.sh --require-checksums   # Fail if a binary release has no checksum file
sudo ./install.sh --production          # Strict checksum preset for release downloads
sudo ./install.sh --upgrade-system      # Upgrade system packages before installing
./install.sh --list-sessions            # List install sessions and exit
sudo ./install.sh --rollback <id|last>  # Roll back a session's tools (add --yes when not on a terminal)
./install.sh --version                  # Show installer version and exit
sudo ./install.sh --enable-docker       # Pull Docker images
sudo ./install.sh --include-c2          # Include C2/phishing frameworks (Empire also needs --enable-docker)
sudo ./install.sh -j 8                  # 8 parallel install jobs (default: 4)
sudo ./install.sh -v                    # Verbose / debug output

--tool 仅安装指定工具,不会进行完整的依赖设置。试运行的时间估算会统计各种安装方式中的安装条目,因此可能高于去重后的 670 多个工具注册表条目。

调节变量(环境):GITHUB_TOOL_DIR(默认值为 /opt,Termux 上为 ~/tools)用于设置克隆仓库的位置;GO_MIN_VERSION(默认值为 1.21)、PYTHON_MIN_VERSION / PYTHON_TRY_MAX(3.11 / 3.13)和 NODE_MIN_VERSION(22)用于设置引导程序接受的运行时版本;ZYPPER_REFRESH_ATTEMPTS / ZYPPER_REFRESH_DELAY(3 / 15 秒,延迟时间递增一倍)用于调整 openSUSE 元数据重试;CYBERSEC_ZYPPER_AUTO_IMPORT_KEYS=1 会在刷新时信任新的软件仓库密钥(参见供应链模型);PKG_AUTOREMOVE=1 会在移除软件包时执行 apt-get autoremove(remove.sh --remove-deps 会设置此变量)。

完整安装为何需要 15-45 分钟

耗时主要来自 I/O 密集型操作,任何脚本语言都无法加快:

耗时项目原因
系统软件包(apt/dnf)下载并解包 .deb/.rpm 软件包,以及解析依赖项
Go 工具下载模块并编译每个二进制文件
pipx(Python)为每个工具创建独立的 venv 并下载 wheel
Cargo(Rust)crate从源代码编译
Git 克隆克隆各个仓库
二进制发行版从 GitHub 下载预编译的二进制文件

./install.sh --dry-run 会显示实时的各安装方式耗时明细。pipx、Go、git 和二进制安装会并行运行(默认 -j 4);系统软件包管理器、Cargo、gem、npm 和源码构建则会顺序运行。若要加快速度:改为安装某个配置或使用 --module,而不是安装所有内容;使用 --skip-cargo 以避免 Rust 编译;使用 -j 8 增加并行任务数;重复安装时使用 apt-cacher-ng 代理。

### Docker 和 Podman

预构建镜像是在 Ubuntu 上运行的安装程序,并非沙箱。其默认命令是对 full 配置文件进行试运行:

docker run --rm ghcr.io/26zl/cybersec-toolkit                                  # preview only
docker run -it --name cybersec --entrypoint bash ghcr.io/26zl/cybersec-toolkit  # keep a container
sudo ./install.sh --profile ctf                                                # inside it; reattach with: docker start -ai cybersec

使用 docker build -t cybersec-toolkit . 自行构建,或通过随附的 Compose 文件运行一次性安装:docker compose run --rm installer --profile ctf。在 Apple silicon 上,需在 docker build 和 docker run 命令中添加 --platform linux/amd64。Podman 可直接替代 Docker(podman compose 需要 Compose 提供程序)。镜像为 toolkit 用户授予了无需密码的 sudo 权限,以便安装程序管理软件包;请将其中运行的代码视为具有 root 权限。

Termux(Android)
pkg install git
git clone https://github.com/26zl/cybersec-toolkit.git && cd cybersec-toolkit
./install.sh --profile lightweight
配置文件
配置文件模块DockerC2描述
full全部 18 个—是完整安全工具包
ctfmisc、crypto、pwn、reversing、stego、forensics、cracking、web、mobile、blockchain——CTF 竞赛
redteammisc、networking、recon、web、enterprise、pwn、mobile、cracking、cloud、wireless、reversing、crypto是是攻击性安全
webmisc、networking、recon、web、llm——Web 应用测试
osintmisc、recon——OSINT 信息搜集
forensicsmisc、forensics、blueteam、reversing、stego、cracking——数字取证与事件响应
pwnmisc、pwn、reversing、crypto——二进制漏洞利用与逆向工程
mobilemisc、mobile、web、reversing是—移动应用安全测试
cloudmisc、cloud、containers、networking、recon——云和容器安全审计
blockchainmisc、blockchain、web、crypto是—智能合约审计与区块链安全
wirelessmisc、wireless、networking——WiFi、Bluetooth 和 SDR 安全
lightweightmisc、networking、recon、web、cracking——业余道德黑客入门工具(HTB、THM、漏洞赏金)
crackstationmisc、cracking、crypto——哈希破解
blueteammisc、blueteam、forensics、reversing、mobile、containers、networking、cloud、recon是—防御性安全、IR、恶意软件分析

Docker 和 C2 列显示各配置文件默认启用的功能。启用 Docker 的配置文件在未安装 Docker 时会报错并停止;请先安装 Docker,或使用 --module 选择相同模块,而不要使用配置文件。

模块
模块工具数描述
misc40后渗透、社会工程、词表、资源、C2(Docker + Loki)
networking57端口扫描、数据包捕获、隧道、MITM、协议工具
recon82子域枚举、OSINT、DNS、自动化侦察框架
web60漏洞扫描、模糊测试、SQLi、XSS、CMS 扫描器、API 测试
crypto15RSA 攻击、密码分析、哈希攻击、约束求解
pwn36漏洞利用框架、二进制利用、模糊测试、载荷生成
reversing34反汇编器、调试器、仿真、Java/Python 逆向
forensics59磁盘/内存取证、文件雕刻、时间线分析、日志分析、硬件/串口
enterprise81Active Directory、Kerberos、Azure AD、凭据收集、横向移动
wireless41WiFi 破解、Bluetooth、SDR、恶意 AP
cracking34哈希破解(john、hashcat)、暴力破解、词表生成
stego15图像/音频隐写、检测、StegCracker
cloud22AWS/Azure/GCP 安全审计、Checkov
containers15Docker/Kubernetes 安全(Grype、Syft、Kubescape、kubeaudit)
blueteam40IDS/IPS、SIEM、事件响应、威胁情报、加固、恶意软件分析(YARA、ClamAV、FLOSS、Capa、Loki)
mobile18Android/iOS 应用测试、APK 分析、MobSF(Docker)
blockchain15智能合约审计(Slither、Mythril、Foundry、Aderyn)、区块链取证、Echidna(Docker)
llm14大模型红队测试、提示词注入、越狱测试、AI 漏洞扫描
安装方式 — 首选顺序:apt > pipx > go > cargo > binary > gem > Docker > git clone > source
方式数量示例
Git 克隆193带自动设置的 GitHub 仓库、资源、词表
系统软件包(apt/dnf/pacman/zypper)168nmap、wireshark、john、hashcat
pipx137sqlmap、impacket、bloodhound、volatility3
Go 安装63nuclei、subfinder、ffuf、httpx
二进制发布包54gitleaks、chainsaw、findomain、FLOSS、Capa、Loki、Syft、Kubescape
从源代码构建25massdns、duplicut、AFLplusplus、honggfuzz
Docker13Empire、MobSF、BeEF、BloodHound、TheHive、Cortex、PentAGI
Cargo(Rust)8feroxbuster、RustScan、pwninit、yara-x-cli
Ruby gem6wpscan、evil-winrm、brakeman
npm6promptfoo、apk-mitm、surya、solgraph、rea-agents
特殊方式5Metasploit、Foundry、Steampipe、patator(curl 管道安装程序)、crypto venv 引导程序
Snap1zaproxy
### 安装后脚本

所有脚本都支持 --help 和 --version。在 Linux 上,update.sh 和 remove.sh 需要 root 权限(sudo),backup.sh schedule 和 unschedule 也需要;verify.sh 和其他 backup.sh 命令以当前用户身份运行。Termux 无需 root 权限。没有终端时,请为 remove.sh(以及 install.sh --rollback)传入 --yes。

脚本用途示例
scripts/verify.sh检查已安装哪些工具./scripts/verify.sh --module web --skip-heavy
scripts/update.sh更新此工具包安装的工具sudo ./scripts/update.sh --skip-system
scripts/remove.sh按模块移除工具sudo ./scripts/remove.sh --module enterprise --yes
scripts/remove.sh --deep-clean移除此工具包的所有工具,然后清理缓存和构建产物sudo ./scripts/remove.sh --deep-clean --yes
scripts/backup.sh备份和恢复工具配置./scripts/backup.sh backup

完整移除后,--deep-clean 会清理 Go 模块/构建缓存、Cargo 注册表、pip/pipx/npm/gem 缓存、孤立的 pipx 虚拟环境、过期的符号链接和日志文件。添加 --remove-deps 还会清理 Rustup 工具链。

工具位置

非系统工具在 Linux 上安装到 /usr/local/bin/,在 Termux 上安装到 $PREFIX/bin;系统软件包使用其默认位置(/usr/bin/)。

方法二进制文件位置(Linux)二进制文件位置(Termux)数据位置
pipx/usr/local/bin/$PREFIX/bin//opt/pipx/ 或 ~/.local/pipx/
Go/usr/local/bin/$PREFIX/bin//opt/go/ 或 ~/.go/
Cargo/usr/local/bin/(符号链接)$PREFIX/bin/(符号链接)~/.cargo/
Git 仓库/usr/local/bin/(符号链接)$PREFIX/bin/(符号链接)/opt/<repo>/ 或 ~/tools/<repo>/
二进制发行版/usr/local/bin/已跳过(glibc 与 Bionic 不兼容)--

.versions 文件会记录安装内容、安装方式和安装时间。

可选 Docker 镜像(--enable-docker)

如果设置了 --enable-docker 且未安装 Docker,安装程序会停止并提示你先安装 Docker。

镜像模块标志描述
bcsecurity/empiremisc--enable-docker --include-c2Empire C2
spiderfoot/spiderfootmisc--enable-dockerSpiderFoot OSINT
beefproject/beefweb--enable-dockerBeEF 浏览器利用
opensecurity/mobile-security-framework-mobsfmobile--enable-dockerMobSF
specterops/bloodhoundenterprise--enable-dockerBloodHound CE
trailofbits/echidnablockchain--enable-dockerEchidna 智能合约模糊测试工具
checkmarx/kics:latestcloud--enable-dockerKICS 基础设施即代码扫描器
sagemath/sagemath:latestcrypto--enable-dockerSageMath(Coppersmith、Groebner 基、曲线运算)
strangebee/thehive:latestblueteam--enable-dockerTheHive IR 平台
thehiveproject/cortex:latestblueteam--enable-dockerCortex 分析
zeek/zeek:latestblueteam--enable-dockerZeek 网络分析
wagga40/zircolite:latestblueteam--enable-dockerZircolite EVTX 检测
vxcontrol/pentagi:latestllm--enable-dockerPentAGI 自主渗透测试
### 发行版支持

Debian/Ubuntu/Kali 是主要目标,也是测试覆盖最全面的平台:Kali 和 Parrot 会安装完整的 apt 软件包集合,而纯 Debian/Ubuntu 会跳过少数仅适用于 Kali 的软件包。Fedora、Arch 和 openSUSE 会跳过其软件源中没有的软件包(lib/distro_compat.tsv 中的 - 条目,每个发行版有数十个),并在集成工作流中运行。

平台状态
WSL支持安装和 MCP 使用;无线模块和内核级软件包会跳过。没有专用 CI 任务,因此请在本地 WSL 发行版中验证对发布至关重要的更改。如果仓库位于 Windows 挂载路径,请参阅 Windows Defender 误报。
ARM (aarch64/armv7)支持,会自动跳过仅适用于 x86 的二进制发行版和仅适用于 x86 的源码构建工具。没有专用 CI 任务。
Termux (Android)支持,无需 sudo。Docker、snap、二进制发行版和源码构建会跳过(与 Bionic 不兼容)。没有专用 CI 任务。
Windows(原生)不支持。请使用 WSL。
macOS安装程序不受支持;请使用 Docker 镜像。MCP 服务可在 macOS 上以主机模式运行(--local)。
其他 Linux 发行版不具备 apt/dnf/pacman/zypper 的发行版(NixOS、Gentoo、Void、Alpine、Slackware 等)会被检测到并拦截,同时显示清晰的错误信息。请使用 Docker 镜像。
安装程序会更改什么

除了安装软件包,安装过程还可能更改系统,而这些更改不会由 remove.sh 撤销:

  • apt 软件源:Metasploit 软件源(/etc/apt/sources.list.d/metasploit-framework.list,密钥位于 /usr/share/keyrings/metasploit-framework.gpg);当 remove.sh 移除由此工具包安装的 Metasploit 时,也会删除该软件源。NodeSource 的设置脚本还会添加 NodeSource 软件源和密钥,这些会保留。移除后,apt 仍会信任 NodeSource;如果不再需要,请手动删除其软件源。
  • Arch:在 /etc/pacman.conf 中启用 ParallelDownloads。
  • 基于 apt 的发行版上会安装 snapd,供仅通过 snap 提供的工具使用。
  • 运行时:位于 /usr/local/go 的 Go SDK;以及安装在调用用户主目录中的 rustup、cargo 和 uv。
  • 位于 /opt、/opt/pipx 和 /usr/local/bin 中的__工具__。

此工具包仅在本机保存以下数据:

  • 检出目录中的 .versions、.install_sessions/ 和 *.log:安装来源记录和日志。
  • ~/.local/state/cybersec-tools-mcp/:MCP 审计日志及其轮转文件、remote_hosts.json,以及 Agent 防护机制的 guard-session* 标记和 guard-denials.log。
  • ~/cybersec_tools_backup/:加密配置备份。
  • 检出目录中的 writeups/(已被 git 忽略)。

remove.sh --deep-clean 会清除缓存和检出目录中的日志,但不会清除 MCP 状态目录、备份或 writeups;不再需要时,请自行删除这些内容。

供应链模型

安装程序会从互联网下载并运行代码。在 Linux 上,它以 root 身份运行(sudo);在 Termux 上,它在应用的用户沙箱中运行。

  • 系统软件包:由发行版的软件源签名(apt、dnf、pacman、zypper、pkg)。在 openSUSE 上,只有设置了 CI=true 或 CYBERSEC_ZYPPER_AUTO_IMPORT_KEYS=1 时,zypper refresh 才会自动信任新的或轮换后的软件源密钥。
  • pipx/Go/Cargo/Gem/npm:从各自的注册表获取,且不进行签名验证;pipx 工具隔离在 venv 中。Go、Cargo 和 Gem 构建以调用用户的身份运行;pipx 和全局 npm 安装以 root 身份运行,因此软件包构建后端和 npm 生命周期脚本会以 root 权限执行。
  • 二进制发行版:使用上游校验和文件、精确匹配的 GitHub 发行版摘要,或 lib/release_checksums.tsv 中经过审核的仓库/标签/资源校验和进行 SHA256 验证。校验不匹配时总会失败;如果验证数据不可用,--require-checksums 或 --production 也会导致失败。这些检查可确保下载完整性,但不能独立验证发布者身份。--fast 会跳过常规发行版验证,且不能与严格标志同时使用;私有运行时依赖始终必须经过验证。
  • 运行时引导程序:rustup、uv 和 cargo-binstall 安装程序,以及 NodeSource 的设置脚本(以 root 身份运行)会通过 HTTPS 获取,并在运行前进行合理性检查,但不会进行签名验证;在严格模式(--production/--require-checksums)下,如果 rustup、uv 和 cargo-binstall 安装程序将在 root 权限下运行(即普通用户未通过 sudo 运行),则会跳过这些安装程序;NodeSource 脚本始终会被跳过,改用发行版签名的 nodejs/npm。随后,cargo-binstall 会在可用时下载预构建的 Rust 二进制文件;在全新主机上,--skip-source 会跳过其安装程序,因此 Rust 工具会从 crates.io 编译。
  • Go SDK:在 API 可访问时,根据 go.dev 提供的信息进行 SHA256 验证;严格模式下,如果 API 不可访问,则会失败。
  • Git 仓库:在 HEAD 克隆;绝不会运行仓库自身的 setup.py。requirements.txt 会以调用用户的身份安装到每个仓库专属的 venv 中,其中依赖的 sdist 仍可能进行构建;在严格模式(--production 或 --require-checksums)之外,如果固定版本的安装失败,则会放宽 == 为 >= 后重试。
  • 从源代码构建:以调用用户的身份运行 make,而不是以 root 身份运行。请审核要构建的内容。
  • MCP Python 依赖项:由 uv 使用 3 天的 exclude-newer 时间窗口解析,Dependabot 也会等待相同的 3 天。此规则不适用于安全工具本身,它们会跟随各自的上游发行渠道。
  • 工具包 Docker 镜像:Ubuntu 和 uv 均固定到摘要;apt 软件包从当前签名的 Ubuntu 软件源解析,因此重新构建无法做到逐位可复现。
  • 可选工具镜像:通过可变标签拉取,其中有多个使用 latest。--production 不会固定或验证这些镜像。

--production 不会固定 Git 克隆、语言软件包注册表或从源代码构建的工具;它们会跟随各自的上游发行渠道。

Windows Defender 误报

在 Windows 挂载的路径上(例如 C:\Users\<you>\...,或你在 WSL 中工作时 Windows 可见的任何文件夹),Microsoft Defender 和其他防病毒产品可能会隔离单个文件。.claude/skills/、writeups/ 和 mcp_server/ 的部分内容中的 IOC 表、示例混淆 PowerShell、恶意软件分析片段和漏洞利用字符串,包含与真实攻击者使用的相同字节模式。常见的检测结果包括 Trojan:Script/Wacatac.B!ml、HackTool:* 和通用的 Heur.*。这些是安全工具包的误报。

解决方法
  1. 排除仓库文件夹(建议在个人开发设备上操作),在提升权限的 PowerShell 中运行:

    Add-MpPreference -ExclusionPath "C:\path\to\cybersec-toolkit"
    
  2. 从隔离区还原文件:依次打开 Windows 安全中心 → 病毒和威胁防护 → 保护历史记录 →“允许在设备上”。此设置针对单个文件,且无法阻止再次检测。

  3. 将仓库保存在 WSL 文件系统中(例如 ~/cybersec-toolkit)。Defender 默认不会扫描 WSL2 的虚拟磁盘。scripts/sync-wsl.sh 会为 MCP 服务执行此操作。

被 Defender 删除的文件会在 git status 中显示为 D;设置好排除项后,使用 git checkout -- <path> 还原它们。

MCP 服务

该服务让支持 MCP 的客户端能够读取 670 多种工具的注册信息、安装状态和推荐内容,并受管控地执行已安装的工具。Agent 可了解所有工具、哪些工具可用,以及如何将它们串联起来。

支持的客户端

Claude Code、Codex、Gemini CLI、OpenCode 和 GitHub Copilot CLI 会自动读取跟踪的配置;Claude Desktop、VS Code 中的 Copilot、Hermes Agent、OpenClaw、DeepSeek Harness、Cursor、Cline、Goose、Continue 和 LM Studio 通过各自的 MCP 设置连接;Ollama 或 Open WebUI 则通过 MCP 主机或桥接进行连接。包含各客户端技能发现和测试状态的支持矩阵位于 docs/AI_CLIENTS.md。

关于如何通过任意 MCP 客户端协调多个 Agent,请参阅 docs/ORCHESTRATION.md。

该服务已发布到 官方 MCP 注册表,名称为 io.github.26zl/cybersec-toolkit,并已在 Glama 上列出:

Glama 上的 Cybersec Toolkit MCP 服务

AI 能做什么
工具功能
list_tools按模块、方法或安装状态列出/筛选所有 670+ 个工具(包含 URL)
check_installed检查工具是否已安装(6 种检测策略)
get_tool_info完整详情:方法、模块、URL、安装/更新/移除命令
get_module_info深入了解某个模块:所有工具、安装状态、使用该模块的配置
get_profile_tools查看某个配置安装的所有工具,并按模块分组
suggest_for_ctf为 14 种 CTF 挑战类别精选工具建议
suggest_for_bounty针对 7 种目标类型提供漏洞赏金工具建议,包含方法和常见漏洞
guided_assessment面向已获授权目标的协作式解决助手:对目标/发现进行分类,提供分诊关卡、推荐技能、从所有模块/配置中选择工具并逐步指导;选择启用 autonomous 后,会通过 run_tool、run_pipeline 和单独设有门控的 run_script 启动自动求解循环
get_cve_info将 CVE ID 或昵称(例如 log4shell)映射到精选技能、注册表工具、模块以及实时 NVD/KEV/EPSS 查询命令
recommend_install自然语言 → 配置/模块/工具建议
list_profiles列出全部 14 个配置、工具数量和安装命令
run_tool安全执行已安装的工具(参数净化、网络策略、速率限制、审计日志);支持通过 SSH 远程执行
run_pipeline无需 shell 即可串联工具(strings binary | grep flag)
run_script明确选择启用 Python/Bash 执行,并为每个脚本选择 venv
manage_remote_hosts添加、移除、列出和测试用于远程执行工具的 SSH 远程主机
使用示例 — 完整工作流,从进攻到防御

Agent 可以查询每个工具及其安装状态、串联受管控的工具调用、解析输出,并根据发现的结果调整方向。执行脚本需要单独选择启用。

外部侦察 → 攻击面(需要 CYBERSEC_MCP_ALLOW_EXTERNAL=1,且仅限已授权范围)
  • “枚举 target.com 的攻击面,并标记所有可利用项” — 扇出执行 amass / subfinder → 使用 httpx 解析并探测 → 使用 whatweb 识别指纹 → 运行 nuclei 模板 → 使用 ffuf 进行内容发现,随后按暴露程度对主机排序并提出后续步骤
  • “发现 /go?url= 存在开放重定向漏洞——将其武器化” — 使用 curl 验证,然后构建 SSRF / OAuth 令牌窃取 PoC,并探测是否存在可利用的回调
Web 漏洞利用
  • “确认并利用登录端点上的 SQLi” — 使用 sqlmap 确认并导出数据(破坏性的 --os-shell/--os-cmd 会被策略拦截),然后使用 run_script 自动执行身份验证绕过,并仅提取构建 PoC 所需的数据
  • “GraphQL 内省已启用——绘制结构并查找 IDOR” — 获取 schema,生成查询,模糊测试对象 ID,并比较已验证与未验证身份的响应
Active Directory / 内网
  • “在 10.10.0.0/24 上有低权限凭据——寻找通往 Domain Admin 的路径” — 使用 bloodhound 收集信息,通过 impacket(GetUserSPNs.py)进行 Kerberoasting,在 hashcat 中破解 TGS,然后通过 SSH 在 Kali 主机上使用 netexec 验证横向移动(manage_remote_hosts,主机模式)
  • “检查是否具有 DCSync 权限;如果存在路径则导出数据” — 枚举复制 ACL,然后针对 DC 运行 secretsdump.py
二进制利用与逆向工程
  • “为这个 64 位二进制文件构建 ret2libc 漏洞利用” — 使用 checksec / readelf 进行初步分析,使用 ROPgadget 查找 gadgets,通过 puts@plt 调用泄露 libc,然后在 venv="pwntools" 中编写完整的 pwntools 调用链,并在本地弹出 shell
  • “从这个已剥离符号的二进制文件中还原算法” — 将 objdump / radare2 反汇编结果传入针对性分析,然后通过 run_script 重新实现以验证行为
加密
  • “破解这个 RSA——较小的 e、多个密文” — 检测攻击(Håstad/共模/Wiener),并在虚拟环境中使用 pycryptodome + sympy 求解,返回明文
  • “这个 JWT 使用 HS256,密钥较弱” — 破解签名密钥并伪造管理员令牌
蓝队 · 检测工程
  • “为这种技术编写 Sigma 规则,并转换为我的 SIEM 格式” — 编写规则,并通过 sigma-cli 将其渲染为目标后端格式(Splunk / Elastic)
  • “在这些 Windows 事件日志中搜寻横向移动” — 使用 Sigma 规则对 EVTX 运行 chainsaw,然后按主机和时间线汇总命中结果
  • “根据这些样本构建 YARA 规则并扫描目录树” — 生成 yara 特征规则并递归运行扫描
数字取证与事件响应 · 恶意软件分诊
  • “为这个内存转储生成时间线” — 扫描 volatility3 插件(pslist、netscan、malfind),并将结果串联成一份叙述
  • “在这个 pcap 中搜寻 C2 信标” — 使用 tshark / tcpdump 提取 → 应用 suricata 规则 → 标记周期性回连
  • “对这个可疑文件进行静态分诊” — file → strings → capa / yara,然后提取 IOC 以供补充分析
云 · 容器 · 运维
  • “审计这个 AWS 账户中的公开 S3 和高风险 IAM” — 运行 prowler / scoutsuite,仅列出高严重性问题
  • “在部署前扫描这个镜像和 k8s 清单” — 扫描 grype 镜像,并使用 kubescape 检查配置
  • “我的红队覆盖情况如何——并修复差距” — 将 get_profile_tools("redteam") 与安装状态进行比对,并输出确切的安装命令
移动端 · 无线 · 区块链
  • “对这个 APK 进行静态分析,查找密钥和不安全存储” — 使用 apktool / jadx 反编译 → 执行 MobSF 风格的检查,然后搜索密钥和端点
  • “审计这个 Wi-Fi 捕获文件” — 解析握手,并使用 aircrack-ng / hashcat 对其进行破解
  • “检查这个 Solidity 合约是否存在重入问题” — 运行 slither / mythril 并解释发现的问题

run_tool 和 run_pipeline 会对参数进行清理、限制网络访问、限制调用频率并记录审计日志,同时会阻止破坏性标志(--os-shell、-rf、--exploit 等)。默认情况下,run_script 处于关闭状态:启用后,它会以服务用户的文件系统和网络权限运行任意代码(默认在虚拟机内运行,使用 --local 时则在你的主机上运行),且外部目标策略不会对其加以限制。仅可用于测试你获准测试的系统。

### 沙箱和主机模式

除非传入 --local 或设置 CYBERSEC_SANDBOX_MODE=local,否则 scripts/mcp-launch.sh 会在 Kata Containers 虚拟机内启动服务。该虚拟机由 Sandcastle 隔离沙箱提供程序(sandbox/kata.mjs)创建,该提供程序会固定 Kata 运行时;同一提供程序也可用于 Sandcastle Agent 编排循环,而非 MCP 客户端。启动失败时会安全地停止:如果缺少运行时、沙箱镜像、KVM 设备、Node.js 或启动器依赖项,服务会停止并说明原因,而不会退回到主机运行。./install.sh --doctor 会报告沙箱是否就绪。设置、调优和威胁模型见 docs/SANDBOX.md。

  • 虚拟机有自己的工具集。 沙箱镜像包含 MCP 服务以及 file、git、binutils、nmap、curl 和 Python。主机上安装的工具在虚拟机内不可见,check_installed 和各顾问工具报告的是虚拟机中的工具。请改为将配置文件烘焙到镜像中,并在拉取服务更新后重新构建,因为镜像中包含服务的独立副本:

    make sandbox-image TOOLKIT_PROFILE=ctf
    
  • 文件: 除非 CYBERSEC_SANDBOX_WORKSPACE 指定一个绝对目录,否则虚拟机看不到任何主机路径;指定后,该目录会映射为 /workspace(设置 CYBERSEC_SANDBOX_WORKSPACE_RO=1 时为只读)。向 run_tool 传入虚拟机内的路径。

  • 网络: 虚拟机使用 Docker 默认网桥。设置 CYBERSEC_SANDBOX_NETWORK=none 可进行离线分析,也可以使用经过筛选的 Docker 网络来限制出站流量。

  • 权限: 默认使用 uid 10001,移除所有 capabilities,启用 no-new-privileges,并限制为 2 GB 内存、2 个 vCPU 和 512 个进程。沙箱中无法进行原始套接字扫描(nmap -sS、-sU、操作系统检测):虚拟机用户没有特权,且已设置 no-new-privileges,因此即使添加 NET_RAW capability 也不会生效。请使用 connect 扫描(-sT)或 --local 模式。

  • 仅主机模式: 通过 SSH 远程执行(manage_remote_hosts),以及在主机上创建的 ~/.ctf-venvs/ 下的 venv。

  • 审计: 审计记录通过 stderr 侧信道离开虚拟机,并追加到主机日志,因此虚拟机销毁后仍会保留记录。

客户端设置

Claude Code 会读取已跟踪的 .mcp.json:

{
  "mcpServers": {
    "cybersec-tools": {
      "command": "bash",
      "args": [
        "-lc",
        "cd \"$(git rev-parse --show-toplevel)\" && exec bash scripts/mcp-launch.sh"
      ],
      "env": {
        "CYBERSEC_MCP_ALLOW_EXTERNAL": "0",
        "CYBERSEC_MCP_ALLOW_SCRIPTS": "0"
      }
    }
  }
}

登录 shell(bash -lc)会从配置文件中获取 node 和 uv,因此配置文件脚本不得向 stdout 输出内容,因为 stdout 承载 MCP 协议。其他客户端使用相同的启动器;可从任意目录运行:

bash /path/to/cybersec-toolkit/scripts/mcp-launch.sh           # Kata VM (default)
bash /path/to/cybersec-toolkit/scripts/mcp-launch.sh --local   # host, no VM boundary
  • Codex:项目的 .codex/config.toml 会先解析 Git 根目录,因此可从任意子目录运行。如果 Codex 忽略项目配置,请将 [mcp_servers.cybersec-tools] 配置块复制到 ~/.codex/config.toml。
  • Cursor / Continue / Cline / Goose:在客户端的 MCP 设置中添加启动命令;如果客户端的工作目录不是仓库根目录,请使用绝对路径。
  • LM Studio (≥0.3.17):它本身就是 MCP 主机。将服务添加到其 mcp.json(与 .mcp.json 使用相同的 mcpServers 结构)并指定绝对路径。通过 LM Studio 的 API 使用 MCP 需要 ≥0.4.0,并且需要支持 MCP 的端点,例如 /api/v1/chat 或 /v1/responses。
  • Ollama 和其他本地模型:模型运行时不支持 MCP。请在其前面使用支持 MCP 的主机(OpenCode、Hermes、OpenClaw、Kit、LM Studio、Cline、Continue、Goose,或通过 MCP→OpenAPI 桥接工具(例如 mcpo)连接的 Open WebUI),并让该主机指向启动器。

先从这一个服务开始;除非你有获授权的范围,否则不要启用脚本和外部目标;优先选择支持人工审批工具调用的主机。通用的仓库说明位于 AGENTS.md;Claude Code 会读取 CLAUDE.md,Gemini CLI 会读取 GEMINI.md。

从 WSL 连接(例如 Kali Linux)

该服务使用 stdio 通信,因此 Windows 客户端可以在 WSL 中启动它。此方式会直接在 WSL 中运行,不使用 Kata VM(相当于 --local):

{
  "mcpServers": {
    "cybersec-tools": {
      "command": "wsl",
      "args": [
        "-d", "kali-linux",
        "bash", "-lc",
        "cd ~/cybersec-toolkit/mcp_server && uv run fastmcp run server.py --transport stdio --no-banner"
      ]
    }
  }
}

请使用 WSL 文件系统中的克隆副本,或在 Windows 检出目录中运行 scripts/sync-wsl.sh,将服务复制到 WSL 中的 ~/cybersec-toolkit(uv 无法在 NTFS 上创建 venv)。从 Windows 传递 CYBERSEC_MCP_* 变量需要使用 WSLENV;请参阅 mcp_server/README.md。

从 Docker 连接

在安装器镜像中运行服务。这是普通容器,不是 Kata VM,且其中的用户可以免密码使用 sudo:

{
  "mcpServers": {
    "cybersec-tools": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "CYBERSEC_MCP_ALLOW_EXTERNAL=0", "-e", "CYBERSEC_MCP_ALLOW_SCRIPTS=0",
        "--entrypoint", "bash", "cybersec-toolkit",
        "-c",
        "cd /opt/cybersec-toolkit/mcp_server && uv run fastmcp run server.py --transport stdio --no-banner"
      ]
    }
  }
}
脚本执行

run_script 允许 Agent 编写并运行 Python 或 Bash。要启用此功能,请在客户端的 env 块中设置 "CYBERSEC_MCP_ALLOW_SCRIPTS": "1"。脚本拥有服务进程的文件系统和网络权限(默认情况下为 VM 的权限,在 --local 模式下为你的用户权限),且 CYBERSEC_MCP_ALLOW_EXTERNAL 不会限制这些权限。启用前请检查生成的代码和执行范围。

没有控制台脚本的 Python 库会放在 ~/.ctf-venvs/ 下以名称区分的 venv 中(可通过 CYBERSEC_MCP_VENVS_DIR 更改),并通过每个脚本的 venv 参数选择。./install.sh --module crypto 会创建 ~/.ctf-venvs/crypto,其中包含 pycryptodome、sympy、gmpy2、numpy、z3、fpylll(以及 fpylll 在导入时需要、但未声明依赖的 cysignals)和 cypari2,这样 Agent 就可以调用 run_script(code, venv="crypto")。在沙箱中,venv 使用来宾系统路径:使用 TOOLKIT_PROFILE=ctf 构建镜像即可获得 crypto。有些软件包需要较旧版本的 Python,例如 pwntools:

python3.12 -m venv ~/.ctf-venvs/pwntools
~/.ctf-venvs/pwntools/bin/pip install pwntools z3-solver

如果不指定名称化 venv,脚本只能使用 FastMCP 和标准库;运行 cd mcp_server && uv sync --extra ctf-core 会添加 requests、pycryptodome、beautifulsoup4、Pillow 和 NumPy。

Agent 为你编写的可复用辅助工具(漏洞利用脚本、多步骤求解器、解析器、协议辅助工具)会保存在 manual_scripts/ 下。在协作模式中,Agent 会提出脚本,并仅在你批准后运行;在 autonomous 模式中,当工具和工作流无法继续取得进展时,Agent 会编写并运行范围受限的辅助工具。普通侦察和 HTTP 请求仍通过 run_tool 调用。

测试服务
cd mcp_server && uv run fastmcp dev inspector server.py

这会打开 MCP Inspector,以便交互式试用各项工具。mcp_server/README.md 介绍了 Claude Desktop 的设置方法以及完整的服务参考文档。

Agent 技能

.claude/skills/ 中有 872 项 Agent 技能,这是 Claude Code 可直接发现的权威目录树。技能会根据当前任务按需加载,而不是始终占用上下文。其中 31 项由项目编写,841 项整理自开源项目,并分别在 THIRD_PARTY_NOTICES.md 中注明来源:

  • 10 项项目开发技能(add-tool、validate-all、module-scaffold、writeup-template、mcp-sync-check、security-wordlists、security-payloads、guided-assessment、skill-dependency-audit、skill-curation-router)
  • 4 项跨技能协调器(finding-triage、security-comms、authorization-gate、evidence-hygiene),用于分流发现的问题、协调沟通、检查授权,以及清理证据中的敏感信息
  • 7 项覆盖缺口锚点(GRC/隐私、AI/LLM 安全、IoT/嵌入式/硬件、大型机、电信/5G、SAP/ERP、供应链/产品安全)
  • 6 项 CTF 方法论技能(ctf-crypto、ctf-pwn、ctf-web、ctf-rev、ctf-forensics、ctf-stego)和 4 项漏洞赏金方法论技能(bounty-recon、bounty-web、bounty-api、bounty-mobile)
  • 754 项实操指南,来自 mukul975/Anthropic-Cybersecurity-Skills(Apache 2.0)
  • 58 项攻击方法论技能,来自 SnailSploit Claude-Red(MIT)
  • 14 项代码审计技能,来自 Trail of Bits(CC-BY-SA 4.0)
  • 10 项漏洞赏金工作流技能,来自 BugHunter (claude-bug-bounty)(MIT)
  • 4 项高层级工作流,来自 Transilience(MIT)
  • 1 项编码 Agent 工作流技能,来自 multica-ai/andrej-karpathy-skills(MIT)

源码和分类索引: .claude/skills/SKILLS.md。排名和整理规则:.claude/skills/CURATION.md 和 curation.json;运行 python3 scripts/curate_claude_skills.py --write 可重新生成。

作为 Claude Code 插件。 此仓库也兼作插件市场,因此任何项目都可以直接引入技能库,无需克隆:

/plugin marketplace add 26zl/cybersec-toolkit
/plugin install cybersec-toolkit@cybersec-toolkit

该插件仅包含技能;MCP 服务需单独配置(参见 MCP 服务)。

在其他客户端中。 OpenCode、Codex、Gemini CLI、GitHub Copilot、Cursor、Cline、Goose、Hermes、OpenClaw 和 DeepSeek Harness 均通过各自的路径支持 Agent 技能。对于读取该位置的客户端,scripts/sync-skills.sh 会将 .claude/skills/ 同步到被 Git 忽略的 .agents/skills/ 目录(--check 会报告差异;make setup 会运行该脚本)。Continue 和 LM Studio 未说明支持自动发现技能;请改为将选定的技能内容作为规则或上下文提供给它们。详情:docs/AI_CLIENTS.md。

辅助脚本依赖项。 部分随附技能包含辅助脚本,其中使用的可选 Python 导入项在 .claude/skills/requirements.txt 中声明,并根据导入清单生成。scripts/validate_claude_skills.py 会检查技能元数据、索引计数、整理结果是否为最新,以及辅助脚本语法。

python3 scripts/audit_skill_dependencies.py --check-declared   # verify declarations
python3 -m pip install -r .claude/skills/requirements.txt      # optional, ideally in a venv

开发

欢迎贡献:在不同发行版上测试安装、添加缺失的工具、修复软件包映射、改进 MCP 工作流、编写示例用例,以及报告在实际 CTF、实验室、漏洞赏金、渗透测试、DFIR 或防御工作中遇到的问题。较大的改动请提交 issue,小型修复请提交内容聚焦的 PR;CONTRIBUTING.md 中列有验证清单。

git clone https://github.com/26zl/cybersec-toolkit.git && cd cybersec-toolkit
make setup    # submodules, MCP deps, sandbox deps, skill mirror
make check    # lint, validators, bats, pytest, sandbox tests

make help 会列出所有目标;原始命令见 AGENTS.md。MCP Python 项目使用 uv 和 exclude-newer = "3 days" 解析依赖,因此新发布的软件包会被忽略 72 小时,以限制遭入侵的上传所造成的影响范围;Dependabot 和每周的 uv 更新工作流也采用相同的冷却时间。请在 Linux、macOS 或 WSL 上运行 shell 测试:原生 Windows 工作区可能会将 Bats 子模块改写为 CRLF,导致 $'\r' 错误。

每个版本的发布说明(包括安全修复和升级步骤)都在 GitHub Releases 页面;git log $(git describe --tags --abbrev=0).. 会显示自最新版本以来合入的内容。

Star 历史

Star 历史图表

许可证

MIT 许可证。请参阅 LICENSE。

本仓库也根据各自的条款重新分发第三方组件,其中包括一些采用 CC-BY-SA-4.0 许可证的组件(相同方式共享,不能重新授权为 MIT)。如果你重新分发或改编捆绑内容,请遵循相应条款;请参阅 THIRD_PARTY_NOTICES.md。

贡献流程:CONTRIBUTING.md。社区行为准则:CODE_OF_CONDUCT.md。漏洞报告:SECURITY.md。

免责声明

本项目仅用于教育、防御以及明确授权的安全测试。请仅在你拥有或已获得书面评估许可的系统上使用,并遵守所有适用法律、交战规则、第三方工具许可证和服务条款。

本工具包包含双重用途的攻防工具。某些命令可能会扫描网络、执行漏洞利用、修改系统或触发安全警报。MCP/AI 集成受安全策略约束,但用户仍有责任在执行操作前检查范围、提示词、命令和输出。

本仓库不重新分发安全工具本身;它会在安装时从官方上游来源安装公开可用的开源项目。本项目仅供合法授权用途。

本项目按“原样”提供,不提供任何保证。维护者不对因使用本工具包而造成的滥用、损害、数据丢失、服务中断或法律后果承担责任。

第三方内容按其原始许可证捆绑提供——请参阅 THIRD_PARTY_NOTICES.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。