首页 网络安全 渗透测试 查看内容

kali-claw 技能包使用指南:在 OpenCode 上运行

2026-5-25 14:28 509 0

摘要: n发现:$ARGUMENTS, description: 验证安全发现(排除误报) } }}5.3 多提供商模型配置完整配置支持多个 AI 提供商,根据不同任务切换模型:{ provider: { anthropic: { options: { apiKey: {env:ANTHROPIC_API_KEY} } }, ...
关键词:skills, SKILL.md, template, IP, OpenCode, ARGUMENTS, 测试Claude, 分析Claude, 审计Claude, 测试n4.

 

kali-claw 技能包使用指南:在 OpenCode 上运行

面向 kali-claw v0.1.7 + OpenCode 最新版 | 从零开始,手把手教你将 kali-claw 技能包迁移到 OpenCode 平台


一、概述

1.1 OpenCode 是什么

OpenCode 是一个开源、终端式的 AI 编码智能体,使用 Go 语言编写。它提供文本用户界面(TUI),可以理解、编辑和执行代码项目。

核心能力:

kali-claw 技能包使用指南:在 OpenCode 上运行

面向 kali-claw v0.1.7 + OpenCode 最新版 | 从零开始,手把手教你将 kali-claw 技能包迁移到 OpenCode 平台


一、概述

1.1 OpenCode 是什么

OpenCode 是一个开源、终端式的 AI 编码智能体,使用 Go 语言编写。它提供文本用户界面(TUI),可以理解、编辑和执行代码项目。

核心能力:

  • • 多 AI 提供商支持— OpenAI、Anthropic、Google、Ollama 本地模型,模型无关设计
  • • 项目级配置— 通过 opencode.json定义模型、指令、命令、MCP 工具
  • • 指令文件系统— 读取 AGENTS.md等项目文件作为 AI 行为指南
  • • MCP 工具集成— 支持 Model Context Protocol,扩展 AI 能力边界
  • • 自定义命令— 定义常用操作的快捷命令
  • • 终端 TUI 界面— 实时交互,文件编辑,Shell 命令执行

1.2 与其他 AI 编码平台的对比

特性
OpenClaw
Claude Code
OpenCode
Codex CLI
Cursor
开源
模型支持
Claude
仅 Claude
多模型
OpenAI
多模型
运行方式
网关服务
CLI + TUI
TUI
CLI
IDE 插件
MCP 支持
项目指令
MD 文件
CLAUDE.md
AGENTS.md + 自定义
.cursorrules
自定义命令
安装方式
npm
npm
Go / 脚本
npm
桌面应用
语言
TypeScript
TypeScript
Go
TypeScript
Electron

为什么选择 OpenCode

  • • 完全开源— 可审计、可定制、无供应商锁定
  • • 模型无关— 不绑定单一 AI 提供商,随时切换
  • • MCP 生态— 通过 MCP 协议接入安全工具(nmap、sqlmap 等)
  • • Go 高性能— 编译为单一二进制,启动快,资源占用低
  • • 自定义命令— 可预定义渗透测试流程命令

1.3 kali-claw 技能包如何适配 OpenCode

kali-claw 的技能包是纯 Markdown 文件,不依赖任何特定框架。OpenCode 可以通过项目级配置读取这些文件,让 AI 理解和使用 kali-claw 的完整知识体系。

关键适配点:

kali-claw 组件
OpenCode 对应
说明
SOUL.md
项目指令文件
提取核心身份和黑客法则写入项目指令
AGENTS.md
OpenCode AGENTS.md
OpenCode 原生支持读取 AGENTS.md
skills/*/SKILL.md
项目文件(按需读取)
AI 可直接读取,无需修改
skills/*/payloads.md
项目文件(按需读取)
AI 可直接读取,无需修改
skills/*/test-cases.md
项目文件(按需读取)
AI 可直接读取,无需修改
skills/*/guides/
项目文件(按需读取)
AI 可直接读取,无需修改

核心原则:skills/ 目录中的所有文件保持原位,不做任何修改。迁移是指配置 OpenCode 来读取和使用这些现有文件。

1.4 三种迁移策略

根据你的时间预算和需求深度,选择合适的迁移方式:

策略
耗时
适合场景
你将获得
最小迁移
5 分钟
快速体验、临时使用
基本 AI + kali-claw 文件访问
标准迁移
30 分钟
日常使用、渗透测试
完整角色定义 + 技能索引 + 安全边界
完整迁移
2 小时
专业团队、生产环境
MCP 工具集成 + 自定义命令 + 多模型

二、环境准备

2.1 安装 OpenCode

方式一:官方安装脚本(推荐)

curl -fsSL https://opencode.ai/install | bash

方式二:Go install

go install github.com/opencode-ai/opencode@latest

方式三:手动下载二进制

# Linux (amd64)
curl -fsSL https://github.com/opencode-ai/opencode/releases/latest/download/opencode-linux-amd64 -o /usr/local/bin/opencode
chmod
 +x /usr/local/bin/opencode

# Linux (arm64)

curl -fsSL https://github.com/opencode-ai/opencode/releases/latest/download/opencode-linux-arm64 -o /usr/local/bin/opencode
chmod
 +x /usr/local/bin/opencode

# macOS (Apple Silicon)

curl -fsSL https://github.com/opencode-ai/opencode/releases/latest/download/opencode-darwin-arm64 -o /usr/local/bin/opencode
chmod
 +x /usr/local/bin/opencode

# macOS (Intel)

curl -fsSL https://github.com/opencode-ai/opencode/releases/latest/download/opencode-darwin-amd64 -o /usr/local/bin/opencode
chmod
 +x /usr/local/bin/opencode

验证安装

opencode --version

2.2 配置 AI 提供商

OpenCode 支持多种 AI 提供商。选择你需要的一个或多个进行配置:

Anthropic(推荐用于安全任务)

export ANTHROPIC_API_KEY="sk-ant-your-key-here"

OpenAI

export OPENAI_API_KEY="sk-your-key-here"

本地 Ollama(离线场景)

# 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 拉取模型

ollama pull llama3
ollama pull codellama

# 无需 API key,Ollama 默认监听 localhost:11434

提示:建议将 API Key 写入 shell 配置文件(~/.zshrc或 ~/.bashrc)使其持久化:

echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.zshrc
source
 ~/.zshrc

2.3 准备 Kali Linux 环境

kali-claw 的安全工具需要在 Kali Linux 上运行。选择以下方案之一:

方案一:本机 Kali Linux(最佳体验)

# 直接在 Kali Linux 上操作,无需额外配置
uname
 -a  # 确认是 Kali Linux

方案二:通过 SSH 连接远程 Kali

# 在本地机器上配置 SSH 免密登录
ssh-keygen -t ed25519
ssh-copy-id user@kali-server-ip

# 测试连接

ssh user@kali-server-ip "nmap --version"

方案三:Docker 容器(推荐用于隔离测试)

# 拉取 Kali Docker 镜像
docker pull kalilinux/kali-rolling

# 启动容器并安装安全工具

docker run -it --name kali-claw-env kalilinux/kali-rolling /bin/bash
apt update && apt install -y nmap sqlmap nikto hydra metasploit-framework

# 后续连接

docker start -ai kali-claw-env

2.4 克隆 kali-claw 工作空间

# 克隆到你的工作目录
git clone https://github.com/.git ~/kali-claw
cd
 ~/kali-claw

# 确认目录结构

ls
 -la
# 应该看到: SOUL.md  AGENTS.md  IDENTITY.md  USER.md  MEMORY.md  TOOLS.md  HEARTBEAT.md  skills/  memory/  chronicle/

三、方式一:最小迁移(5 分钟)

如果你只想快速体验 kali-claw 技能包在 OpenCode 上的效果,这是最快的方式。

3.1 启动 OpenCode

cd ~/kali-claw
opencode

OpenCode 会在当前目录启动 TUI 界面,并自动检测项目文件。

3.2 使用示例

启动后,在 OpenCode 的输入框中直接输入指令。以下是几个多轮对话示例:

示例一:SQL 注入测试

你: 请读取 skills/web-sqli/SKILL.md,然后帮我制定一个针对 DVWA 靶场的 SQL 注入测试计划。

AI: [读取 skills/web-sqli/SKILL.md 文件后]
    根据 kali-claw 的 SQL 注入技能,以下是 DVWA 测试计划:

    1. **检测注入点**:在 User ID 输入框测试单引号 `1'`
    2. **判断列数**:`1' ORDER BY N-- -`
    3. **UNION 注入**:`1' UNION SELECT 1,2-- -`
    4. **提取数据**:获取数据库版本、表名、用户数据

    详细 payload 参见 skills/web-sqli/payloads.md

你: 很好,请读取 payloads.md,给我 DVWA Low 级别的完整测试命令。

AI: [读取 skills/web-sqli/payloads.md 后]
    DVWA Low 级别(无过滤)测试命令:

    # 检测注入
    curl "http://target/dvwa/vulnerabilities/sqli/?id=1'&Submit=Submit"
      --cookie "security=low; PHPSESSID=xxx"

    # 列数判断
    curl "http://target/dvwa/vulnerabilities/sqli/?id=1' ORDER BY 2-- -&Submit=Submit"
      --cookie "security=low; PHPSESSID=xxx"

    # UNION 注入提取用户
    curl "http://target/dvwa/vulnerabilities/sqli/?id=1' UNION SELECT user,password FROM users-- -&Submit=Submit"
      --cookie "security=low; PHPSESSID=xxx"

示例二:网络渗透

你: 读取 skills/network-pentest/SKILL.md,对 192.168.1.0/24 网段进行侦察。

AI: [读取技能文件后]
    根据 kali-claw 网络渗透方法论,侦察阶段如下:

    # 第一步:主机发现
    sudo arp-scan -l
    # 或者
    nmap -sn 192.168.1.0/24

    # 第二步:端口扫描(对发现的主机)
    nmap -sV -sC -O 192.168.1.100

    # 第三步:服务枚举
    enum4linux -a 192.168.1.100

    需要我执行这些命令吗?注意:我只在授权范围内操作。

你: 执行第一步和第二步。

AI: [执行命令并返回结果]
    ...

示例三:学习安全工具

你: 读取 skills/password-attack/SKILL.md,教我如何使用 hydra 进行密码审计。

AI: [读取技能文件后]
    根据 kali-claw 密码攻击技能,hydra 使用方法如下:

    ## 基础语法
    hydra -l <用户名> -P <字典文件> <目标> <协议>

    ## FTP 密码审计
    hydra -l admin -P /usr/share/wordlists/rockyou.txt ftp://192.168.1.100

    ## SSH 密码审计
    hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100

    ## HTTP POST 表单
    hydra -l admin -P wordlist.txt 192.168.1.100 http-post-form
      "/login:user=^USER^&pass=^PASS^:Invalid login"

    详细 payload 参见 skills/password-attack/payloads.md

3.3 局限性

最小迁移的局限:

  • • 无持久角色— AI 不知道自己是 kali-claw,每次需要手动指定读取技能文件
  • • 无安全边界— 不会自动遵循 12 条黑客法则和操作边界
  • • 无技能索引— AI 不知道有哪些技能域可用,需要你手动指定路径
  • • 无自动加载— 不会自动读取 SOUL.md 和 MEMORY.md

如果你需要更完整的体验,请继续阅读"标准迁移"。


四、方式二:标准迁移(30 分钟)

标准迁移通过配置 opencode.json和项目指令文件,让 OpenCode 自动理解 kali-claw 的角色、技能体系和安全边界。

4.1 创建 opencode.json 配置

在 kali-claw 项目根目录创建 opencode.json

{
  "$schema"
: "https://opencode.ai/config.json",
  "model"
: "anthropic/claude-sonnet-4-20250514",
  "small_model"
: "anthropic/claude-3-5-haiku-latest",
  "default_agent"
: "kali-claw",
  "shell"
: "/bin/bash",
  "logLevel"
: "INFO",
  "share"
: "disabled",
  "autoupdate"
: "notify",
  "snapshot"
: true,
  "instructions"
: [
    "AGENTS.md"
,
    ".opencode/instructions.md"

  ]
,

  "agent"
: {
    "kali-claw"
: {
      "model"
: "anthropic/claude-sonnet-4-20250514",
      "description"
: "kali-claw 渗透测试工程师 — 掌握全部 518 个 Kali Linux 安全工具的高级智能体",
      "permission"
: {
        "edit"
: "ask",
        "bash"
: {
          "nmap *"
: "allow",
          "sqlmap *"
: "allow",
          "nikto *"
: "allow",
          "hydra *"
: "allow",
          "curl *"
: "allow",
          "dig *"
: "allow",
          "whois *"
: "allow",
          "whatweb *"
: "allow",
          "gobuster *"
: "allow",
          "dirb *"
: "allow",
          "wpscan *"
: "allow",
          "enum4linux *"
: "allow",
          "arp-scan *"
: "allow",
          "tcpdump *"
: "ask",
          "msfconsole *"
: "ask",
          "bettercap *"
: "ask",
          "responder *"
: "ask",
          "rm *"
: "deny",
          "*"
: "ask"
        }

      }

    }
,
    "kali-claw-audit"
: {
      "model"
: "anthropic/claude-sonnet-4-20250514",
      "description"
: "kali-claw 安全审计模式 — 只读分析,不执行攻击操作",
      "permission"
: {
        "edit"
: "deny",
        "bash"
: {
          "nmap *"
: "allow",
          "sqlmap *"
: "allow",
          "curl *"
: "allow",
          "dig *"
: "allow",
          "whois *"
: "allow",
          "whatweb *"
: "allow",
          "cat *"
: "allow",
          "head *"
: "allow",
          "ls *"
: "allow",
          "rm *"
: "deny",
          "*"
: "ask"
        }

      }

    }

  }
,

  "command"
: {
    "recon"
: {
      "template"
: "读取 skills/network-pentest/SKILL.md 和 skills/osint/SKILL.md,对以下目标执行信息收集和侦察:nn目标:$ARGUMENTSnn按照 kali-claw 攻击链方法论执行:n1. 被动信息收集(OSINT)n2. 主动扫描(端口/服务识别)n3. 结果汇总nn注意:仅在授权范围内操作。",
      "description"
: "对目标执行侦察(OSINT + 网络扫描)"
    }
,
    "web-pentest"
: {
      "template"
: "读取以下技能文件,对目标执行 Web 渗透测试:n- skills/web-sqli/SKILL.mdn- skills/web-xss/SKILL.mdn- skills/web-ssrf/SKILL.mdn- skills/web-auth-bypass/SKILL.mdn- skills/web-access-control/SKILL.mdnn目标:$ARGUMENTSnn按照攻击链执行:n1. 技术栈指纹识别n2. SQL 注入测试n3. XSS 测试n4. SSRF 测试n5. 认证绕过测试n6. 访问控制测试n7. 生成测试报告",
      "description"
: "对目标执行 Web 应用渗透测试"
    }
,
    "sqli"
: {
      "template"
: "读取 skills/web-sqli/SKILL.md 和 skills/web-sqli/payloads.md,对目标执行 SQL 注入测试。nn目标:$ARGUMENTSnn执行完整的 SQL 注入测试流程:n1. 注入点检测n2. 数据库指纹识别n3. 注入类型判断n4. 数据提取n5. 生成测试报告",
      "description"
: "对目标执行 SQL 注入测试"
    }
,
    "network-attack"
: {
      "template"
: "读取 skills/network-pentest/SKILL.md 和 skills/network-pentest/payloads.md,对目标网络执行渗透测试。nn目标:$ARGUMENTSnn按照完整攻击链执行:n1. 网络发现n2. 端口扫描n3. 服务指纹识别n4. 漏洞评估n5. 漏洞利用(仅在授权范围内)n6. 后渗透检查n7. 生成报告",
      "description"
: "对目标网络执行渗透测试"
    }
,
    "password-audit"
: {
      "template"
: "读取 skills/password-attack/SKILL.md 和 skills/password-attack/payloads.md,对目标执行密码安全审计。nn目标:$ARGUMENTSnn执行密码审计流程:n1. 服务识别(确定协议类型)n2. 字典选择n3. 在线密码测试n4. 离线哈希破解(如有哈希)n5. 密码强度分析n6. 生成审计报告",
      "description"
: "对目标执行密码安全审计"
    }
,
    "learn"
: {
      "template"
: "读取以下技能文件,为我详细讲解该安全领域的知识:nn技能:$ARGUMENTSnn请覆盖以下内容:n1. 领域概述和核心概念n2. 常见攻击技术和原理n3. 防御策略n4. 工具使用方法和实战示例n5. 练习建议和靶场推荐",
      "description"
: "学习某个安全技能领域(如:web-sqli、network-pentest、password-attack)"
    }
,
    "security-review"
: {
      "template"
: "读取 skills/security-review/SKILL.md 和 skills/repo-scan/SKILL.md,对目标项目执行安全代码审查。nn目标:$ARGUMENTSnn执行安全审查流程:n1. OWASP Top 10 检查清单n2. 源码安全扫描n3. 依赖项漏洞检查n4. 密钥/凭据泄露检测n5. 注入漏洞检查n6. 认证/授权审查n7. 生成安全审查报告",
      "description"
: "对项目执行安全代码审查"
    }

  }
,

  "provider"
: {
    "anthropic"
: {
      "options"
: {
        "apiKey"
: "{env:ANTHROPIC_API_KEY}"
      }

    }

  }
,

  "permission"
: {
    "edit"
: "ask",
    "bash"
: {
      "rm *"
: "deny",
      "rm -rf *"
: "deny",
      "mkfs *"
: "deny",
      "dd *"
: "deny",
      "*"
: "ask"
    }

  }
,

  "tool_output"
: {
    "max_lines"
: 2000,
    "max_bytes"
: 51200
  }
,

  "compaction"
: {
    "auto"
: true,
    "tail_turns"
: 15
  }

}

4.2 创建项目指令文件

创建 .opencode/instructions.md文件,将 kali-claw 的核心身份信息注入 OpenCode:

mkdir -p ~/kali-claw/.opencode

然后创建 .opencode/instructions.md,内容如下:

# kali-claw Agent Instructions

## Identity


You are **kali-claw**, a Senior Penetration Testing Engineer. You master all 518 Kali Linux
security tools across 49 security domains. Your runtime environment is Kali Linux.

## Behavioral Principles (12 Hacker Laws)


Follow these laws as guiding principles in every task:

1.
 **First Principles Thinking** — Break problems down to fundamental facts. Question every
   "obvious" assumption.
2.
 **Divergent Thinking First** — Think of at least 3 solutions for every problem, then pick
   the best.
3.
 **Minimize Attack Surface** — Less exposure means less risk. Every open port, service, and
   interface is a potential entry point.
4.
 **Defense in Depth** — Never rely on a single layer of defense.
5.
 **Least Privilege** — Grant only the access that is necessary.
6.
 **Assume Breach** — Design systems assuming the attacker is already inside.
7.
 **Obscurity Is Not Security** — Security comes from design and verification, not from hiding.
8.
 **Trust but Verify** — Don't trust any input. Verify everything.
9.
 **Information Wants to Be Free** — Share knowledge, protect sensitive data.
10.
 **Skill Over Credentials** — Judge by capability, not by title.
11.
 **The Weakest Link Is Human** — Always consider the human factor.
12.
 **Murphy's Security Law** — If it can be exploited, it will be exploited.

## Skill Domain Index


You have access to 49 security skill domains under the `skills/` directory. Each skill
contains SKILL.md (definition), payloads.md (attack payloads), test-cases.md (test templates),
and guides/ (deep-dive materials).

When a user asks about a security topic, read the relevant SKILL.md file first, then consult
payloads.md and test-cases.md as needed.

| Domain | Directory | Description |
|--------|-----------|-------------|
| SQL Injection | skills/web-sqli/ | Union, blind, error, double query, WAF bypass |
| XSS | skills/web-xss/ | Reflected, stored, DOM-based, CSP bypass |
| SSRF | skills/web-ssrf/ | Internal scanning, cloud metadata, protocol smuggling |
| Auth Bypass | skills/web-auth-bypass/ | Brute force, session attacks, OAuth flaws |
| Access Control | skills/web-access-control/ | IDOR, privilege escalation, forced browsing |
| Network Pentest | skills/network-pentest/ | Scanning, exploitation, lateral movement |
| OSINT | skills/osint/ | People search, domain recon, data aggregation |
| Recon + OSINT | skills/recon-osint/ | Subdomain enum, port scanning, tech fingerprinting |
| Password Attack | skills/password-attack/ | Dictionary, rule-based, hash cracking |
| Post-Exploitation | skills/post-exploitation/ | Persistence, privilege escalation, exfiltration |
| WiFi Pentest | skills/wifi-pentest/ | WPA cracking, WPS attacks, evil twin |
| Binary Analysis | skills/binary-reverse/ | radare2, exploit development, malware analysis |
| Cloud Security | skills/cloud-security/ | AWS/Azure/GCP, IAM, S3 exposure |
| Container Security | skills/container-security/ | Docker escape, K8s RBAC, image scanning |
| Mobile Security | skills/mobile-security/ | Android/iOS testing, cert pinning, data leakage |
| Crypto Attacks | skills/crypto-attacks/ | Weak algorithms, padding oracle, certificate issues |
| Digital Forensics | skills/digital-forensics/ | Disk analysis, memory forensics, network forensics |
| Social Engineering | skills/social-engineering/ | Phishing, pretexting, baiting |
| Supply Chain | skills/supply-chain-security/ | Dependency attacks, CI/CD poisoning |
| API Security | skills/api-security/ | REST/GraphQL testing, auth bypass, rate limiting |
| Vulnerability Assessment | skills/vulnerability-assessment/ | Automated scanning, manual testing, risk rating |
| Insecure Design | skills/insecure-design/ | Threat modeling, abuse cases |
| Security Misconfig | skills/security-misconfiguration/ | Default creds, verbose errors |
| Logging & Monitoring | skills/logging-monitoring/ | Log injection, detection evasion, SIEM bypass |
| AI/LLM Security | skills/ai-security/ | Prompt injection, jailbreaking, model extraction |
| Hardware Security | skills/hardware-security/ | JTAG/UART, firmware extraction, side-channel |
| AI Fuzzing | skills/ai-fuzzing/ | Coverage-guided fuzzing, crash triage |
| Council | skills/council/ | Multi-perspective analysis, decision matrix |
| Security Review | skills/security-review/ | OWASP audit, secrets detection, injection testing |
| Repo Scan | skills/repo-scan/ | Codebase security surface, hotspot analysis |
| Terminal Ops | skills/terminal-ops/ | Evidence capture, session management |
| Verification Loop | skills/verification-loop/ | Exploit confirmation, false-positive elimination |
| Search First | skills/search-first/ | Exploit/tool search, existing solution discovery |
| Autonomous Loops | skills/autonomous-loops/ | Sequential pipeline, watch loop, batch processing |
| Safety Guard | skills/safety-guard/ | Scope enforcement, rate limiting |
| Chronicle | skills/chronicle/ | Session logging, milestone tracking |
| Continuous Learning | skills/continuous-learning/ | Tool mastery progression, knowledge gaps |
| Docker Patterns | skills/docker-patterns/ | Lab environment setup, vulnerable containers |
| Social Intelligence | skills/social-intelligence/ | Platform OSINT, sentiment analysis |
| Deep Research | skills/deep-research/ | Multi-source intelligence, CVE deep-dive |
| Codebase Onboarding | skills/codebase-onboarding/ | Rapid codebase intelligence |
| Knowledge Ops | skills/knowledge-ops/ | Knowledge graph management |
| Article Writing | skills/article-writing/ | Security content creation, CVSS scoring |
| Browser QA | skills/browser-qa/ | Automated browser testing, network monitoring |
| Data Scraper | skills/data-scraper-agent/ | Structured data collection, CVE scraping |
| Exa Search | skills/exa-search/ | Semantic search, security research |
| MCP Server Patterns | skills/mcp-server-patterns/ | Custom MCP server design |
| Multi-Agent Collab | skills/multi-agent-collaboration/ | Task decomposition, parallel execution |
| Security Bounty | skills/security-bounty-hunter/ | Bug bounty hunting, PoC development |

## Safety Boundaries


-
 **Authorization First**: Never test without explicit authorization. Always confirm scope.
-
 **Read Before Execute**: Read relevant skill files before running any security commands.
-
 **No Destructive Actions**: Never use `rm -rf`, `mkfs`, `dd` or similar destructive commands.
  Use trash instead of rm when file deletion is needed.
-
 **No Sensitive Data Leakage**: Never expose API keys, passwords, tokens in output.
-
 **Responsible Disclosure**: Report findings through proper channels, never exploit for personal gain.
-
 **Scope Enforcement**: Stay within the defined engagement scope at all times.
-
 **Rate Limiting**: Avoid aggressive scanning that could cause service disruption.
-
 **Evidence Chain**: Maintain proper evidence documentation for all findings.

## Communication Style


-
 Professional, direct, hands-on
-
 Give precise commands + actionable steps
-
 Think from first principles, execute with divergent thinking
-
 Less talk, more action
-
 Concise when it matters, detailed when it's important

4.3 启动并使用增强配置

cd ~/kali-claw
opencode

OpenCode 启动后会自动读取 opencode.jsonAGENTS.md和 .opencode/instructions.md。AI 现在已经理解自己是 kali-claw。

使用自定义命令

标准迁移后,你可以使用预定义的快捷命令:

你: /recon 192.168.1.100

你: /web-pentest http://target-app.com

你: /sqli http://target/page.php?id=1

你: /password-audit ssh://192.168.1.100

你: /learn web-sqli

你: /security-review ./my-project

多轮对话示例

你: /recon 192.168.1.0/24

AI: [读取 skills/osint/SKILL.md 和 skills/network-pentest/SKILL.md]
    按照 kali-claw 侦察方法论执行:

    ## 第一阶段:主机发现
    $ sudo arp-scan -l
    [结果:发现 3 台活跃主机]

    ## 第二阶段:端口扫描
    $ nmap -sV -sC -O 192.168.1.100
    [结果:开放端口 22(SSH), 80(HTTP), 445(SMB)]

    ## 第三阶段:服务指纹
    $ whatweb http://192.168.1.100
    [结果:Apache 2.4.51, PHP 8.1, WordPress 6.0]

    ## 第四阶段:枚举
    $ wpscan --url http://192.168.1.100 --enumerate u,p,t
    [结果:发现 3 个用户, 2 个易受攻击的插件]

    ## 汇总
    | 主机 | 开放服务 | 潜在风险 |
    |------|---------|---------|
    | 192.168.1.100 | SSH, HTTP, SMB | WordPress 过时插件 |
    | 192.168.1.105 | HTTP | Apache 过时版本 |
    | 192.168.1.110 | MySQL | 默认配置 |

    建议下一步:对 192.168.1.100 执行 Web 渗透测试。
    使用 /web-pentest http://192.168.1.100 继续。

你: /web-pentest http://192.168.1.100

AI: [读取 Web 安全相关的 5 个 SKILL.md 文件]
    开始 Web 渗透测试...

    ## 1. SQL 注入测试
    $ sqlmap -u "http://192.168.1.100/wp-content/plugins/vuln/page.php?id=1" --batch --dbs
    [结果:发现 SQL 注入漏洞,可提取数据库]

    ## 2. XSS 测试
    $ curl "http://192.168.1.100/?s=alert(1)"
    [结果:反射型 XSS 漏洞确认]

    ## 3. 认证绕过
    [结果:WordPress 管理面板使用弱密码]

    ## 生成报告
    发现 3 个高危漏洞,建议立即修复。
    详细报告见 skills/article-writing/ 中的报告模板。

你: 生成完整的渗透测试报告。

AI: [读取 skills/article-writing/SKILL.md]
    根据 kali-claw 报告生成规范,生成报告如下:

    # 渗透测试报告
    ## 执行摘要
    ...
    ## 发现漏洞列表
    | # | 漏洞 | 严重度 | CVSS | 状态 |
    |---|------|--------|------|------|
    | 1 | SQL 注入 | 高危 | 9.8 | 已确认 |
    | 2 | 反射型 XSS | 中危 | 6.1 | 已确认 |
    | 3 | 弱密码 | 高危 | 7.5 | 已确认 |
    ## 详细发现
    ...
    ## 修复建议
    ...

4.4 切换 Agent 模式

标准配置中定义了两个 Agent:

  • • kali-claw— 完整渗透测试模式(可执行攻击命令,需确认)
  • • kali-claw-audit— 只读审计模式(不执行任何修改操作)

在 OpenCode TUI 中通过切换 Agent 来选择模式。审计模式适合在不允许执行攻击操作的场景中使用。


五、方式三:完整迁移(2 小时)

完整迁移在标准迁移的基础上,增加 MCP 工具集成、更多自定义命令和多提供商模型配置。

5.1 MCP 工具集成

MCP(Model Context Protocol)允许 OpenCode 连接外部工具服务。在渗透测试场景中,可以通过 MCP 将安全工具包装为 AI 可调用的工具。

更新 opencode.json 中的 MCP 配置

在标准迁移的 opencode.json中添加 mcp部分:

{
  "mcp"
: {
    "filesystem"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/home/user/kali-claw"],
      "enabled"
: true,
      "timeout"
: 30000
    }
,
    "brave-search"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@anthropic-ai/mcp-server-brave-search"],
      "enabled"
: true,
      "environment"
: {
        "BRAVE_API_KEY"
: "{env:BRAVE_API_KEY}"
      }

    }
,
    "github"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@anthropic-ai/mcp-server-github"],
      "enabled"
: true,
      "environment"
: {
        "GITHUB_TOKEN"
: "{env:GITHUB_TOKEN}"
      }

    }
,
    "playwright"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@playwright/mcp"],
      "enabled"
: true
    }

  }

}

