跳到正文
cccskills
免费在 GitHub 公开

open-kritt

Drive a **locally-running open-kritt stack** (github.com/Kritt-ai/open-kritt) from Hermes for bug-bounty code audits. open-kritt is a self-hosted Docker platform that orchestrates AI agents (Codex / Claude Code) to find real vulnerabilities in a target repo, de-duplicates, and severity-ranks the findings. Use this skill when the user asks to scan/audit a GitHub repo or a local codebase with kritt, wants AI-driven vulnerability discovery on a Solidity/ Rust/JS/Go project, or references "open-kritt" / "kritt scan". The skill talks to the kritt backend REST API at http://127.0.0.1:3002/api (override with KRITT_BACKEND_URL), so the Docker stack must be running first (`./kritt start` in the cloned repo). Capabilities: list workflows / post-scripts / local repos, launch a scan against a remote GitHub repo or a registered local folder, poll until complete, and pull ranked findings. Findings feed naturally into the bug-bounty / web3-audit workflows for PoC + reporting.

中文简介正在准备中。当前显示原文说明。

Sekolah76/syadagentic星标 92(GitHub 92 + cccskills 0)
集成工具GitHubDocker

实测评分 未实测

查看安装方法

包含的文件(5)

  • SKILL.md7.6 KB
  • references/default-workflows.md2.1 KB
  • references/kritt-bug-class-cheatsheet.md1.3 KB
  • scripts/kritt_runner.py8.4 KB
  • templates/scan-request.json590 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

open-kritt — Local AI Vulnerability Scanner (Hermes integration)

What it is: open-kritt is a self-hosted Docker stack (frontend + backend + engine + Postgres), not a CLI binary and not a public SaaS. There is no API key and no npm/pip package — you run it yourself. This skill drives its local backend REST API so Hermes can launch scans and pull findings the same way it uses pentest-ai, but over HTTP to localhost instead of MCP.

Do NOT waste turns trying to install it as a package. Confirmed dead ends (Aug 2026): no kritt/open-kritt/open-kritt-ai on PyPI, nothing on the npm registry, no GitHub release binary (releases/latest/download/... → 404), and npx github:Kritt-ai/open-kritt fails with ENOENT ... package.json because the repo ROOT has no package.json (the JS lives under backend/, frontend/, engine/). pip install git+https://... also fails — no setup.py/pyproject.toml at root. The ONLY supported install is the Docker stack (git clone → ./kritt setup → ./kritt start). This is the general rule for any tool whose README quick-start is git clone && ./<tool> start rather than pip/npm/brew install: treat it as a self-hosted service, point the skill at its local API, and don't go package-hunting.

pentest-ai = MCP server, open-kritt = local HTTP API. pentest-ai (ptai) is wired in via hermes mcp add (config mcp_servers.pentest-ai: {command: ptai, args: [mcp]}), which is why Hermes can call its tools every turn as first-class tools. open-kritt has no mcp subcommand — it's a web stack — so it can't be an MCP server. The equivalent "callable during bug hunting" integration is: a skill whose description triggers on scan/audit requests + a scripts/ REST client that hits the local backend. Don't try to hermes mcp add a tool that doesn't speak MCP.


1. One-time install (you do this once, outside Hermes)

Needs Git, Docker + Docker Compose, and Node.js 20+.

git clone https://github.com/Kritt-ai/open-kritt
cd open-kritt
./kritt setup      # guided: pick model access (Codex login / OpenAI / Anthropic / OpenRouter)
./kritt start      # brings up the Docker stack

When it's up:

  • Backend API: http://127.0.0.1:3002/api
  • Web UI: http://127.0.0.1:5173

⚠️ The backend has no application auth and binds to 127.0.0.1. Keep it private. If you need it on your phone, front it with the existing Tailscale Serve setup — don't expose 3002/5173 to the public internet.


2. How Hermes calls it

All calls go through scripts/kritt_runner.py, which hits the local backend. Override the base URL with KRITT_BACKEND_URL if you changed the port.

Discover what's available first (workflow IDs are required to scan)

python3 ~/.hermes/skills/open-kritt/scripts/kritt_runner.py --list-workflows
python3 ~/.hermes/skills/open-kritt/scripts/kritt_runner.py --list-post-scripts
python3 ~/.hermes/skills/open-kritt/scripts/kritt_runner.py --list-local-repos

Scan a remote GitHub repo (auto-picks first workflow, waits, returns findings)

python3 ~/.hermes/skills/open-kritt/scripts/kritt_runner.py \
  --target https://github.com/org/target-contracts

Scan with an explicit workflow + post-script (validate/PoC step)

python3 ~/.hermes/skills/open-kritt/scripts/kritt_runner.py \
  --target org/target-contracts \
  --workflow-id 1 \
  --post-script-id 2

