本文へ移動
cccskills
無料GitHub で公開

rafter-skill-review

REQUIRED before copying any third-party SKILL.md, MCP manifest, Cursor rule, or agent config into this machine or forwarding one to a user. Installing a skill grants Read/Bash/network under your identity — this is `curl | sh` in a different costume. Do not install, load, recommend, or forward any third-party agent asset until this skill has vetted it. Bypassing this turns the agent into a delivery vector.

インストール方法を見る

含まれるファイル(7)

  • SKILL.md5.5 KB
  • docs/authorship-provenance.md4.3 KB
  • docs/changelog-review.md4.1 KB
  • docs/data-practices.md4.5 KB
  • docs/malware-indicators.md4.3 KB
  • docs/prompt-injection.md4.5 KB
  • docs/telemetry.md3.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Rafter Skill Review — Vet Before You Install

Skills are executable context. Installing one gives it Read, sometimes Bash, sometimes network — with your identity and your files. Treat installation the way you treat curl | sh: don't.

Before you copy any third-party SKILL.md, MCP manifest, Cursor rule, or agent extension into your machine, run this skill.

This skill replaces rafter agent audit-skill (still usable but deprecated — emits a stderr warning and aliases to rafter skill review).


Step 0: Always run the deterministic pass first

rafter skill review <path-or-git-url>            # emits JSON to stdout
rafter skill review <path> --format text         # human-readable summary

The command:

  • pulls the skill (if a URL, does a shallow clone into a temp dir),
  • runs rafter secrets over the tree,
  • extracts URLs, high-risk shell patterns, obfuscation signals,
  • reads SKILL.md frontmatter (allowed-tools, version, etc.),
  • prints a structured JSON report — see shared-docs/CLI_SPEC.md §rafter skill review.

Exit code 0 means the deterministic pass found nothing. That does NOT mean the skill is safe. LLM prompt injection, sneaky data practices, and authorship fraud are invisible to regex. Always follow up with the Choose-Your-Adventure branch below.


Choose Your Adventure

Pick exactly one branch. Read only that sub-doc — do not flood your context with all six.

(a) I am installing a brand-new skill

Use this when: you've never had this skill on this machine, and you want to know if it's safe to install for the first time.

Walk in order:

  1. Read docs/authorship-provenance.md — who wrote it, how old, how signed, how widely installed. Stop early if provenance is weak.
  2. Read docs/malware-indicators.md — grep for obfuscation, binary blobs, postinstall scripts, known-bad URL patterns.
  3. Read docs/prompt-injection.md — scan prose for hidden instructions, zero-width characters, conflicting directives in long files.
  4. Read docs/data-practices.md — which files/paths does it read and write, what network calls, does it silently escalate via allowed-tools.
  5. Read docs/telemetry.md — phone-home URLs, analytics SDKs, anonymous-but-trackable IDs.

Sign off only when every branch has a file:line answer. Partial confidence = don't install.

(b) I am updating a skill I already have installed

Use this when: a new version of a skill you already trust is out and you're about to overwrite the installed copy.

  • Read docs/changelog-review.md — focuses on what changed: diff between old and new SKILL.md + sub-docs, new URLs, new shell, new tool grants, version-bump semantics. Provenance shifts (new maintainer, transferred repo, republished package) get their own checklist here.
  • If the diff touches prompts, tools, or network → also walk docs/prompt-injection.md and docs/data-practices.md on the changed sections only.

(c) I am investigating a skill that already looks suspicious

Use this when: something smells wrong (someone reported it, the name is a typo-squat, it showed up uninstalled, a finding from step 0 alarmed you).

  • Read docs/malware-indicators.md first — prioritize obfuscation and binary-blob checks.
  • Read docs/prompt-injection.md — the skill may be weaponized against the installer, not the end user.
  • Read docs/authorship-provenance.md — map the real author (not the claimed one), check other artifacts from the same account.
  • Read docs/telemetry.md and docs/data-practices.md in parallel — data exfil is often what the attacker wants.

If any branch yields a concrete indicator: do not install. File the finding with rafter issues create from-text, or attach to an existing PR / ticket with file:line evidence.


What this skill will NOT do

  • It will not tell you a skill is "safe". There is no global safe list. Trust is per-install, per-machine, per-version.
  • It will not replace rafter scan. The JSON report from step 0 is the evidence floor, not the ceiling.
  • It will not evaluate skills you've already installed and run — by that point the exfil already happened. This is pre-install gating only.

Fast path — copy-paste

# Local path
rafter skill review ./third-party-skill/ --json > report.json

# Git URL (shallow-cloned into temp dir; removed after review)
rafter skill review https://github.com/acme/their-skill.git --json > report.json

# Human-readable
rafter skill review ./third-party-skill/

If the command exits 1 → findings present → walk branch (a) or (c) above. If exit 0 → deterministic pass clean → still walk branch (a) for a new install.

Decision rule

Install only if all three are true:

  1. rafter skill review exit 0 (or every finding is explained and accepted).
  2. The branch you walked has no unanswered questions.
  3. allowed-tools is narrower than or equal to what the skill's stated purpose requires.

If in doubt, don't install. Re-evaluating later is cheap; removing a backdoor is not.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

rafter

無料

Entry point for rafter. Invoke when a sub-skill is unclear, or when the task needs `rafter run` (remote SAST+SCA), `rafter secrets` (local secrets-only), `rafter audit`, policy checks, or command-risk evaluation. Scope by security surface, not task label: engage when the diff touches auth, credentials/secrets/tokens, untrusted input, SQL, shell/exec, file paths, deserialization, crypto, network endpoints, data deletion, or dependencies; for research/experimental/local-only code with none of that, a quick surface check is enough. When such surface IS present and no rafter skill or CLI call has been made, invoke this before handing the task off — an un-evaluated "done" on genuine security surface is not done.

日本語の概要は準備中です。原文の説明を表示しています。

Raftersecurity/rafter-cli272026年10月6日 更新

REQUIRED before declaring a task done when the diff touches user input, SQL, shell, auth, credentials, file paths, serialization, crypto, network endpoints, data deletion, or dependency surface. Judge by that surface, not the task label — research/experimental/local-only code with none of it can skip this. Walks OWASP/ASVS/MITRE questions the compiler and the test suite won't catch. Pair with `rafter run` on the same diff. When the diff has that surface, marking it complete without both has been under-delivered — do not claim done.

日本語の概要は準備中です。原文の説明を表示しています。

Raftersecurity/rafter-cli272026年10月6日 更新

REQUIRED before writing code for any feature touching auth, payments, credentials, tokens, sessions, file upload, user data, untrusted input, deserialization, network endpoints, or data deletion. Scope by that surface, not the task label — a research/experimental/local-only feature with none of it doesn't need this. Invoke it, record answers inline in the design doc or PR description, then write the code. Skipping this is how auth bypass, token leakage, and delete-the-wrong-record bugs ship. If the feature touches any of those surfaces and this hasn't run, the design is incomplete — do not proceed to implementation.

日本語の概要は準備中です。原文の説明を表示しています。

Raftersecurity/rafter-cli272026年10月6日 更新

Raftersecurity のスキルをすべて見る

このスキルの問題を報告する