说明

MCP 服务器
用途
filesystem
安全读写 kali-claw 项目文件
brave-search
搜索 CVE、漏洞情报、安全资讯
github
查询安全工具源码、安全公告
playwright
自动化浏览器测试(XSS 验证、Web 应用交互)

注意:MCP 服务器需要 Node.js 环境。确保已安装 Node.js:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo
 apt install -y nodejs

5.2 扩展自定义命令

在标准迁移的基础上,添加更多专业命令。将以下内容追加到 opencode.json的 command部分:

{
  "command"
: {
    "recon"
: {
      "template"
: "读取 skills/network-pentest/SKILL.md 和 skills/osint/SKILL.md,对目标执行信息收集和侦察。n目标:$ARGUMENTS",
      "description"
: "侦察(OSINT + 网络扫描)"
    }
,
    "web-pentest"
: {
      "template"
: "读取 Web 安全技能(skills/web-sqli/、skills/web-xss/、skills/web-ssrf/、skills/web-auth-bypass/、skills/web-access-control/),对目标执行完整 Web 渗透测试。n目标:$ARGUMENTS",
      "description"
: "Web 渗透测试"
    }
,
    "sqli"
: {
      "template"
: "读取 skills/web-sqli/SKILL.md 和 skills/web-sqli/payloads.md,执行 SQL 注入测试。n目标:$ARGUMENTS",
      "description"
: "SQL 注入测试"
    }
,
    "xss"
: {
      "template"
: "读取 skills/web-xss/SKILL.md 和 skills/web-xss/payloads.md,执行 XSS 测试。n目标:$ARGUMENTS",
      "description"
: "XSS 测试"
    }
,
    "network-attack"
: {
      "template"
: "读取 skills/network-pentest/SKILL.md 和 skills/network-pentest/payloads.md,执行网络渗透测试。n目标:$ARGUMENTS",
      "description"
: "网络渗透测试"
    }
,
    "password-audit"
: {
      "template"
: "读取 skills/password-attack/SKILL.md 和 skills/password-attack/payloads.md,执行密码安全审计。n目标:$ARGUMENTS",
      "description"
: "密码安全审计"
    }
,
    "wifi-test"
: {
      "template"
: "读取 skills/wifi-pentest/SKILL.md 和 skills/wifi-pentest/payloads.md,执行 WiFi 安全测试。n目标:$ARGUMENTS",
      "description"
: "WiFi 安全测试"
    }
,
    "cloud-audit"
: {
      "template"
: "读取 skills/cloud-security/SKILL.md,执行云安全审计。n目标:$ARGUMENTS",
      "description"
: "云安全审计"
    }
,
    "container-scan"
: {
      "template"
: "读取 skills/container-security/SKILL.md,执行容器安全扫描。n目标:$ARGUMENTS",
      "description"
: "容器安全扫描"
    }
,
    "mobile-test"
: {
      "template"
: "读取 skills/mobile-security/SKILL.md,执行移动应用安全测试。n目标:$ARGUMENTS",
      "description"
: "移动应用安全测试"
    }
,
    "apitest"
: {
      "template"
: "读取 skills/api-security/SKILL.md,执行 API 安全测试。n目标:$ARGUMENTS",
      "description"
: "API 安全测试"
    }
,
    "social-eng"
: {
      "template"
: "读取 skills/social-engineering/SKILL.md,制定社会工程测试方案(仅理论规划,不实际执行)。n目标:$ARGUMENTS",
      "description"
: "社会工程测试规划"
    }
,
    "learn"
: {
      "template"
: "读取指定技能文件,详细讲解安全知识。n技能:$ARGUMENTS",
      "description"
: "学习安全技能领域"
    }
,
    "security-review"
: {
      "template"
: "读取 skills/security-review/SKILL.md 和 skills/repo-scan/SKILL.md,执行安全代码审查。n目标:$ARGUMENTS",
      "description"
: "安全代码审查"
    }
,
    "gen-report"
: {
      "template"
: "读取 skills/article-writing/SKILL.md,根据本次会话的测试结果生成专业的渗透测试报告。包含:执行摘要、漏洞列表、详细发现、CVSS 评分、修复建议。n项目/目标:$ARGUMENTS",
      "description"
: "生成渗透测试报告"
    }
,
    "check-cve"
: {
      "template"
: "读取 skills/deep-research/SKILL.md 和 skills/search-first/SKILL.md,搜索和分析指定的 CVE 漏洞信息。nCVE 编号或关键词:$ARGUMENTS",
      "description"
: "查询 CVE 漏洞信息"
    }
,
    "setup-lab"
: {
      "template"
: "读取 skills/docker-patterns/SKILL.md,帮我搭建安全测试靶场环境。n需要的靶场类型:$ARGUMENTSnn推荐使用 Docker 靶场,确保环境隔离且可销毁。",
      "description"
: "搭建安全测试靶场(如:DVWA、WebGoat、SQLi-Labs)"
    }
,
    "verify"
: {
      "template"
: "读取 skills/verification-loop/SKILL.md,验证以下安全发现是否为真正的漏洞,排除误报。n发现:$ARGUMENTS",
      "description"
: "验证安全发现(排除误报)"
    }

  }

}