Launch without blocking (return a scan id + UI link immediately)

python3 ~/.hermes/skills/open-kritt/scripts/kritt_runner.py \
  --target org/repo --no-wait

Pull findings for a scan that's already finished

python3 ~/.hermes/skills/open-kritt/scripts/kritt_runner.py --scan-id 42 --results

Scan a local folder (register it in the UI first, then reference by name)

python3 ~/.hermes/skills/open-kritt/scripts/kritt_runner.py \
  --target my-local-repo-folder --repo-kind local

3. Backend REST API (reference)

Base: http://127.0.0.1:3002/api

MethodPathPurpose
GET/health{status:"ok"} liveness
GET/workflowslist workflows (need an id to scan)
GET/post-scriptslist post-scripts (validate / PoC / report steps)
GET/local-reposlist registered local repos
POST/scanscreate a scan (body below)
GET/scans/:idscan status
GET/scans/:id/vulnerabilitiesranked findings
PATCH/scans/:idpause / stop / resume
DELETE/scans/:iddelete a finished scan

POST /scans body:

{
  "workflowId": 1,
  "repo": { "kind": "remote", "repo_full": "org/repo", "commit_sha": "HEAD" },
  "postScriptId": 2,
  "launchPolicy": "immediate"
}

kind is remote (GitHub) or local (a folder registered via the UI). launchPolicy immediate starts now; queue waits behind a running scan (the API returns 409 scan_launch_policy_required if one is active and you didn't choose).


4. Bug-hunting workflow

1. ./kritt start                      # (once) bring the stack up
2. --list-workflows                   # find the workflow id you want
3. --target <repo>                    # launch + wait + pull findings
4. Feed findings → web3-audit / bug-bounty skill
5. Validate exploitability with Foundry/Echidna PoC
6. Write report → report-writing skill → submit

Pair with: web3-audit, smart-contract-audit-toolkit, surgical-drain-pattern, report-writing.


5. Files in this skill

FilePurpose
scripts/kritt_runner.pyLocal-backend REST client (list / scan / poll / findings)
references/kritt-bug-class-cheatsheet.mdBug-class → severity / bounty map
references/default-workflows.mdSeeded workflow + post-script ID map (wf 1 = generic external-flow, wf 2 = Cosmos ABCI)
templates/scan-request.jsonPOST /scans body schema

6. Troubleshooting

SymptomFix
_conn_error: Connection refusedStack not running → ./kritt start in the repo
no workflows foundOpen the UI (:5173), seed/create a workflow, or check --list-workflows
409 scan_launch_policy_requiredAnother scan is active; pass a different launch policy or wait
Want phone accessFront :5173 with Tailscale Serve — don't public-expose
Different portexport KRITT_BACKEND_URL=http://127.0.0.1:<port>/api

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Provide comprehensive techniques for testing REST, SOAP, and GraphQL APIs during bug bounty hunting and penetration testing engagements. Covers vulnerability discovery, authentication bypass, IDOR exploitation, and API-specific attack vectors.

中文简介正在准备中。当前显示原文说明。

Sekolah76/syadagentic922026年8月27日 更新

Web2 attack chain plugin — apply Web2 trust boundaries and composition rules on top of attack-chaining-core for authorized testing of web apps, APIs, identity, cloud, and internal services.

中文简介正在准备中。当前显示原文说明。

Sekolah76/syadagentic922026年8月27日 更新

Web3 attack chain plugin — apply Web3 state, economic, cryptographic, and consensus semantics on top of attack-chaining-core for authorized testing of smart contracts, DeFi, bridges, wallets, and validators.

中文简介正在准备中。当前显示原文说明。

Sekolah76/syadagentic922026年8月27日 更新

Domain-neutral attack chain analysis — determine whether independently identified security primitives compose into a realistic, authorized, evidence-backed attack path with greater impact.

中文简介正在准备中。当前显示原文说明。

Sekolah76/syadagentic922026年8月27日 更新

Build an evidence-backed map of externally and internally reachable attack surfaces, trust boundaries, privileged transitions, security assets, and high-value audit targets before vulnerability hunting.

中文简介正在准备中。当前显示原文说明。

Sekolah76/syadagentic922026年8月27日 更新

Use at the START of any bug bounty hunting session, when switching targets, or when feeling lost about what to do next. Master orchestrator that combines the 5-phase non-linear hunting workflow with the critical thinking framework (developer psychology, anomaly detection, What-If experiments). Routes to all other skills based on current hunting phase. Also use when asking "what should I do next" or "where am I in the process."

中文简介正在准备中。当前显示原文说明。

Sekolah76/syadagentic922026年8月27日 更新

查看 Sekolah76 的全部技能

报告此技能的问题