Complete reverse-skill pack (85 SKILL.md) as a DeepSeek Harness Cordis plugin: reverse engineering, authorized pentesting and security-research skill router.
Install
# from npm (prebuilt)
dsh plugin --profile web add @dhicoc/dsh-reverse-skill
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:dhicoc/dsh-reverse-skill
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
安装:请从 GitHub 安装,不要从 npm 安装。 npm registry 上的
@dhicoc/dsh-reverse-skill停留在 1.0.x,其 peer 依赖(@deepseek-ai/dsh-skill ^0.0.1-rc.1)与 DSH 0.2.0-rc.2 不兼容,从 npm 安装会被安装器判为「不兼容,可能导致崩溃」。本仓库main分支始终是与当前 DSH 兼容的版本。安装命令:
dsh plugin add github:dhicoc/dsh-reverse-skill
reverse-skill 的完整 DeepSeek Harness(dsh)插件版。 把上游
zhaoxuya520/reverse-skill(27k★,MIT)全部 88 个 SKILL.md 原样封装成一个 dsh Cordis 插件,随包分发、随插件加载,无需手动维护候选清单。
适用范围(请遵守)
本仓库内容仅用于 授权的 逆向工程、渗透测试与安全研究。使用者须确保对目标系统拥有合法授权。一切未授权行为与本仓库无关。
本包包含具有合法安全用途、同时也可能被滥用的内容(渗透测试技术、参考资料与辅助脚本),属 npm 所称的 dual-use(军民两用)内容。仓库根目录的 DISCLOSURE 文件对此作了完整说明。
目录结构
dsh-reverse-skill/
├── src/
│ └── index.ts # 数据驱动的 Cordis 插件:递归扫描并注册全部 SKILL.md
├── skills/ # 46 个领域技能(上游 skills/ 1:1 复制)
│ ├── SKILL.md # 路由技能 reverse-skill-router(上游根 SKILL.md)
│ ├── pentest-tools/ # 含嵌套子技能 src-hunter 等
│ └── reverse-engineering/ # 含嵌套子技能 dsl-vm-reverse 等
├── CTF-Sandbox-Orchestrator/ # 42 个 CTF 赛道技能
├── port.py # 归一化脚本(上游 → 本仓库的搬运/前导matter修正)
├── package.json
├── tsconfig.json
├── DISCLOSURE # 双用途内容声明(内容与用途说明)
└── LICENSE # MIT(与上游一致)
相对路径:
src/index.ts通过fileURLToPath(new URL('../skills', import.meta.url))定位资源(编译后lib/index.js同样成立,因为skills/与lib/同属包根目录的相邻子目录)。注意这里不能再套一层dirname()——../skills这个 URL 已经指向目录本身,多套dirname会把它截断成包根目录,从而把node_modules里的 SKILL.md 也算进来。
安装(插件形态)
请从 GitHub 安装,不要从 npm 安装——原因见文首。本仓库已声明 dsh.bundle manifest(见 cordis.patch.yml),一行命令即可安装并激活:
dsh plugin add github:dhicoc/dsh-reverse-skill
npm install @dhicoc/dsh-reverse-skill 不可用:registry 上的 1.0.x 与当前 DSH 不兼容,且此包已不再向 npm 发布新版本(受 npm 发布前扫描策略限制)。
安装后 dsh 会读取 cordis.patch.yml 把 reverse-skill 这个 Cordis 插件插入当前 profile,启动时自动注册 88 个技能。若你想在 profile / package 配置里手动引用,名称是 @dhicoc/dsh-reverse-skill(这是安装后的引用名,不是可从 npm 安装的包名):
# dsh 配置(示例,键名可能因版本而异)
plugins:
- "@dhicoc/dsh-reverse-skill"
加载后,插件在 apply(ctx) 里调用 ctx.skills.registerProvider(...),把 88 个技能注册进 ctx.skills。模型可通过 ctx.skills → tool-skill 自动调用,用户也可通过技能名手动调用(受各 SKILL.md 的 user-invocable 控制)。
从源码构建(可选)
lib/ 已随仓库提交,从 GitHub 安装无需构建。仅在你需要自行编译时才执行下面两条命令(这里的 npm install 只装开发依赖,与安装插件无关):
# 安装 peer 依赖(cordis / dsh-skill 由 dsh 运行时提供,这里用于类型与构建)
npm install
npm run build # tsc → 生成 lib/ 与 lib/types/
package.json 中已声明:
"main": "lib/index.js",
"types": "lib/types/index.d.ts",
"peerDependencies": {
"@deepseek-ai/cordis": "~4.0.4",
"@deepseek-ai/dsh-skill": "^0.2.0-rc.2"
}
(可选)非插件回退:直接当 preset 用
本仓库同时携带完整的 skills/ 与 CTF-Sandbox-Orchestrator/ 目录,可作为 preset 直接挂载,无需构建:
skills:
local:
customSkillDirs:
- "./dsh-reverse-skill/skills"
- "./dsh-reverse-skill/CTF-Sandbox-Orchestrator"
dsh 技能发现优先级(先命中先生效):项目
.dsh→ 项目.agents→customSkillDirs→ 用户.dsh→ 用户.agents。插件路径使用本仓库自带的递归 scanner(能发现根skills/SKILL.md路由器与嵌套子技能);若改用可选 preset 回退(dsh 扁平发现,只扫直接子目录),根SKILL.md路由器不在子目录内、不会被发现——因此推荐用插件路径。
插件工作原理(数据驱动,零手写清单)
src/index.ts 不做任何硬编码候选列表,而是:
- 递归遍历
skills/与CTF-Sandbox-Orchestrator/,找到每个SKILL.md; - 解析前导 matter(把
metadata.user-invocable提升为顶层user-invocable;上游文件原样打包,CRLF / BOM 在运行时归一化); - 构造
SkillCandidate(含resourceBase: {kind:'directory', path}、结果缓存); - 注册一个
SkillProvider,get()时返回完整 body。
新增/删除技能只需改目录,插件自动同步。
可复跑验证
在仓库根目录运行:
npm test
该命令会重新编译插件,并通过实际注册的 SkillProvider 断言 88 个已打包技能都能被 list() 发现、名称无重复且均能按需 get() 返回非空正文。测试还会临时创建一个带 UTF-8 BOM 和 CRLF 的 SKILL.md,确认扫描器不会静默跳过此类文件;fixture 在测试结束后会自动删除。
已知限制(诚实告知)
agents/*.yaml不可移植:上游 43 个 OpenAI Agents SDK 的 agent 定义无法映射到 dsh 的ctx.subagent(dsh 仅支持拉起 Codex / Claude Code CLI)。这些 agent 定义未纳入插件。allowed-tools/disallowed-tools不被 dsh 强制:dsh 当前把这两项视为未知字段,延迟执行。技能内的工具约束需自行在 harness 层保证。- 前导 matter 仅依赖
name/description/user-invocable:本仓库 scanner 只读这三个字段,上游原始文件原样打包(CRLF / BOM 在运行时归一化),无需改写;其余字段作为技能正文一并随get()返回。 - MCP 工具(如 burp-mcp)需另行配置:技能正文里引用的外部 MCP server 不在本插件范围内,请按 dsh 的
mcp.servers自行接入。 - 文档链接已重写:正文内相对链接已改为
../(及 CTF 相关为../../CTF-Sandbox-Orchestrator/),以适配 dsh 扁平挂载路径。 - 只通过 GitHub 分发:npm registry 上的 1.0.x 与当前 DSH 不兼容,请勿从 npm 安装;更新到新版本的方式是重新执行一次 GitHub 安装命令。
License
LICENSE 为 MIT,与上游 reverse-skill 保持一致。内容版权归原 upstream 作者与贡献者;本仓库为 dsh 适配封装。
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-skill-explorer★ 9959
Skill center for the dsh web GUI: browse all loaded skills grouped by source, enable or disable model invocation, create new skills, and delete into a recoverable trash.
iflytek/skillhub#dsh★ 5358
Browse and search a SkillHub registry and manage local skill installation, updates, and removal inside DeepSeek Harness. Targets DSH 0.2.0-rc.2 and 0.2.1-rc.2; not yet compatible with 0.2.1-rc.3.
QingYunA/answer-me-with-html★ 5085
Answers a question with a one-page visual HTML explainer: the model writes a short Markdown draft and the bundled `am` CLI builds the page, with flow, sequence, tree, timeline and ER diagrams, tables and callouts.
hyhmrright/brooks-lint★ 1556
Provides six code quality skills for code review, architecture audits, technical debt, test quality, health dashboards, and remediation.
GanyuanRan/Aegis★ 1411
Software-engineering method pack for coding agents, with skills for baseline-first planning, systematic debugging, prompt hygiene, verification before completion, and repair/retirement tracking.
superdesigndev/superdesign-skill★ 935
Design skill for UI and marketing graphics on the Superdesign canvas: reads the repo for context, extracts its design system, then generates and iterates branchable design drafts, flow pages, and reusable components through the Superdesign CLI.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.