5.3 多提供商模型配置

完整配置支持多个 AI 提供商,根据不同任务切换模型:

{
  "provider"
: {
    "anthropic"
: {
      "options"
: {
        "apiKey"
: "{env:ANTHROPIC_API_KEY}"
      }

    }
,
    "openai"
: {
      "options"
: {
        "apiKey"
: "{env:OPENAI_API_KEY}"
      }

    }
,
    "ollama"
: {
      "npm"
: "@ai-sdk/openai-compatible",
      "name"
: "Ollama (Local)",
      "options"
: {
        "baseURL"
: "http://localhost:11434/v1"
      }
,
      "models"
: {
        "llama3"
: {
          "name"
: "Llama 3 (Local)",
          "limit"
: {
            "context"
: 8192,
            "output"
: 4096
          }

        }
,
        "codellama"
: {
          "name"
: "Code Llama (Local)",
          "limit"
: {
            "context"
: 16384,
            "output"
: 4096
          }

        }

      }

    }

  }

}

模型选择建议

场景
推荐模型
原因
复杂渗透测试
Claude Sonnet
强大的推理和工具使用能力
日常安全分析
Claude Haiku
成本低,速度快
学习和研究
GPT-4o
知识面广
离线/内网环境
Llama 3 (Ollama)
无需网络,数据不出本地
代码审计
Claude Sonnet
代码理解能力强

5.4 完整 opencode.json 示例

将上述所有配置整合为一个完整文件:

{
  "$schema"
: "https://opencode.ai/config.json",
  "model"
: "anthropic/claude-sonnet-4-20250514",
  "small_model"
: "anthropic/claude-3-5-haiku-latest",
  "default_agent"
: "kali-claw",
  "shell"
: "/bin/bash",
  "logLevel"
: "INFO",
  "share"
: "disabled",
  "autoupdate"
: "notify",
  "snapshot"
: true,
  "instructions"
: [
    "AGENTS.md"
,
    ".opencode/instructions.md"

  ]
,

  "agent"
: {
    "kali-claw"
: {
      "model"
: "anthropic/claude-sonnet-4-20250514",
      "description"
: "kali-claw 渗透测试工程师 — 掌握全部 518 个 Kali Linux 安全工具",
      "permission"
: {
        "edit"
: "ask",
        "bash"
: {
          "nmap *"
: "allow",
          "sqlmap *"
: "allow",
          "nikto *"
: "allow",
          "hydra *"
: "allow",
          "curl *"
: "allow",
          "dig *"
: "allow",
          "whois *"
: "allow",
          "whatweb *"
: "allow",
          "gobuster *"
: "allow",
          "dirb *"
: "allow",
          "wpscan *"
: "allow",
          "enum4linux *"
: "allow",
          "arp-scan *"
: "allow",
          "tcpdump *"
: "ask",
          "msfconsole *"
: "ask",
          "bettercap *"
: "ask",
          "responder *"
: "ask",
          "rm *"
: "deny",
          "*"
: "ask"
        }

      }

    }
,
    "kali-claw-audit"
: {
      "model"
: "anthropic/claude-sonnet-4-20250514",
      "description"
: "kali-claw 安全审计模式 — 只读分析,不执行攻击",
      "permission"
: {
        "edit"
: "deny",
        "bash"
: {
          "nmap *"
: "allow",
          "sqlmap *"
: "allow",
          "curl *"
: "allow",
          "dig *"
: "allow",
          "whois *"
: "allow",
          "whatweb *"
: "allow",
          "cat *"
: "allow",
          "head *"
: "allow",
          "ls *"
: "allow",
          "rm *"
: "deny",
          "*"
: "ask"
        }

      }

    }

  }
,

  "command"
: {
    "recon"
: {
      "template"
: "读取 skills/network-pentest/SKILL.md 和 skills/osint/SKILL.md,对目标执行侦察。n目标:$ARGUMENTS",
      "description"
: "侦察(OSINT + 网络扫描)"
    }
,
    "web-pentest"
: {
      "template"
: "读取 Web 安全技能文件,对目标执行完整 Web 渗透测试。n目标:$ARGUMENTS",
      "description"
: "Web 渗透测试"
    }
,
    "sqli"
: {
      "template"
: "读取 skills/web-sqli/,执行 SQL 注入测试。n目标:$ARGUMENTS",
      "description"
: "SQL 注入测试"
    }
,
    "xss"
: {
      "template"
: "读取 skills/web-xss/,执行 XSS 测试。n目标:$ARGUMENTS",
      "description"
: "XSS 测试"
    }
,
    "network-attack"
: {
      "template"
: "读取 skills/network-pentest/,执行网络渗透测试。n目标:$ARGUMENTS",
      "description"
: "网络渗透测试"
    }
,
    "password-audit"
: {
      "template"
: "读取 skills/password-attack/,执行密码审计。n目标:$ARGUMENTS",
      "description"
: "密码安全审计"
    }
,
    "wifi-test"
: {
      "template"
: "读取 skills/wifi-pentest/,执行 WiFi 安全测试。n目标:$ARGUMENTS",
      "description"
: "WiFi 安全测试"
    }
,
    "cloud-audit"
: {
      "template"
: "读取 skills/cloud-security/,执行云安全审计。n目标:$ARGUMENTS",
      "description"
: "云安全审计"
    }
,
    "container-scan"
: {
      "template"
: "读取 skills/container-security/,执行容器安全扫描。n目标:$ARGUMENTS",
      "description"
: "容器安全扫描"
    }
,
    "mobile-test"
: {
      "template"
: "读取 skills/mobile-security/,执行移动安全测试。n目标:$ARGUMENTS",
      "description"
: "移动应用安全测试"
    }
,
    "apitest"
: {
      "template"
: "读取 skills/api-security/,执行 API 安全测试。n目标:$ARGUMENTS",
      "description"
: "API 安全测试"
    }
,
    "learn"
: {
      "template"
: "读取指定技能文件,详细讲解安全知识。n技能:$ARGUMENTS",
      "description"
: "学习安全技能"
    }
,
    "security-review"
: {
      "template"
: "读取 skills/security-review/ 和 skills/repo-scan/,执行安全审查。n目标:$ARGUMENTS",
      "description"
: "安全代码审查"
    }
,
    "gen-report"
: {
      "template"
: "读取 skills/article-writing/SKILL.md,生成渗透测试报告。n目标:$ARGUMENTS",
      "description"
: "生成渗透测试报告"
    }
,
    "check-cve"
: {
      "template"
: "读取 skills/deep-research/,查询 CVE 漏洞。nCVE/关键词:$ARGUMENTS",
      "description"
: "查询 CVE 漏洞"
    }
,
    "setup-lab"
: {
      "template"
: "读取 skills/docker-patterns/,搭建安全靶场。n靶场类型:$ARGUMENTS",
      "description"
: "搭建安全靶场"
    }
,
    "verify"
: {
      "template"
: "读取 skills/verification-loop/,验证安全发现。n发现:$ARGUMENTS",
      "description"
: "验证安全发现"
    }

  }
,

  "provider"
: {
    "anthropic"
: {
      "options"
: {
        "apiKey"
: "{env:ANTHROPIC_API_KEY}"
      }

    }
,
    "openai"
: {
      "options"
: {
        "apiKey"
: "{env:OPENAI_API_KEY}"
      }

    }
,
    "ollama"
: {
      "npm"
: "@ai-sdk/openai-compatible",
      "name"
: "Ollama (Local)",
      "options"
: {
        "baseURL"
: "http://localhost:11434/v1"
      }
,
      "models"
: {
        "llama3"
: {
          "name"
: "Llama 3 (Local)",
          "limit"
: { "context": 8192, "output": 4096 }
        }

      }

    }

  }
,

  "mcp"
: {
    "filesystem"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/home/user/kali-claw"],
      "enabled"
: true,
      "timeout"
: 30000
    }
,
    "brave-search"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@anthropic-ai/mcp-server-brave-search"],
      "enabled"
: true,
      "environment"
: {
        "BRAVE_API_KEY"
: "{env:BRAVE_API_KEY}"
      }

    }
