К основному содержанию
скилл CX Codex

harden · dshakes — скилл для Claude Code: проверка безопасности перед PR

Пять команд набора compass по очереди: секреты в staged-диффе, версии MCP-серверов, расхождения установки, подпись релиза и запуск недоверенного кода в песочнице.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add dshakes/compass --skill harden -a claude-code
Открыть на GitHub

Что делает harden

Скилл прогоняет пять шагов строго по порядку и останавливается на первой ошибке, пока её не исправят. Шаг 1 — compass scan --staged по подготовленному к коммиту диффу: код выхода 1 значит, что в правках лежит секрет. Шаг 2 — bash scripts/check-mcp.sh, проверяет, что каждый автоматически ставящийся MCP-сервер закреплён на точной версии и без меток инъекции; при плавающей версии правится mcp/servers.json. Шаг 3 — compass drift: установленный конфиг в ~/.claude должен совпадать с исходниками репозитория. Шаг 4 — compass verify сверяет keyless-аттестацию SLSA у тарбола последнего релиза и требует gh. Шаг 5 — compass sandbox -- <cmd> запускает недоверенную команду в песочнице без сети, записи только в cwd и tmp.

Песочнице нужен бэкенд: bwrap, firejail или sandbox-exec. Без него CLI откажется запускать команду вне изоляции, так что сначала ставьте bwrap или firejail. Проверка подписи релиза на старом gh может вернуть код 77 — это безопасный пропуск, а не провал.

Скилл закрывает механические проверки. Находки, где нужно суждение человека, он не заменяет: для них в диффе запускают /security-review. Сканирование секретов имеет смысл повесить в .git/hooks/pre-commit, тогда оно срабатывает на каждом коммите, а не только перед PR.

Какие задачи решает

  • найти секрет в подготовленных к коммиту правках до пуша
  • поймать MCP-сервер с плавающей версией или меткой инъекции
  • сверить установленный конфиг агента с исходниками репозитория
  • проверить аттестацию SLSA у релизного тарбола
  • прогнать скачанный извне код в изоляции без сети

Примеры запросов агенту

  • Прогони шаги скилла harden и покажи, на каком всё встало
  • Проверь staged-дифф на секреты через compass scan --staged
  • Запусти compass drift и объясни, почему конфиг разошёлся с репозиторием

Как установить harden

1Через Skills CLI (Vercel)

npx skills add dshakes/compass --skill harden -a claude-code

2Вручную: положить файлы

~/.claude/skills/harden/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/harden/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о harden

Как установить harden в Claude Code?

Выполните npx skills add dshakes/compass --skill harden -a claude-code, скилл появится по пути ~/.claude/skills/harden/SKILL.md.

Что делает harden?

По очереди запускает пять команд набора compass: скан staged-диффа на секреты, проверку закрепления MCP-серверов, детект дрейфа установки, сверку аттестации релиза и запуск недоверенной команды в песочнице.

Что нужно для шага с песочницей?

Работающий бэкенд изоляции — bwrap, firejail или sandbox-exec. Если его нет, compass sandbox откажется запускать команду без ограничений.

Исходный текст

SKILL.md · MIT
---
name: harden
description: Run the toolkit's security commands in order to surface secrets, MCP supply-chain issues, install drift, release provenance gaps, and untrusted-code risks before shipping. Use before opening a PR, after adding a dependency, or whenever the security posture needs a fresh check.
argument-hint: "[optional: -- <cmd> to sandbox-test a specific command]"
allowed-tools: Read, Grep, Glob, Bash
---

# Harden — security sweep in five ordered steps

Run each command in sequence. Stop on a non-zero exit and fix the finding before
proceeding. All five must pass before the branch is considered hardened.

## Steps

### 1 · Secrets — `compass scan --staged`
Scan the staged diff for secrets at the commit boundary.

```
compass scan --staged
```

Exits 0 (clean) or 1 (secrets found). Fix: remove the secret, rotate the
credential, then re-stage. Add an `# allowlist secret` comment ONLY for
confirmed test fixtures — never real credentials.

### 2 · MCP supply-chain pins — `scripts/check-mcp.sh`
Verify every auto-installed MCP server is pinned to an exact version and that
no `@latest` float or shell-injection marker has crept in.

```
bash scripts/check-mcp.sh
```

Exits 0 (pinned + clean) or non-zero (floating version or injection marker).
Fix: pin the version in `mcp/servers.json` and re-run. (`setup-mcp.sh` runs this
same audit as a pre-flight, and `compass doctor` includes it.)

### 3 · Install fidelity — `compass drift`
Check that the installed `~/.claude` config still matches this repo's source.
Catches hand-edited copies, stale hooks, and non-executable guardrail scripts.

```
compass drift
```

Exits 0 (in sync) or non-zero (drift detected). Fix: re-run `quickstart.sh`
or remove the hand-edited file and let the install re-link it.

### 4 · Release provenance — `compass verify`
Verify the latest release tarball's keyless SLSA attestation. Requires `gh`.

```
compass verify
```

Exits 0 (attestation valid), 77 (gh lacks attestation support — skip), or
non-zero (attestation missing or invalid). A 77 is a safe skip on old gh
versions; anything else is a provenance gap to investigate.

### 5 · Untrusted code — `compass sandbox -- <cmd>`
Run any untrusted command inside a real OS sandbox (no network, writes confined
to cwd/tmp via bwrap/firejail/sandbox-exec). Required before executing code
fetched from external sources.

```
compass sandbox -- <cmd>
```

Exits 0 (ran confined), 2 (usage error — supply a command), or non-zero if the
sandboxed command itself fails. If no backend is available the CLI refuses to
run the command unconfined — install bwrap or firejail first.

## Notes
- Run the five steps in order; each one gates the next in severity.
- `compass scan --staged` should also be wired as a pre-commit hook
  (`compass scan --staged` in `.git/hooks/pre-commit`) for continuous coverage.
- Security (`compass scan`, `compass verify`) and drift detection (`compass drift`)
  are also surfaced in `compass dashboard` for a fleet-wide view.
- This skill does not replace a full `/security-review` — it gates the mechanical
  checks. Run `/security-review` on the diff for human-judgment findings.

© dshakes · MIT · dshakes/compass

Похожие скиллы

Все скиллы по теме «Безопасность» →

Сначала — harden от других авторов.

harden aladicf Прогоняет интерфейс через крайние случаи: длинный текст, ошибки сети, RTL, пустые состояния. Полезен перед выкаткой в прод. CX Codex +1 539установок git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. 499 069установок ponytail-review DietrichGebert Скилл проверяет изменения глубже обычного diff: читает связанный код, ищет ошибки, риски, проблемы нагрузки и недостающие тесты. Пригодится для ревью PR и коммитов. CX Codex +1 57 000установок ponytail-audit DietrichGebert Проверяет репозиторий и ранжирует ошибки, риски и лишний код. Подойдёт, если нужен разовый разбор без автоматических правок. CX Codex +1 45 400установок security-audit cloudflare Проверяет кодовую базу на уязвимости и ищет нарушения границ доверия. Пригодится перед релизом или для точечного разбора опасных участков кода. CX Codex +1 54 800установок security-and-hardening addyosmani Помогает проектировать защиту и проверять код на уязвимости при работе с вводом, авторизацией, сессиями и внешними сервисами. Подойдёт перед релизом и при создании функций, которые обрабатывают недоверенные данные. CX Codex +1 70 200установок supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок

Из того же набора3

Спонсоры проекта

Компании, которые помогают держать аналитику открытой