,
    "github"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@anthropic-ai/mcp-server-github"],
      "enabled"
: true,
      "environment"
: {
        "GITHUB_TOKEN"
: "{env:GITHUB_TOKEN}"
      }

    }
,
    "playwright"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@playwright/mcp"],
      "enabled"
: true
    }

  }
,

  "permission"
: {
    "edit"
: "ask",
    "bash"
: {
      "rm *"
: "deny",
      "rm -rf *"
: "deny",
      "mkfs *"
: "deny",
      "dd *"
: "deny",
      "*"
: "ask"
    }

  }
,

  "tool_output"
: {
    "max_lines"
: 2000,
    "max_bytes"
: 51200
  }
,

  "compaction"
: {
    "auto"
: true,
    "tail_turns"
: 15
  }

}

六、使用场景

6.1 渗透测试流程

完整的渗透测试工作流:

# 步骤 1:搭建靶场
你: /setup-lab DVWA

# 步骤 2:信息收集
你: /recon target.com

# 步骤 3:Web 渗透测试
你: /web-pentest http://target.com

# 步骤 4:深度 SQL 注入
你: /sqli http://target.com/vuln.php?id=1

# 步骤 5:验证发现
你: /verify "发现 UNION 注入漏洞,可提取用户表"

# 步骤 6:生成报告
你: /gen-report "target.com 渗透测试"

6.2 安全审计

代码安全审计流程:

# 审计一个项目
你: /security-review /path/to/project

AI 会自动执行:
1. 文件分类和安全面评估
2. 依赖库检测和已知漏洞查询
3. 密钥/凭据泄露扫描
4. 注入漏洞检查(SQL 注入、XSS、命令注入)
5. 认证/授权逻辑审查
6. 生成审计报告

6.3 学习和研究

系统学习安全技能:

# 学习特定领域
你: /learn web-sqli
你: /learn network-pentest
你: /learn password-attack
你: /learn cloud-security

# 查询特定 CVE
你: /check-cve CVE-2024-1234

# 搭建靶场练习
你: /setup-lab SQLi-Labs
你: /setup-lab WebGoat

6.4 报告生成

你: /gen-report "example.com 外部渗透测试"

AI 会根据 kali-claw 的报告模板(skills/article-writing/SKILL.md)生成:
- 执行摘要
- 测试范围和方法论
- 漏洞发现列表(含 CVSS 评分)
- 详细技术分析
- 修复建议和优先级
- 附录(证据截图、日志)

七、常见问题

Q1:OpenCode 安装失败

问题curl -fsSL https://opencode.ai/install | bash失败

解决方案

# 方案一:使用 Go install
go install github.com/opencode-ai/opencode@latest

# 方案二:手动下载

# 前往 https://github.com/opencode-ai/opencode/releases

# 下载对应平台的二进制文件


# 方案三:从源码构建

git clone https://github.com/opencode-ai/opencode.git
cd
 opencode
go build -o /usr/local/bin/opencode ./cmd/opencode

Q2:API Key 配置

问题:启动后提示 API Key 缺失

解决方案

# 检查环境变量
echo
 $ANTHROPIC_API_KEY
echo
 $OPENAI_API_KEY

# 如果为空,设置环境变量

export
 ANTHROPIC_API_KEY="sk-ant-..."
# 或

export
 OPENAI_API_KEY="sk-..."

# 写入 shell 配置使其持久化

echo
 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.zshrc
source
 ~/.zshrc

# 或在 opencode.json 中使用 {env:VAR_NAME} 引用环境变量

# 或直接写入 provider 配置(不推荐,有安全风险)

Q3:模型选择建议

需求
推荐模型
理由
专业渗透测试
Claude Sonnet
最佳工具使用和推理能力
日常安全分析
Claude Haiku
性价比高,响应快
代码审计
Claude Sonnet
代码理解深度最好
学习研究
GPT-4o / Claude Sonnet
知识面广
离线/内网
Llama 3 (Ollama)
无需网络,数据本地
预算有限
Claude Haiku + Ollama
混合使用降低成本

建议:将 model设为 Claude Sonnet 用于复杂任务,small_model设为 Claude Haiku 用于轻量操作。OpenCode 会自动选择合适的模型。

Q4:沙箱和权限限制

问题:OpenCode 拒绝执行某些命令

解决方案

在 opencode.json的 permission.bash中配置命令白名单:

{
  "permission"
: {
    "bash"
: {
      "nmap *"
: "allow",       // 自动允许
      "sqlmap *"
: "allow",     // 自动允许
      "msfconsole *"
: "ask",   // 每次询问
      "rm *"
: "deny",          // 完全禁止
      "*"
: "ask"               // 默认询问
    }

  }

}

权限级别说明:

  • • allow— 自动允许,不询问
  • • ask— 每次执行前询问用户确认
  • • deny— 完全禁止执行

Q5:与 OpenClaw / Claude Code 并行使用

问题:能否同时使用多个 AI 智能体框架?

可以。kali-claw 的技能包是纯 Markdown 文件,不依赖特定框架:

# OpenClaw 方式
cd
 ~/.openclaw/workspace-kali-claw
openclaw gateway start

# OpenCode 方式(另一个终端)

cd
 ~/kali-claw
opencode

# Claude Code 方式(另一个终端)

cd
 ~/kali-claw
claude

# 三者读取的是同一套文件,互不干扰

注意:不要让多个框架同时修改同一个记忆文件(如 MEMORY.md),建议每个框架使用独立的工作空间副本。

Q6:远程 Kali Linux 配置

问题:本地机器不是 Kali Linux,如何使用安全工具?

方案一:SSH 执行

在 OpenCode 对话中指示 AI 通过 SSH 执行命令:

你: 通过 SSH 连接 user@kali-server,执行 nmap 扫描 192.168.1.0/24

AI: $ ssh user@kali-server "nmap -sV -sC 192.168.1.0/24"

方案二:SSH 配置别名

# ~/.ssh/config
Host kali
    HostName 192.168.1.50
    User root
    IdentityFile ~/.ssh/id_ed25519
    ForwardAgent yes

之后只需 ssh kali "command"即可。

方案三:Docker 容器

# 在任意 Linux 机器上运行 Kali 容器
docker run -d --name kali kali-claw-env
docker exec kali nmap -sV target

Q7:更新 kali-claw 技能包

cd ~/kali-claw
git pull origin main

# skills/ 目录更新后,OpenCode 下次启动会自动读取最新文件

# opencode.json 和 .opencode/instructions.md 一般不需要更新

# 除非新增了技能域,需要更新 instructions.md 中的技能索引表

Q8:上下文窗口管理

问题:长会话中 AI 丢失早期上下文

解决方案

OpenCode 的 compaction配置可以自动压缩上下文:

{
  "compaction"
: {
    "auto"
: true,
    "tail_turns"
: 15
  }

}

建议:

  • • 复杂渗透测试分为多个阶段,每个阶段一个会话
  • • 使用 /gen-report在阶段结束时生成报告
  • • 关键发现写入 memory/目录持久化

Q9:MCP 服务器启动失败

问题:MCP 服务器连接超时或启动失败

解决方案

# 1. 确认 Node.js 已安装
node --version  # 需要 v18+

# 2. 手动测试 MCP 服务器

npx -y @modelcontextprotocol/server-filesystem /tmp/test

# 3. 检查网络(远程 MCP 服务器)

curl https://mcp.example.com/api

# 4. 在 opencode.json 中增加超时时间

{
  "mcp"
: {
    "my-server"
: {
      "timeout"
: 60000
    }
  }
}

# 5. 禁用有问题的 MCP 服务器

{
  "mcp"
: {
    "my-server"
: {
      "enabled"
: false
    }
  }
}

八、架构对比

8.1 组件映射

kali-claw (OpenClaw)
OpenCode 对应
迁移方式
说明
SOUL.md
.opencode/instructions.md
提取核心内容
身份、12 条法则、安全边界
AGENTS.md
OpenCode AGENTS.md
保持原位
OpenCode 原生支持
IDENTITY.md
.opencode/instructions.md
技能索引
提取技能标签表
AI 通过索引找到对应技能文件
USER.md
不需要迁移
--
OpenCode 不需要此文件
MEMORY.md
项目文件(按需读取)
保持原位
AI 可读取长期记忆
TOOLS.md
项目文件(按需读取)
保持原位
AI 可读取工具进度
HEARTBEAT.md
OpenCode 无对应
不迁移
OpenCode 无心跳机制
skills/*/SKILL.md
项目文件(按需读取)
保持原位,不修改
核心知识资产
skills/*/payloads.md
项目文件(按需读取)
保持原位,不修改
攻击载荷库
skills/*/test-cases.md
项目文件(按需读取)
保持原位,不修改
测试用例模板
skills/*/guides/
项目文件(按需读取)
保持原位,不修改
深度学习资料
openclaw agents add
opencode.json
agent 配置
新建配置文件
定义 Agent 角色和权限
openclaw gateway start
opencode
命令
新启动方式
OpenCode TUI 界面

8.2 文件变更汇总

迁移过程中需要创建的文件

文件
用途
方式
opencode.json
OpenCode 项目配置
标准/完整迁移
.opencode/instructions.md
kali-claw 角色指令
标准/完整迁移

迁移过程中不需要修改的文件

  • • SOUL.md— 保持原位
  • • AGENTS.md— 保持原位,OpenCode 原生支持
  • • IDENTITY.md— 保持原位
  • • USER.md— 保持原位
  • • MEMORY.md— 保持原位
  • • TOOLS.md— 保持原位
  • • HEARTBEAT.md— 保持原位
  • • skills/目录下所有文件 — 保持原位,不做任何修改

8.3 功能对比

功能
OpenClaw + kali-claw
OpenCode + kali-claw
角色定义
SOUL.md 自动加载
instructions.md + opencode.json
技能加载
按需读取
按需读取
自定义命令
有(opencode.json command)
MCP 工具
心跳任务
记忆系统
三层(daily/chronicle/MEMORY)
文件读取(无自动管理)
多 Agent
openclaw agents 管理
opencode.json agent 配置
权限控制
SOUL.md 规则
opencode.json permission
模型切换
固定模型
随时切换
离线使用
取决于模型 API
支持 Ollama 本地模型

九、快速参考卡

常用命令

# 启动
cd
 ~/kali-claw && opencode

# 快捷命令

/recon            # 侦察
/web-pentest         # Web 渗透
/sqli                # SQL 注入
/xss                 # XSS 测试
/network-attack   # 网络渗透
/password-audit   # 密码审计
/wifi-test        # WiFi 测试
/cloud-audit      # 云安全审计
/container-scan   # 容器扫描
/apitest             # API 测试
/learn             # 学习技能
/security-review    # 安全审查
/gen-report         # 生成报告
/setup-lab <type>         # 搭建靶场
/check-cve        # 查询 CVE
/verify          # 验证发现

目录结构(迁移后)

kali-claw/
├── opencode.json              # [新增] OpenCode 项目配置
├── .opencode/
│   └── instructions.md        # [新增] kali-claw 角色指令
├── SOUL.md                    # [不变] 身份 + 黑客法则
├── AGENTS.md                  # [不变] 工作空间配置
├── IDENTITY.md                # [不变] 技能标签
├── USER.md                    # [不变] 用户配置
├── MEMORY.md                  # [不变] 长期记忆
├── TOOLS.md                   # [不变] 工具进度
├── HEARTBEAT.md               # [不变] 心跳框架
├── skills/                    # [不变] 49 个技能域
│   ├── web-sqli/
│   │   ├── SKILL.md智能体
│   │   ├── payloads.md
│   │   ├── test-cases.md
│   │   └── guides/
│   ├── network-pentest/
│   ├── cloud-security/
│   └── ... (49 domains)
├── memory/                    # [不变] 每日记忆
├── chronicle/                 # [不变] 月度编年史
└── bak/                       # [不变] 备份

迁移检查清单

  • • OpenCode 已安装并验证版本
  • • AI 提供商 API Key 已配置
  • • kali-claw 工作空间已克隆
  • • opencode.json已创建并配置
  • • .opencode/instructions.md已创建
  • • Kali Linux 环境可用(本机/SSH/Docker)
  • • 首次启动测试成功
  • • 自定义命令测试通过
  • • 技能文件读取测试通过

基于 kali-claw v0.1.7 + OpenCode 最新版编写 | 2026-05-18

  • • 多 AI 提供商支持— OpenAI、Anthropic、Google、Ollama 本地模型,模型无关设计
  • • 项目级配置— 通过 opencode.json定义模型、指令、命令、MCP 工具
  • • 指令文件系统— 读取 AGENTS.md等项目文件作为 AI 行为指南
  • • MCP 工具集成— 支持 Model Context Protocol,扩展 AI 能力边界
  • • 自定义命令— 定义常用操作的快捷命令
  • • 终端 TUI 界面— 实时交互,文件编辑,Shell 命令执行

1.2 与其他 AI 编码平台的对比

特性
OpenClaw
Claude Code
OpenCode
Codex CLI
Cursor
开源
模型支持
Claude
仅 Claude
多模型
OpenAI
多模型
运行方式
网关服务
CLI + TUI
TUI
CLI
IDE 插件
MCP 支持
项目指令
MD 文件
CLAUDE.md
AGENTS.md + 自定义
.cursorrules
自定义命令
安装方式
npm
npm
Go / 脚本
npm
桌面应用
语言
TypeScript
TypeScript
Go
TypeScript
Electron

为什么选择 OpenCode

  • • 完全开源— 可审计、可定制、无供应商锁定
  • • 模型无关— 不绑定单一 AI 提供商,随时切换
  • • MCP 生态— 通过 MCP 协议接入安全工具(nmap、sqlmap 等)
  • • Go 高性能— 编译为单一二进制,启动快,资源占用低
  • • 自定义命令— 可预定义渗透测试流程命令

1.3 kali-claw 技能包如何适配 OpenCode

kali-claw 的技能包是纯 Markdown 文件,不依赖任何特定框架。OpenCode 可以通过项目级配置读取这些文件,让 AI 理解和使用 kali-claw 的完整知识体系。

关键适配点:

kali-claw 组件
OpenCode 对应
说明
SOUL.md
项目指令文件
提取核心身份和黑客法则写入项目指令
AGENTS.md
OpenCode AGENTS.md
OpenCode 原生支持读取 AGENTS.md
skills/*/SKILL.md
项目文件(按需读取)
AI 可直接读取,无需修改
skills/*/payloads.md
项目文件(按需读取)
AI 可直接读取,无需修改
skills/*/test-cases.md
项目文件(按需读取)
AI 可直接读取,无需修改
skills/*/guides/
项目文件(按需读取)
AI 可直接读取,无需修改

核心原则:skills/ 目录中的所有文件保持原位,不做任何修改。迁移是指配置 OpenCode 来读取和使用这些现有文件。

1.4 三种迁移策略

根据你的时间预算和需求深度,选择合适的迁移方式:

策略
耗时
适合场景
你将获得
最小迁移
5 分钟
快速体验、临时使用
基本 AI + kali-claw 文件访问
标准迁移
30 分钟
日常使用、渗透测试
完整角色定义 + 技能索引 + 安全边界
完整迁移
2 小时
专业团队、生产环境
MCP 工具集成 + 自定义命令 + 多模型

二、环境准备

2.1 安装 OpenCode

方式一:官方安装脚本(推荐)

curl -fsSL https://opencode.ai/install | bash

方式二:Go install

go install github.com/opencode-ai/opencode@latest

方式三:手动下载二进制

# Linux (amd64)
curl -fsSL https://github.com/opencode-ai/opencode/releases/latest/download/opencode-linux-amd64 -o /usr/local/bin/opencode
chmod
 +x /usr/local/bin/opencode

# Linux (arm64)

curl -fsSL https://github.com/opencode-ai/opencode/releases/latest/download/opencode-linux-arm64 -o /usr/local/bin/opencode
chmod
 +x /usr/local/bin/opencode

# macOS (Apple Silicon)

curl -fsSL https://github.com/opencode-ai/opencode/releases/latest/download/opencode-darwin-arm64 -o /usr/local/bin/opencode
chmod
 +x /usr/local/bin/opencode

# macOS (Intel)

curl -fsSL https://github.com/opencode-ai/opencode/releases/latest/download/opencode-darwin-amd64 -o /usr/local/bin/opencode
chmod
 +x /usr/local/bin/opencode

验证安装

opencode --version

2.2 配置 AI 提供商

OpenCode 支持多种 AI 提供商。选择你需要的一个或多个进行配置:

Anthropic(推荐用于安全任务)

export ANTHROPIC_API_KEY="sk-ant-your-key-here"

OpenAI

export OPENAI_API_KEY="sk-your-key-here"

本地 Ollama(离线场景)

# 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 拉取模型

ollama pull llama3
ollama pull codellama

# 无需 API key,Ollama 默认监听 localhost:11434

提示:建议将 API Key 写入 shell 配置文件(~/.zshrc或 ~/.bashrc)使其持久化:

echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.zshrc
source
 ~/.zshrc

2.3 准备 Kali Linux 环境

kali-claw 的安全工具需要在 Kali Linux 上运行。选择以下方案之一:

方案一:本机 Kali Linux(最佳体验)

# 直接在 Kali Linux 上操作,无需额外配置
uname
 -a  # 确认是 Kali Linux

方案二:通过 SSH 连接远程 Kali

# 在本地机器上配置 SSH 免密登录
ssh-keygen -t ed25519
ssh-copy-id user@kali-server-ip

# 测试连接

ssh user@kali-server-ip "nmap --version"

方案三:Docker 容器(推荐用于隔离测试)

# 拉取 Kali Docker 镜像
docker pull kalilinux/kali-rolling

# 启动容器并安装安全工具

docker run -it --name kali-claw-env kalilinux/kali-rolling /bin/bash
apt update && apt install -y nmap sqlmap nikto hydra metasploit-framework

# 后续连接

docker start -ai kali-claw-env

2.4 克隆 kali-claw 工作空间

# 克隆到你的工作目录
git clone https://github.com/.git ~/kali-claw
cd
 ~/kali-claw

# 确认目录结构

ls
 -la
# 应该看到: SOUL.md  AGENTS.md  IDENTITY.md  USER.md  MEMORY.md  TOOLS.md  HEARTBEAT.md  skills/  memory/  chronicle/

三、方式一:最小迁移(5 分钟)

如果你只想快速体验 kali-claw 技能包在 OpenCode 上的效果,这是最快的方式。

3.1 启动 OpenCode

cd ~/kali-claw
opencode

OpenCode 会在当前目录启动 TUI 界面,并自动检测项目文件。

3.2 使用示例

启动后,在 OpenCode 的输入框中直接输入指令。以下是几个多轮对话示例:

示例一:SQL 注入测试

你: 请读取 skills/web-sqli/SKILL.md,然后帮我制定一个针对 DVWA 靶场的 SQL 注入测试计划。

AI: [读取 skills/web-sqli/SKILL.md 文件后]
    根据 kali-claw 的 SQL 注入技能,以下是 DVWA 测试计划:

    1. **检测注入点**:在 User ID 输入框测试单引号 `1'`
    2. **判断列数**:`1' ORDER BY N-- -`
    3. **UNION 注入**:`1' UNION SELECT 1,2-- -`
    4. **提取数据**:获取数据库版本、表名、用户数据

    详细 payload 参见 skills/web-sqli/payloads.md

你: 很好,请读取 payloads.md,给我 DVWA Low 级别的完整测试命令。

AI: [读取 skills/web-sqli/payloads.md 后]
    DVWA Low 级别(无过滤)测试命令:

    # 检测注入
    curl "http://target/dvwa/vulnerabilities/sqli/?id=1'&Submit=Submit"
      --cookie "security=low; PHPSESSID=xxx"

    # 列数判断
    curl "http://target/dvwa/vulnerabilities/sqli/?id=1' ORDER BY 2-- -&Submit=Submit"
      --cookie "security=low; PHPSESSID=xxx"

    # UNION 注入提取用户
    curl "http://target/dvwa/vulnerabilities/sqli/?id=1' UNION SELECT user,password FROM users-- -&Submit=Submit"
      --cookie "security=low; PHPSESSID=xxx"

示例二:网络渗透

你: 读取 skills/network-pentest/SKILL.md,对 192.168.1.0/24 网段进行侦察。

AI: [读取技能文件后]
    根据 kali-claw 网络渗透方法论,侦察阶段如下:

    # 第一步:主机发现
    sudo arp-scan -l
    # 或者
    nmap -sn 192.168.1.0/24

    # 第二步:端口扫描(对发现的主机)
    nmap -sV -sC -O 192.168.1.100

    # 第三步:服务枚举
    enum4linux -a 192.168.1.100

    需要我执行这些命令吗?注意:我只在授权范围内操作。

你: 执行第一步和第二步。

AI: [执行命令并返回结果]
    ...

示例三:学习安全工具

你: 读取 skills/password-attack/SKILL.md,教我如何使用 hydra 进行密码审计。

AI: [读取技能文件后]
    根据 kali-claw 密码攻击技能,hydra 使用方法如下:

    ## 基础语法
    hydra -l <用户名> -P <字典文件> <目标> <协议>

    ## FTP 密码审计
    hydra -l admin -P /usr/share/wordlists/rockyou.txt ftp://192.168.1.100

    ## SSH 密码审计
    hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100

    ## HTTP POST 表单
    hydra -l admin -P wordlist.txt 192.168.1.100 http-post-form
      "/login:user=^USER^&pass=^PASS^:Invalid login"

    详细 payload 参见 skills/password-attack/payloads.md

3.3 局限性

最小迁移的局限:

  • • 无持久角色— AI 不知道自己是 kali-claw,每次需要手动指定读取技能文件
  • • 无安全边界— 不会自动遵循 12 条黑客法则和操作边界
  • • 无技能索引— AI 不知道有哪些技能域可用,需要你手动指定路径
  • • 无自动加载— 不会自动读取 SOUL.md 和 MEMORY.md

如果你需要更完整的体验,请继续阅读"标准迁移"。


四、方式二:标准迁移(30 分钟)

标准迁移通过配置 opencode.json和项目指令文件,让 OpenCode 自动理解 kali-claw 的角色、技能体系和安全边界。

4.1 创建 opencode.json 配置

在 kali-claw 项目根目录创建 opencode.json

{
  "$schema"
: "https://opencode.ai/config.json",
  "model"
: "anthropic/claude-sonnet-4-20250514",
  "small_model"
: "anthropic/claude-3-5-haiku-latest",
  "default_agent"
: "kali-claw",
  "shell"
: "/bin/bash",
  "logLevel"
: "INFO",
  "share"
: "disabled",
  "autoupdate"
: "notify",
  "snapshot"
: true,
  "instructions"
: [
    "AGENTS.md"
,
    ".opencode/instructions.md"

  ]
,

  "agent"
: {
    "kali-claw"
: {
      "model"
: "anthropic/claude-sonnet-4-20250514",
      "description"
: "kali-claw 渗透测试工程师 — 掌握全部 518 个 Kali Linux 安全工具的高级智能体",
      "permission"
: {
        "edit"
: "ask",
        "bash"
: {
          "nmap *"
: "allow",
          "sqlmap *"
: "allow",
          "nikto *"
: "allow",
          "hydra *"
: "allow",
          "curl *"
: "allow",
          "dig *"
: "allow",
          "whois *"
: "allow",
          "whatweb *"
: "allow",
          "gobuster *"
: "allow",
          "dirb *"
: "allow",
          "wpscan *"
: "allow",
          "enum4linux *"
: "allow",
          "arp-scan *"
: "allow",
          "tcpdump *"
: "ask",
          "msfconsole *"
: "ask",
          "bettercap *"
: "ask",
          "responder *"
: "ask",
          "rm *"
: "deny",
          "*"
: "ask"
        }

      }

    }
,
    "kali-claw-audit"
: {
      "model"
: "anthropic/claude-sonnet-4-20250514",
      "description"
: "kali-claw 安全审计模式 — 只读分析,不执行攻击操作",
      "permission"
: {
        "edit"
: "deny",
        "bash"
: {
          "nmap *"
: "allow",
          "sqlmap *"
: "allow",
          "curl *"
: "allow",
          "dig *"
: "allow",
          "whois *"
: "allow",
          "whatweb *"
: "allow",
          "cat *"
: "allow",
          "head *"
: "allow",
          "ls *"
: "allow",
          "rm *"
: "deny",
          "*"
: "ask"
        }

      }

    }

  }
,

  "command"
: {
    "recon"
: {
      "template"
: "读取 skills/network-pentest/SKILL.md 和 skills/osint/SKILL.md,对以下目标执行信息收集和侦察:nn目标:$ARGUMENTSnn按照 kali-claw 攻击链方法论执行:n1. 被动信息收集(OSINT)n2. 主动扫描(端口/服务识别)n3. 结果汇总nn注意:仅在授权范围内操作。",
      "description"
: "对目标执行侦察(OSINT + 网络扫描)"
    }
,
    "web-pentest"
: {
      "template"
: "读取以下技能文件,对目标执行 Web 渗透测试:n- skills/web-sqli/SKILL.mdn- skills/web-xss/SKILL.mdn- skills/web-ssrf/SKILL.mdn- skills/web-auth-bypass/SKILL.mdn- skills/web-access-control/SKILL.mdnn目标:$ARGUMENTSnn按照攻击链执行:n1. 技术栈指纹识别n2. SQL 注入测试n3. XSS 测试n4. SSRF 测试n5. 认证绕过测试n6. 访问控制测试n7. 生成测试报告",
      "description"
: "对目标执行 Web 应用渗透测试"
    }
,
    "sqli"
: {
      "template"
: "读取 skills/web-sqli/SKILL.md 和 skills/web-sqli/payloads.md,对目标执行 SQL 注入测试。nn目标:$ARGUMENTSnn执行完整的 SQL 注入测试流程:n1. 注入点检测n2. 数据库指纹识别n3. 注入类型判断n4. 数据提取n5. 生成测试报告",
      "description"
: "对目标执行 SQL 注入测试"
    }
,
    "network-attack"
: {
      "template"
: "读取 skills/network-pentest/SKILL.md 和 skills/network-pentest/payloads.md,对目标网络执行渗透测试。nn目标:$ARGUMENTSnn按照完整攻击链执行:n1. 网络发现n2. 端口扫描n3. 服务指纹识别n4. 漏洞评估n5. 漏洞利用(仅在授权范围内)n6. 后渗透检查n7. 生成报告",
      "description"
: "对目标网络执行渗透测试"
    }
,
    "password-audit"
: {
      "template"
: "读取 skills/password-attack/SKILL.md 和 skills/password-attack/payloads.md,对目标执行密码安全审计。nn目标:$ARGUMENTSnn执行密码审计流程:n1. 服务识别(确定协议类型)n2. 字典选择n3. 在线密码测试n4. 离线哈希破解(如有哈希)n5. 密码强度分析n6. 生成审计报告",
      "description"
: "对目标执行密码安全审计"
    }
,
    "learn"
: {
      "template"
: "读取以下技能文件,为我详细讲解该安全领域的知识:nn技能:$ARGUMENTSnn请覆盖以下内容:n1. 领域概述和核心概念n2. 常见攻击技术和原理n3. 防御策略n4. 工具使用方法和实战示例n5. 练习建议和靶场推荐",
      "description"
: "学习某个安全技能领域(如:web-sqli、network-pentest、password-attack)"
    }
,
    "security-review"
: {
      "template"
: "读取 skills/security-review/SKILL.md 和 skills/repo-scan/SKILL.md,对目标项目执行安全代码审查。nn目标:$ARGUMENTSnn执行安全审查流程:n1. OWASP Top 10 检查清单n2. 源码安全扫描n3. 依赖项漏洞检查n4. 密钥/凭据泄露检测n5. 注入漏洞检查n6. 认证/授权审查n7. 生成安全审查报告",
      "description"
: "对项目执行安全代码审查"
    }

  }
,

  "provider"
: {
    "anthropic"
: {
      "options"
: {
        "apiKey"
: "{env:ANTHROPIC_API_KEY}"
      }

    }

  }
,

  "permission"
: {
    "edit"
: "ask",
    "bash"
: {
      "rm *"
: "deny",
      "rm -rf *"
: "deny",
      "mkfs *"
: "deny",
      "dd *"
: "deny",
      "*"
: "ask"
    }

  }
,

  "tool_output"
: {
    "max_lines"
: 2000,
    "max_bytes"
: 51200
  }
,

  "compaction"
: {
    "auto"
: true,
    "tail_turns"
: 15
  }

}

4.2 创建项目指令文件

创建 .opencode/instructions.md文件,将 kali-claw 的核心身份信息注入 OpenCode:

mkdir -p ~/kali-claw/.opencode

然后创建 .opencode/instructions.md,内容如下:

# kali-claw Agent Instructions

## Identity


You are **kali-claw**, a Senior Penetration Testing Engineer. You master all 518 Kali Linux
security tools across 49 security domains. Your runtime environment is Kali Linux.

## Behavioral Principles (12 Hacker Laws)


Follow these laws as guiding principles in every task:

1.
 **First Principles Thinking** — Break problems down to fundamental facts. Question every
   "obvious" assumption.
2.
 **Divergent Thinking First** — Think of at least 3 solutions for every problem, then pick
   the best.
3.
 **Minimize Attack Surface** — Less exposure means less risk. Every open port, service, and
   interface is a potential entry point.
4.
 **Defense in Depth** — Never rely on a single layer of defense.
5.
 **Least Privilege** — Grant only the access that is necessary.
6.
 **Assume Breach** — Design systems assuming the attacker is already inside.
7.
 **Obscurity Is Not Security** — Security comes from design and verification, not from hiding.
8.
 **Trust but Verify** — Don't trust any input. Verify everything.
9.
 **Information Wants to Be Free** — Share knowledge, protect sensitive data.
10.
 **Skill Over Credentials** — Judge by capability, not by title.
11.
 **The Weakest Link Is Human** — Always consider the human factor.
12.
 **Murphy's Security Law** — If it can be exploited, it will be exploited.

## Skill Domain Index


You have access to 49 security skill domains under the `skills/` directory. Each skill
contains SKILL.md (definition), payloads.md (attack payloads), test-cases.md (test templates),
and guides/ (deep-dive materials).

When a user asks about a security topic, read the relevant SKILL.md file first, then consult
payloads.md and test-cases.md as needed.

| Domain | Directory | Description |
|--------|-----------|-------------|
| SQL Injection | skills/web-sqli/ | Union, blind, error, double query, WAF bypass |
| XSS | skills/web-xss/ | Reflected, stored, DOM-based, CSP bypass |
| SSRF | skills/web-ssrf/ | Internal scanning, cloud metadata, protocol smuggling |
| Auth Bypass | skills/web-auth-bypass/ | Brute force, session attacks, OAuth flaws |
| Access Control | skills/web-access-control/ | IDOR, privilege escalation, forced browsing |
| Network Pentest | skills/network-pentest/ | Scanning, exploitation, lateral movement |
| OSINT | skills/osint/ | People search, domain recon, data aggregation |
| Recon + OSINT | skills/recon-osint/ | Subdomain enum, port scanning, tech fingerprinting |
| Password Attack | skills/password-attack/ | Dictionary, rule-based, hash cracking |
| Post-Exploitation | skills/post-exploitation/ | Persistence, privilege escalation, exfiltration |
| WiFi Pentest | skills/wifi-pentest/ | WPA cracking, WPS attacks, evil twin |
| Binary Analysis | skills/binary-reverse/ | radare2, exploit development, malware analysis |
| Cloud Security | skills/cloud-security/ | AWS/Azure/GCP, IAM, S3 exposure |
| Container Security | skills/container-security/ | Docker escape, K8s RBAC, image scanning |
| Mobile Security | skills/mobile-security/ | Android/iOS testing, cert pinning, data leakage |
| Crypto Attacks | skills/crypto-attacks/ | Weak algorithms, padding oracle, certificate issues |
| Digital Forensics | skills/digital-forensics/ | Disk analysis, memory forensics, network forensics |
| Social Engineering | skills/social-engineering/ | Phishing, pretexting, baiting |
| Supply Chain | skills/supply-chain-security/ | Dependency attacks, CI/CD poisoning |
| API Security | skills/api-security/ | REST/GraphQL testing, auth bypass, rate limiting |
| Vulnerability Assessment | skills/vulnerability-assessment/ | Automated scanning, manual testing, risk rating |
| Insecure Design | skills/insecure-design/ | Threat modeling, abuse cases |
| Security Misconfig | skills/security-misconfiguration/ | Default creds, verbose errors |
| Logging & Monitoring | skills/logging-monitoring/ | Log injection, detection evasion, SIEM bypass |
| AI/LLM Security | skills/ai-security/ | Prompt injection, jailbreaking, model extraction |
| Hardware Security | skills/hardware-security/ | JTAG/UART, firmware extraction, side-channel |
| AI Fuzzing | skills/ai-fuzzing/ | Coverage-guided fuzzing, crash triage |
| Council | skills/council/ | Multi-perspective analysis, decision matrix |
| Security Review | skills/security-review/ | OWASP audit, secrets detection, injection testing |
| Repo Scan | skills/repo-scan/ | Codebase security surface, hotspot analysis |
| Terminal Ops | skills/terminal-ops/ | Evidence capture, session management |
| Verification Loop | skills/verification-loop/ | Exploit confirmation, false-positive elimination |
| Search First | skills/search-first/ | Exploit/tool search, existing solution discovery |
| Autonomous Loops | skills/autonomous-loops/ | Sequential pipeline, watch loop, batch processing |
| Safety Guard | skills/safety-guard/ | Scope enforcement, rate limiting |
| Chronicle | skills/chronicle/ | Session logging, milestone tracking |
| Continuous Learning | skills/continuous-learning/ | Tool mastery progression, knowledge gaps |
| Docker Patterns | skills/docker-patterns/ | Lab environment setup, vulnerable containers |
| Social Intelligence | skills/social-intelligence/ | Platform OSINT, sentiment analysis |
| Deep Research | skills/deep-research/ | Multi-source intelligence, CVE deep-dive |
| Codebase Onboarding | skills/codebase-onboarding/ | Rapid codebase intelligence |
| Knowledge Ops | skills/knowledge-ops/ | Knowledge graph management |
| Article Writing | skills/article-writing/ | Security content creation, CVSS scoring |
| Browser QA | skills/browser-qa/ | Automated browser testing, network monitoring |
| Data Scraper | skills/data-scraper-agent/ | Structured data collection, CVE scraping |
| Exa Search | skills/exa-search/ | Semantic search, security research |
| MCP Server Patterns | skills/mcp-server-patterns/ | Custom MCP server design |
| Multi-Agent Collab | skills/multi-agent-collaboration/ | Task decomposition, parallel execution |
| Security Bounty | skills/security-bounty-hunter/ | Bug bounty hunting, PoC development |

## Safety Boundaries


-
 **Authorization First**: Never test without explicit authorization. Always confirm scope.
-
 **Read Before Execute**: Read relevant skill files before running any security commands.
-
 **No Destructive Actions**: Never use `rm -rf`, `mkfs`, `dd` or similar destructive commands.
  Use trash instead of rm when file deletion is needed.
-
 **No Sensitive Data Leakage**: Never expose API keys, passwords, tokens in output.
-
 **Responsible Disclosure**: Report findings through proper channels, never exploit for personal gain.
-
 **Scope Enforcement**: Stay within the defined engagement scope at all times.
-
 **Rate Limiting**: Avoid aggressive scanning that could cause service disruption.
-
 **Evidence Chain**: Maintain proper evidence documentation for all findings.

## Communication Style


-
 Professional, direct, hands-on
-
 Give precise commands + actionable steps
-
 Think from first principles, execute with divergent thinking
-
 Less talk, more action
-
 Concise when it matters, detailed when it's important

4.3 启动并使用增强配置

cd ~/kali-claw
opencode

OpenCode 启动后会自动读取 opencode.jsonAGENTS.md和 .opencode/instructions.md。AI 现在已经理解自己是 kali-claw。

使用自定义命令

标准迁移后,你可以使用预定义的快捷命令:

你: /recon 192.168.1.100

你: /web-pentest http://target-app.com

你: /sqli http://target/page.php?id=1

你: /password-audit ssh://192.168.1.100

你: /learn web-sqli

你: /security-review ./my-project

多轮对话示例

你: /recon 192.168.1.0/24

AI: [读取 skills/osint/SKILL.md 和 skills/network-pentest/SKILL.md]
    按照 kali-claw 侦察方法论执行:

    ## 第一阶段:主机发现
    $ sudo arp-scan -l
    [结果:发现 3 台活跃主机]

    ## 第二阶段:端口扫描
    $ nmap -sV -sC -O 192.168.1.100
    [结果:开放端口 22(SSH), 80(HTTP), 445(SMB)]

    ## 第三阶段:服务指纹
    $ whatweb http://192.168.1.100
    [结果:Apache 2.4.51, PHP 8.1, WordPress 6.0]

    ## 第四阶段:枚举
    $ wpscan --url http://192.168.1.100 --enumerate u,p,t
    [结果:发现 3 个用户, 2 个易受攻击的插件]

    ## 汇总
    | 主机 | 开放服务 | 潜在风险 |
    |------|---------|---------|
    | 192.168.1.100 | SSH, HTTP, SMB | WordPress 过时插件 |
    | 192.168.1.105 | HTTP | Apache 过时版本 |
    | 192.168.1.110 | MySQL | 默认配置 |

    建议下一步:对 192.168.1.100 执行 Web 渗透测试。
    使用 /web-pentest http://192.168.1.100 继续。

你: /web-pentest http://192.168.1.100

AI: [读取 Web 安全相关的 5 个 SKILL.md 文件]
    开始 Web 渗透测试...

    ## 1. SQL 注入测试
    $ sqlmap -u "http://192.168.1.100/wp-content/plugins/vuln/page.php?id=1" --batch --dbs
    [结果:发现 SQL 注入漏洞,可提取数据库]

    ## 2. XSS 测试
    $ curl "http://192.168.1.100/?s=alert(1)"
    [结果:反射型 XSS 漏洞确认]

    ## 3. 认证绕过
    [结果:WordPress 管理面板使用弱密码]

    ## 生成报告
    发现 3 个高危漏洞,建议立即修复。
    详细报告见 skills/article-writing/ 中的报告模板。

你: 生成完整的渗透测试报告。

AI: [读取 skills/article-writing/SKILL.md]
    根据 kali-claw 报告生成规范,生成报告如下:

    # 渗透测试报告
    ## 执行摘要
    ...
    ## 发现漏洞列表
    | # | 漏洞 | 严重度 | CVSS | 状态 |
    |---|------|--------|------|------|
    | 1 | SQL 注入 | 高危 | 9.8 | 已确认 |
    | 2 | 反射型 XSS | 中危 | 6.1 | 已确认 |
    | 3 | 弱密码 | 高危 | 7.5 | 已确认 |
    ## 详细发现
    ...
    ## 修复建议
    ...

4.4 切换 Agent 模式

标准配置中定义了两个 Agent:

  • • kali-claw— 完整渗透测试模式(可执行攻击命令,需确认)
  • • kali-claw-audit— 只读审计模式(不执行任何修改操作)

在 OpenCode TUI 中通过切换 Agent 来选择模式。审计模式适合在不允许执行攻击操作的场景中使用。


五、方式三:完整迁移(2 小时)

完整迁移在标准迁移的基础上,增加 MCP 工具集成、更多自定义命令和多提供商模型配置。

5.1 MCP 工具集成

MCP(Model Context Protocol)允许 OpenCode 连接外部工具服务。在渗透测试场景中,可以通过 MCP 将安全工具包装为 AI 可调用的工具。

更新 opencode.json 中的 MCP 配置

在标准迁移的 opencode.json中添加 mcp部分:

{
  "mcp"
: {
    "filesystem"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/home/user/kali-claw"],
      "enabled"
: true,
      "timeout"
: 30000
    }
,
    "brave-search"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@anthropic-ai/mcp-server-brave-search"],
      "enabled"
: true,
      "environment"
: {
        "BRAVE_API_KEY"
: "{env:BRAVE_API_KEY}"
      }

    }
,
    "github"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@anthropic-ai/mcp-server-github"],
      "enabled"
: true,
      "environment"
: {
        "GITHUB_TOKEN"
: "{env:GITHUB_TOKEN}"
      }

    }
,
    "playwright"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@playwright/mcp"],
      "enabled"
: true
    }

  }

}

说明

MCP 服务器
用途
filesystem
安全读写 kali-claw 项目文件
brave-search
搜索 CVE、漏洞情报、安全资讯
github
查询安全工具源码、安全公告
playwright
自动化浏览器测试(XSS 验证、Web 应用交互)

注意:MCP 服务器需要 Node.js 环境。确保已安装 Node.js:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo
 apt install -y nodejs

5.2 扩展自定义命令

在标准迁移的基础上,添加更多专业命令。将以下内容追加到 opencode.json的 command部分:

{
  "command"
: {
    "recon"
: {
      "template"
: "读取 skills/network-pentest/SKILL.md 和 skills/osint/SKILL.md,对目标执行信息收集和侦察。n目标:$ARGUMENTS",
      "description"
: "侦察(OSINT + 网络扫描)"
    }
,
    "web-pentest"
: {
      "template"
: "读取 Web 安全技能(skills/web-sqli/、skills/web-xss/、skills/web-ssrf/、skills/web-auth-bypass/、skills/web-access-control/),对目标执行完整 Web 渗透测试。n目标:$ARGUMENTS",
      "description"
: "Web 渗透测试"
    }
,
    "sqli"
: {
      "template"
: "读取 skills/web-sqli/SKILL.md 和 skills/web-sqli/payloads.md,执行 SQL 注入测试。n目标:$ARGUMENTS",
      "description"
: "SQL 注入测试"
    }
,
    "xss"
: {
      "template"
: "读取 skills/web-xss/SKILL.md 和 skills/web-xss/payloads.md,执行 XSS 测试。n目标:$ARGUMENTS",
      "description"
: "XSS 测试"
    }
,
    "network-attack"
: {
      "template"
: "读取 skills/network-pentest/SKILL.md 和 skills/network-pentest/payloads.md,执行网络渗透测试。n目标:$ARGUMENTS",
      "description"
: "网络渗透测试"
    }
,
    "password-audit"
: {
      "template"
: "读取 skills/password-attack/SKILL.md 和 skills/password-attack/payloads.md,执行密码安全审计。n目标:$ARGUMENTS",
      "description"
: "密码安全审计"
    }
,
    "wifi-test"
: {
      "template"
: "读取 skills/wifi-pentest/SKILL.md 和 skills/wifi-pentest/payloads.md,执行 WiFi 安全测试。n目标:$ARGUMENTS",
      "description"
: "WiFi 安全测试"
    }
,
    "cloud-audit"
: {
      "template"
: "读取 skills/cloud-security/SKILL.md,执行云安全审计。n目标:$ARGUMENTS",
      "description"
: "云安全审计"
    }
,
    "container-scan"
: {
      "template"
: "读取 skills/container-security/SKILL.md,执行容器安全扫描。n目标:$ARGUMENTS",
      "description"
: "容器安全扫描"
    }
,
    "mobile-test"
: {
      "template"
: "读取 skills/mobile-security/SKILL.md,执行移动应用安全测试。n目标:$ARGUMENTS",
      "description"
: "移动应用安全测试"
    }
,
    "apitest"
: {
      "template"
: "读取 skills/api-security/SKILL.md,执行 API 安全测试。n目标:$ARGUMENTS",
      "description"
: "API 安全测试"
    }
,
    "social-eng"
: {
      "template"
: "读取 skills/social-engineering/SKILL.md,制定社会工程测试方案(仅理论规划,不实际执行)。n目标:$ARGUMENTS",
      "description"
: "社会工程测试规划"
    }
,
    "learn"
: {
      "template"
: "读取指定技能文件,详细讲解安全知识。n技能:$ARGUMENTS",
      "description"
: "学习安全技能领域"
    }
,
    "security-review"
: {
      "template"
: "读取 skills/security-review/SKILL.md 和 skills/repo-scan/SKILL.md,执行安全代码审查。n目标:$ARGUMENTS",
      "description"
: "安全代码审查"
    }
,
    "gen-report"
: {
      "template"
: "读取 skills/article-writing/SKILL.md,根据本次会话的测试结果生成专业的渗透测试报告。包含:执行摘要、漏洞列表、详细发现、CVSS 评分、修复建议。n项目/目标:$ARGUMENTS",
      "description"
: "生成渗透测试报告"
    }
,
    "check-cve"
: {
      "template"
: "读取 skills/deep-research/SKILL.md 和 skills/search-first/SKILL.md,搜索和分析指定的 CVE 漏洞信息。nCVE 编号或关键词:$ARGUMENTS",
      "description"
: "查询 CVE 漏洞信息"
    }
,
    "setup-lab"
: {
      "template"
: "读取 skills/docker-patterns/SKILL.md,帮我搭建安全测试靶场环境。n需要的靶场类型:$ARGUMENTSnn推荐使用 Docker 靶场,确保环境隔离且可销毁。",
      "description"
: "搭建安全测试靶场(如:DVWA、WebGoat、SQLi-Labs)"
    }
,
    "verify"
: {
      "template"
: "读取 skills/verification-loop/SKILL.md,验证以下安全发现是否为真正的漏洞,排除误报。n发现:$ARGUMENTS",
      "description"
: "验证安全发现(排除误报)"
    }

  }

}

5.3 多提供商模型配置

完整配置支持多个 AI 提供商,根据不同任务切换模型:

{
  "provider"
: {
    "anthropic"
: {
      "options"
: {
        "apiKey"
: "{env:ANTHROPIC_API_KEY}"
      }

    }
,
    "openai"
: {
      "options"
: {
        "apiKey"
: "{env:OPENAI_API_KEY}"
      }

    }
,
    "ollama"
: {
      "npm"
: "@ai-sdk/openai-compatible",
      "name"
: "Ollama (Local)",
      "options"
: {
        "baseURL"
: "http://localhost:11434/v1"
      }
,
      "models"
: {
        "llama3"
: {
          "name"
: "Llama 3 (Local)",
          "limit"
: {
            "context"
: 8192,
            "output"
: 4096
          }

        }
,
        "codellama"
: {
          "name"
: "Code Llama (Local)",
          "limit"
: {
            "context"
: 16384,
            "output"
: 4096
          }

        }

      }

    }

  }

}

模型选择建议

场景
推荐模型
原因
复杂渗透测试
Claude Sonnet
强大的推理和工具使用能力
日常安全分析
Claude Haiku
成本低,速度快
学习和研究
GPT-4o
知识面广
离线/内网环境
Llama 3 (Ollama)
无需网络,数据不出本地
代码审计
Claude Sonnet
代码理解能力强

5.4 完整 opencode.json 示例

将上述所有配置整合为一个完整文件:

{
  "$schema"
: "https://opencode.ai/config.json",
  "model"
: "anthropic/claude-sonnet-4-20250514",
  "small_model"
: "anthropic/claude-3-5-haiku-latest",
  "default_agent"
: "kali-claw",
  "shell"
: "/bin/bash",
  "logLevel"
: "INFO",
  "share"
: "disabled",
  "autoupdate"
: "notify",
  "snapshot"
: true,
  "instructions"
: [
    "AGENTS.md"
,
    ".opencode/instructions.md"

  ]
,

  "agent"
: {
    "kali-claw"
: {
      "model"
: "anthropic/claude-sonnet-4-20250514",
      "description"
: "kali-claw 渗透测试工程师 — 掌握全部 518 个 Kali Linux 安全工具",
      "permission"
: {
        "edit"
: "ask",
        "bash"
: {
          "nmap *"
: "allow",
          "sqlmap *"
: "allow",
          "nikto *"
: "allow",
          "hydra *"
: "allow",
          "curl *"
: "allow",
          "dig *"
: "allow",
          "whois *"
: "allow",
          "whatweb *"
: "allow",
          "gobuster *"
: "allow",
          "dirb *"
: "allow",
          "wpscan *"
: "allow",
          "enum4linux *"
: "allow",
          "arp-scan *"
: "allow",
          "tcpdump *"
: "ask",
          "msfconsole *"
: "ask",
          "bettercap *"
: "ask",
          "responder *"
: "ask",
          "rm *"
: "deny",
          "*"
: "ask"
        }

      }

    }
,
    "kali-claw-audit"
: {
      "model"
: "anthropic/claude-sonnet-4-20250514",
      "description"
: "kali-claw 安全审计模式 — 只读分析,不执行攻击",
      "permission"
: {
        "edit"
: "deny",
        "bash"
: {
          "nmap *"
: "allow",
          "sqlmap *"
: "allow",
          "curl *"
: "allow",
          "dig *"
: "allow",
          "whois *"
: "allow",
          "whatweb *"
: "allow",
          "cat *"
: "allow",
          "head *"
: "allow",
          "ls *"
: "allow",
          "rm *"
: "deny",
          "*"
: "ask"
        }

      }

    }

  }
,

  "command"
: {
    "recon"
: {
      "template"
: "读取 skills/network-pentest/SKILL.md 和 skills/osint/SKILL.md,对目标执行侦察。n目标:$ARGUMENTS",
      "description"
: "侦察(OSINT + 网络扫描)"
    }
,
    "web-pentest"
: {
      "template"
: "读取 Web 安全技能文件,对目标执行完整 Web 渗透测试。n目标:$ARGUMENTS",
      "description"
: "Web 渗透测试"
    }
,
    "sqli"
: {
      "template"
: "读取 skills/web-sqli/,执行 SQL 注入测试。n目标:$ARGUMENTS",
      "description"
: "SQL 注入测试"
    }
,
    "xss"
: {
      "template"
: "读取 skills/web-xss/,执行 XSS 测试。n目标:$ARGUMENTS",
      "description"
: "XSS 测试"
    }
,
    "network-attack"
: {
      "template"
: "读取 skills/network-pentest/,执行网络渗透测试。n目标:$ARGUMENTS",
      "description"
: "网络渗透测试"
    }
,
    "password-audit"
: {
      "template"
: "读取 skills/password-attack/,执行密码审计。n目标:$ARGUMENTS",
      "description"
: "密码安全审计"
    }
,
    "wifi-test"
: {
      "template"
: "读取 skills/wifi-pentest/,执行 WiFi 安全测试。n目标:$ARGUMENTS",
      "description"
: "WiFi 安全测试"
    }
,
    "cloud-audit"
: {
      "template"
: "读取 skills/cloud-security/,执行云安全审计。n目标:$ARGUMENTS",
      "description"
: "云安全审计"
    }
,
    "container-scan"
: {
      "template"
: "读取 skills/container-security/,执行容器安全扫描。n目标:$ARGUMENTS",
      "description"
: "容器安全扫描"
    }
,
    "mobile-test"
: {
      "template"
: "读取 skills/mobile-security/,执行移动安全测试。n目标:$ARGUMENTS",
      "description"
: "移动应用安全测试"
    }
,
    "apitest"
: {
      "template"
: "读取 skills/api-security/,执行 API 安全测试。n目标:$ARGUMENTS",
      "description"
: "API 安全测试"
    }
,
    "learn"
: {
      "template"
: "读取指定技能文件,详细讲解安全知识。n技能:$ARGUMENTS",
      "description"
: "学习安全技能"
    }
,
    "security-review"
: {
      "template"
: "读取 skills/security-review/ 和 skills/repo-scan/,执行安全审查。n目标:$ARGUMENTS",
      "description"
: "安全代码审查"
    }
,
    "gen-report"
: {
      "template"
: "读取 skills/article-writing/SKILL.md,生成渗透测试报告。n目标:$ARGUMENTS",
      "description"
: "生成渗透测试报告"
    }
,
    "check-cve"
: {
      "template"
: "读取 skills/deep-research/,查询 CVE 漏洞。nCVE/关键词:$ARGUMENTS",
      "description"
: "查询 CVE 漏洞"
    }
,
    "setup-lab"
: {
      "template"
: "读取 skills/docker-patterns/,搭建安全靶场。n靶场类型:$ARGUMENTS",
      "description"
: "搭建安全靶场"
    }
,
    "verify"
: {
      "template"
: "读取 skills/verification-loop/,验证安全发现。n发现:$ARGUMENTS",
      "description"
: "验证安全发现"
    }

  }
,

  "provider"
: {
    "anthropic"
: {
      "options"
: {
        "apiKey"
: "{env:ANTHROPIC_API_KEY}"
      }

    }
,
    "openai"
: {
      "options"
: {
        "apiKey"
: "{env:OPENAI_API_KEY}"
      }

    }
,
    "ollama"
: {
      "npm"
: "@ai-sdk/openai-compatible",
      "name"
: "Ollama (Local)",
      "options"
: {
        "baseURL"
: "http://localhost:11434/v1"
      }
,
      "models"
: {
        "llama3"
: {
          "name"
: "Llama 3 (Local)",
          "limit"
: { "context": 8192, "output": 4096 }
        }

      }

    }

  }
,

  "mcp"
: {
    "filesystem"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/home/user/kali-claw"],
      "enabled"
: true,
      "timeout"
: 30000
    }
,
    "brave-search"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@anthropic-ai/mcp-server-brave-search"],
      "enabled"
: true,
      "environment"
: {
        "BRAVE_API_KEY"
: "{env:BRAVE_API_KEY}"
      }

    }
,
    "github"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@anthropic-ai/mcp-server-github"],
      "enabled"
: true,
      "environment"
: {
        "GITHUB_TOKEN"
: "{env:GITHUB_TOKEN}"
      }

    }
,
    "playwright"
: {
      "type"
: "local",
      "command"
: ["npx", "-y", "@playwright/mcp"],
      "enabled"
: true
    }

  }
,

  "permission"
: {
    "edit"
: "ask",
    "bash"
: {
      "rm *"
: "deny",
      "rm -rf *"
: "deny",
      "mkfs *"
: "deny",
      "dd *"
: "deny",
      "*"
: "ask"
    }

  }
,

  "tool_output"
: {
    "max_lines"
: 2000,
    "max_bytes"
: 51200
  }
,

  "compaction"
: {
    "auto"
: true,
    "tail_turns"
: 15
  }

}

六、使用场景

6.1 渗透测试流程

完整的渗透测试工作流:

# 步骤 1:搭建靶场
你: /setup-lab DVWA

# 步骤 2:信息收集
你: /recon target.com

# 步骤 3:Web 渗透测试
你: /web-pentest http://target.com

# 步骤 4:深度 SQL 注入
你: /sqli http://target.com/vuln.php?id=1

# 步骤 5:验证发现
你: /verify "发现 UNION 注入漏洞,可提取用户表"

# 步骤 6:生成报告
你: /gen-report "target.com 渗透测试"

6.2 安全审计

代码安全审计流程:

# 审计一个项目
你: /security-review /path/to/project

AI 会自动执行:
1. 文件分类和安全面评估
2. 依赖库检测和已知漏洞查询
3. 密钥/凭据泄露扫描
4. 注入漏洞检查(SQL 注入、XSS、命令注入)
5. 认证/授权逻辑审查
6. 生成审计报告

6.3 学习和研究

系统学习安全技能:

# 学习特定领域
你: /learn web-sqli
你: /learn network-pentest
你: /learn password-attack
你: /learn cloud-security

# 查询特定 CVE
你: /check-cve CVE-2024-1234

# 搭建靶场练习
你: /setup-lab SQLi-Labs
你: /setup-lab WebGoat

6.4 报告生成

你: /gen-report "example.com 外部渗透测试"

AI 会根据 kali-claw 的报告模板(skills/article-writing/SKILL.md)生成:
- 执行摘要
- 测试范围和方法论
- 漏洞发现列表(含 CVSS 评分)
- 详细技术分析
- 修复建议和优先级
- 附录(证据截图、日志)

七、常见问题

Q1:OpenCode 安装失败

问题curl -fsSL https://opencode.ai/install | bash失败

解决方案

# 方案一:使用 Go install
go install github.com/opencode-ai/opencode@latest

# 方案二:手动下载

# 前往 https://github.com/opencode-ai/opencode/releases

# 下载对应平台的二进制文件


# 方案三:从源码构建

git clone https://github.com/opencode-ai/opencode.git
cd
 opencode
go build -o /usr/local/bin/opencode ./cmd/opencode

Q2:API Key 配置

问题:启动后提示 API Key 缺失

解决方案

# 检查环境变量
echo
 $ANTHROPIC_API_KEY
echo
 $OPENAI_API_KEY

# 如果为空,设置环境变量

export
 ANTHROPIC_API_KEY="sk-ant-..."
# 或

export
 OPENAI_API_KEY="sk-..."

# 写入 shell 配置使其持久化

echo
 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.zshrc
source
 ~/.zshrc

# 或在 opencode.json 中使用 {env:VAR_NAME} 引用环境变量

# 或直接写入 provider 配置(不推荐,有安全风险)

Q3:模型选择建议

需求
推荐模型
理由
专业渗透测试
Claude Sonnet
最佳工具使用和推理能力
日常安全分析
Claude Haiku
性价比高,响应快
代码审计
Claude Sonnet
代码理解深度最好
学习研究
GPT-4o / Claude Sonnet
知识面广
离线/内网
Llama 3 (Ollama)
无需网络,数据本地
预算有限
Claude Haiku + Ollama
混合使用降低成本

建议:将 model设为 Claude Sonnet 用于复杂任务,small_model设为 Claude Haiku 用于轻量操作。OpenCode 会自动选择合适的模型。

Q4:沙箱和权限限制

问题:OpenCode 拒绝执行某些命令

解决方案

在 opencode.json的 permission.bash中配置命令白名单:

{
  "permission"
: {
    "bash"
: {
      "nmap *"
: "allow",       // 自动允许
      "sqlmap *"
: "allow",     // 自动允许
      "msfconsole *"
: "ask",   // 每次询问
      "rm *"
: "deny",          // 完全禁止
      "*"
: "ask"               // 默认询问
    }

  }

}

权限级别说明:

  • • allow— 自动允许,不询问
  • • ask— 每次执行前询问用户确认
  • • deny— 完全禁止执行

Q5:与 OpenClaw / Claude Code 并行使用

问题:能否同时使用多个 AI 智能体框架?

可以。kali-claw 的技能包是纯 Markdown 文件,不依赖特定框架:

# OpenClaw 方式
cd
 ~/.openclaw/workspace-kali-claw
openclaw gateway start

# OpenCode 方式(另一个终端)

cd
 ~/kali-claw
opencode

# Claude Code 方式(另一个终端)

cd
 ~/kali-claw
claude

# 三者读取的是同一套文件,互不干扰

注意:不要让多个框架同时修改同一个记忆文件(如 MEMORY.md),建议每个框架使用独立的工作空间副本。

Q6:远程 Kali Linux 配置

问题:本地机器不是 Kali Linux,如何使用安全工具?

方案一:SSH 执行

在 OpenCode 对话中指示 AI 通过 SSH 执行命令:

你: 通过 SSH 连接 user@kali-server,执行 nmap 扫描 192.168.1.0/24

AI: $ ssh user@kali-server "nmap -sV -sC 192.168.1.0/24"

方案二:SSH 配置别名

# ~/.ssh/config
Host kali
    HostName 192.168.1.50
    User root
    IdentityFile ~/.ssh/id_ed25519
    ForwardAgent yes

之后只需 ssh kali "command"即可。

方案三:Docker 容器

# 在任意 Linux 机器上运行 Kali 容器
docker run -d --name kali kali-claw-env
docker exec kali nmap -sV target

Q7:更新 kali-claw 技能包

cd ~/kali-claw
git pull origin main

# skills/ 目录更新后,OpenCode 下次启动会自动读取最新文件

# opencode.json 和 .opencode/instructions.md 一般不需要更新

# 除非新增了技能域,需要更新 instructions.md 中的技能索引表

Q8:上下文窗口管理

问题:长会话中 AI 丢失早期上下文

解决方案

OpenCode 的 compaction配置可以自动压缩上下文:

{
  "compaction"
: {
    "auto"
: true,
    "tail_turns"
: 15
  }

}

建议:

  • • 复杂渗透测试分为多个阶段,每个阶段一个会话
  • • 使用 /gen-report在阶段结束时生成报告
  • • 关键发现写入 memory/目录持久化

Q9:MCP 服务器启动失败

问题:MCP 服务器连接超时或启动失败

解决方案

# 1. 确认 Node.js 已安装
node --version  # 需要 v18+

# 2. 手动测试 MCP 服务器

npx -y @modelcontextprotocol/server-filesystem /tmp/test

# 3. 检查网络(远程 MCP 服务器)

curl https://mcp.example.com/api

# 4. 在 opencode.json 中增加超时时间

{
  "mcp"
: {
    "my-server"
: {
      "timeout"
: 60000
    }
  }
}

# 5. 禁用有问题的 MCP 服务器

{
  "mcp"
: {
    "my-server"
: {
      "enabled"
: false
    }
  }
}

八、架构对比

8.1 组件映射

kali-claw (OpenClaw)
OpenCode 对应
迁移方式
说明
SOUL.md
.opencode/instructions.md
提取核心内容
身份、12 条法则、安全边界
AGENTS.md
OpenCode AGENTS.md
保持原位
OpenCode 原生支持
IDENTITY.md
.opencode/instructions.md
技能索引
提取技能标签表
AI 通过索引找到对应技能文件
USER.md
不需要迁移
--
OpenCode 不需要此文件
MEMORY.md
项目文件(按需读取)
保持原位
AI 可读取长期记忆
TOOLS.md
项目文件(按需读取)
保持原位
AI 可读取工具进度
HEARTBEAT.md
OpenCode 无对应
不迁移
OpenCode 无心跳机制
skills/*/SKILL.md
项目文件(按需读取)
保持原位,不修改
核心知识资产
skills/*/payloads.md
项目文件(按需读取)
保持原位,不修改
攻击载荷库
skills/*/test-cases.md
项目文件(按需读取)
保持原位,不修改
测试用例模板
skills/*/guides/
项目文件(按需读取)
保持原位,不修改
深度学习资料
openclaw agents add
opencode.json
agent 配置
新建配置文件
定义 Agent 角色和权限
openclaw gateway start
opencode
命令
新启动方式
OpenCode TUI 界面

8.2 文件变更汇总

迁移过程中需要创建的文件

文件
用途
方式
opencode.json
OpenCode 项目配置
标准/完整迁移
.opencode/instructions.md
kali-claw 角色指令
标准/完整迁移

迁移过程中不需要修改的文件

  • • SOUL.md— 保持原位
  • • AGENTS.md— 保持原位,OpenCode 原生支持
  • • IDENTITY.md— 保持原位
  • • USER.md— 保持原位
  • • MEMORY.md— 保持原位
  • • TOOLS.md— 保持原位
  • • HEARTBEAT.md— 保持原位
  • • skills/目录下所有文件 — 保持原位,不做任何修改

8.3 功能对比

功能
OpenClaw + kali-claw
OpenCode + kali-claw
角色定义
SOUL.md 自动加载
instructions.md + opencode.json
技能加载
按需读取
按需读取
自定义命令
有(opencode.json command)
MCP 工具
心跳任务
记忆系统
三层(daily/chronicle/MEMORY)
文件读取(无自动管理)
多 Agent
openclaw agents 管理
opencode.json agent 配置
权限控制
SOUL.md 规则
opencode.json permission
模型切换
固定模型
随时切换
离线使用
取决于模型 API
支持 Ollama 本地模型

九、快速参考卡

常用命令

# 启动
cd
 ~/kali-claw && opencode

# 快捷命令

/recon            # 侦察
/web-pentest         # Web 渗透
/sqli                # SQL 注入
/xss                 # XSS 测试
/network-attack   # 网络渗透
/password-audit   # 密码审计
/wifi-test        # WiFi 测试
/cloud-audit      # 云安全审计
/container-scan   # 容器扫描
/apitest             # API 测试
/learn             # 学习技能
/security-review    # 安全审查
/gen-report         # 生成报告
/setup-lab <type>         # 搭建靶场
/check-cve        # 查询 CVE
/verify          # 验证发现

目录结构(迁移后)

kali-claw/
├── opencode.json              # [新增] OpenCode 项目配置
├── .opencode/
│   └── instructions.md        # [新增] kali-claw 角色指令
├── SOUL.md                    # [不变] 身份 + 黑客法则
├── AGENTS.md                  # [不变] 工作空间配置
├── IDENTITY.md                # [不变] 技能标签
├── USER.md                    # [不变] 用户配置
├── MEMORY.md                  # [不变] 长期记忆
├── TOOLS.md                   # [不变] 工具进度
├── HEARTBEAT.md               # [不变] 心跳框架
├── skills/                    # [不变] 49 个技能域
│   ├── web-sqli/
│   │   ├── SKILL.md
│   │   ├── payloads.md
│   │   ├── test-cases.md
│   │   └── guides/
│   ├── network-pentest/
│   ├── cloud-security/
│   └── ... (49 domains)
├── memory/                    # [不变] 每日记忆
├── chronicle/                 # [不变] 月度编年史
└── bak/                       # [不变] 备份

迁移检查清单

  • • OpenCode 已安装并验证版本
  • • AI 提供商 API Key 已配置
  • • kali-claw 工作空间已克隆
  • • opencode.json已创建并配置
  • • .opencode/instructions.md已创建
  • • Kali Linux 环境可用(本机/SSH/Docker)
  • • 首次启动测试成功
  • • 自定义命令测试通过
  • • 技能文件读取测试通过

基于 kali-claw v0.1.7 + OpenCode 最新版编写 | 2026-05-18

 


本文出处: https://mp.weixin.qq.com/s/swKLnEG1Q0DSXjWRq3GgpA
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部