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

security · boshu2 — скилл для Claude Code: аудит кода и поиск уязвимостей

Проводит проверку кода, зависимостей и промптов на слабые места. Пригодится, когда нужно понять, безопасно ли выпускать код.

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

Что делает security

Скилл ведёт разбор по чек-листу OWASP и отдельно ищет два частых промаха: fail-open пути, где проверка при ошибке пропускает доступ, и «заимствованную личность», когда на каком-то шаге идентичность подставляется по умолчанию вместо проверки. Каждый класс получает вердикт: находка, чисто или не проверялось. Непройденный класс считается пробелом, а не чистым результатом.

Находки делятся на доказанные и предполагаемые. Доказанная — та, где вы запустили конкретный ввод и увидели поведение; выведенная из чтения кода остаётся предполагаемой и идёт ниже по рангу. Отчёт включает снимок (коммит или рабочее дерево), путь атаки, проверенную защиту и класс исправления в паре слов. Патч скилл не пишет.

Сбор данных по умолчанию только на чтение: секреты не выгружаются, деструктивные payload'ы не запускаются. Отсутствующий сканер — это пробел в покрытии, а не чистая находка; флаг --require-tools требует полного набора инструментов. Сканировать можно лишь репозитории, бинарники и промпт-поверхности, которые вам принадлежат или на которые есть явное разрешение. Решение ship/hold/block остаётся за вами: скилл даёт находки и покрытие, а не вердикт.

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

  • проверить, безопасно ли выпускать код перед мержем
  • найти секреты и уязвимости в зависимостях
  • разобрать план или дизайн до того, как написан код
  • оценить, не утекает ли содержимое через историю коммитов
  • прогнать redteam по промпт-поверхностям репозитория

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

  • проверь этот репозиторий на уязвимости и секреты
  • оцени безопасность этого хендлера перед релизом
  • просканируй зависимости и промпты на риски

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

1Через Skills CLI (Vercel)

npx skills add boshu2/agentops --skill security -a claude-code

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

~/.claude/skills/security/SKILL.md

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

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

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

council Скилл council собирает независимые мнения нескольких моделей или контекстов и сводит их в отчёт, где видно расхождения и особые позиции. CX Codex +1 3 000установок rpi Доводит утверждённую задачу через реализацию и тесты до финиша, подключая проверку только при риске дорогих ошибок. CX Codex +1 1 500установок implement Скилл меняет или чинит код, конфигурацию и сервисы, сохраняя требования тестов. Он пригодится при реализации задачи или исправлении дефекта. CX Codex +1 1 500установок plan Скилл превращает расплывчатый запрос в один сквозной слайс с проверяемым поведением и границами правок. Полезен, когда задача ещё не сформулирована. CX Codex +1 1 500установок research Отвечает на точечные вопросы по репозиторию и истории изменений, проверяя гипотезы и отчёты о выполненных задачах по строгим доказательствам из исходников. CX Codex +1 1 500установок

Другие версии security

security parcadei Скилл для аудита безопасности: находит уязвимости в коде, проверяет зависимости и секреты, а после правок прогоняет проверку заново. CX Codex +1 530установок security rshankras Индексный скилл для платформы Apple: перенаправляет запросы к privacy-manifests и отсекает устаревшие инструкции по Keychain и ATS. CX Codex +1 489установок security alinaqi Внедряет правила безопасности, изолирует секреты от клиентского бандла и настраивает проверки коммитов. Пригодится при работе с авторизацией, пользовательским вводом и API-ключами. CX Codex +1 426установок security cognitedata Проходит по приложению Flows шаг за шагом: находит утечки секретов, опасный DOM, дыры в авторизации — и сразу правит их. CX Codex +1 1 900установок security tartinerlabs Проверяет зависимости на CVE, ищет секреты в git-истории и в рабочем дереве, ставит сканер в pre-commit и проходит репозиторий по OWASP Top 10. CX Codex +1 531установок

Похожие

security-auditor zhaono1 Скилл для поиска уязвимостей в коде: проходит по OWASP Top 10, проверяет конфиги, зависимости и секреты. Пригодится перед релизом или ревью чужого проекта. CX Codex +1 1 000установок security-scan jwynia Скилл прогоняет кодовую базу по OWASP Top 10, ищет захардкоженные ключи и опасные конфиги. Пригодится перед деплоем или ревью чужого репозитория. CX Codex +1 471установок Next.js Security Scan sugarforever Скилл ищет дыры в Next.js и TypeScript/JavaScript проектах: XSS, инъекции, утечки секретов, проблемы авторизации. Пригодится перед деплоем. CX Codex +1 553установок secrets-scan OWASP Ищет захардкоженные пароли, API-ключи и токены в коде и конфигах — до коммита или при аудите репозитория. CX Codex +1 337установок owasp-security agamm Скилл для проверки кода и диффов на уязвимости по OWASP Top 10:2025, ASVS 5.0 и спискам рисков для LLM и агентов. Пригодится при ревью перед релизом. CX Codex +1 2 400установок security-review getsentry Находит инъекции, XSS, ошибки авторизации и другие уязвимости в коде. Отчитывается только о находках с высокой уверенностью. CX Codex +1 21 300установок

Рядом в теме «Безопасность»

Всё по теме «Безопасность» →

Вопросы о security

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

Выполните npx skills add boshu2/agentops --skill security -a claude-code. После этого файл скилла окажется в ~/.claude/skills/security/SKILL.md.

Что делает security?

Проводит проверку кода, скриптов, бинарников и промпт-поверхностей на слабые места: уязвимости, секреты, риски зависимостей. Отдельно разбирает fail-open пути и подмену идентичности.

Скилл сам исправляет найденное?

Нет. Он сообщает находки, покрытие и класс исправления в паре слов, а решение о ship, hold или block остаётся за вызывающим.

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

SKILL.md · Apache-2.0
---
name: security
description: 'Review code for security problems; scan for vulnerabilities, secrets, dependency and prompt risks. Use when: asked whether code is safe to ship, even one small handler.'
practices:
- supply-chain-integrity
- design-by-contract
- sre
hexagonal_role: driven-adapter
consumes:
- repo-context
produces:
- security-gate-summary.json
- suite-summary.json
- redteam-results.json
context_rel:
- kind: supplier-to
  with: validate
skill_api_version: 1
user-invocable: true
metadata:
  capabilities: [security]
  effects: [write_scan_artifacts]
  canonical_status: canonical
  disposition: keep_specialist
  graph_root: true
  tier: product
  dependencies: []
output_contract: 'stdout: security scan report'
---
# Security Skill

> **Purpose:** Find and report security weaknesses in code, scripts, authorized binaries, and repo-managed prompt surfaces, with honest coverage.

Use this skill for a caller-requested security review of code or of a plan or design before code exists, a repository scan, authorized binary assurance, dependency risk, secrets, or offline prompt-surface redteam.

## Critical Constraints

- Scan only repositories, binaries, and prompt surfaces the operator owns or is explicitly authorized to assess. **Why:** a security review does not grant access to third-party systems or proprietary material.
- Keep collection read-only by default; do not exfiltrate secrets, execute destructive payloads, or mutate policy/baselines to manufacture green. **Why:** the assessment must not become the incident or erase its evidence.
- Treat missing/error scanners as a coverage gap, never a clean finding; use `--require-tools` when complete tool coverage is required. **Why:** absent evidence is not evidence of absence.
- Use the current agent and local shell; do not start another runtime or orchestration substrate unless explicitly requested. **Why:** repository scanning is a bounded operation, not permission to fan out.
- Report findings and coverage gaps, then stop. Remediation, risk acceptance,
  reruns, promotion, and any ship or merge call are caller decisions. Asked
  whether to ship, merge or deploy, give the findings and coverage, then say in
  one line that the go/no-go on that evidence is the caller's; recommending
  ship, hold or block in any wording is that decision. Name each finding's
  remediation class in a few words; do not write the patch, a plan, an owner,
  or a priority.

## What every review reports

Apply these to every review, scripted or manual. They are the rules most often skipped:

1. **Fail-open paths.** For every guard, check, timeout, and exception handler
   on the surface, ask what happens when it errors or hangs. A control that
   grants access, skips a check, or continues as success on error is a finding
   even when its happy path is correct.
2. **Borrowed identity.** Trace the effective identity at each hop (user,
   service, token, default, hook). A hop where identity is assumed, defaulted,
   or inherited instead of verified is the **borrowed identity** failure mode
   and a finding.
3. **Per-class coverage ledger.** Walk every applicable class in
   [the class checklist](references/owasp-checklist.md), plus fail-open,
   identity and any class the surface needs that the list lacks, and give each
   a result: finding, clean, or not assessed. An unvisited class is a gap, never a clean.
   Chasing one lead to the exclusion of the taxonomy is the **first-scent
   fixation** failure mode.
4. **Proven versus suspected.** A finding is proven only when you ran a
   concrete input, request, or command and observed the behavior; capture it.
   A finding reasoned from the code is suspected, even with a candidate input;
   give that input and rank it below proven findings.
5. **Snapshot scope.** Name the exact snapshot (commit, working tree on a
   stated HEAD, or document revision) and the path scope. List inputs you did
   not read separately as unread, deleted or outside scope; none of them counts
   as clean. Keep impact inside the snapshot: a finding that needs absent code,
   a future change or an unread path is a hypothesis and is labeled so. When
   the remaining budget cannot finish another full pass, stop opening new leads
   and report the hunt as unconverged.
6. **Shipped scope for a share or publish question.** When asked whether
   content is safe to make public or hand to another party (a repository, an
   export, a package), the snapshot is what the recipient will receive: the
   built artifact or output tree, every commit reachable in the history that
   travels with it, and derived copies such as indexes, caches and generated
   files. Content removed at HEAD is still exposed in earlier commits. Report
   history exposure with its fix class (credential rotation, fresh history or
   an owner-authorized rewrite) and perform none of them.

For each finding, explain the attacker path and relevant protective control in
the fields below. Read [attacker-path evidence](references/attacker-path-evidence.md)
only when reachability, control effectiveness, or claimed test completion needs
closer support for that finding.

```text
target:   <paths, endpoints, or binary>; authorization: <boundary>
snapshot: <commit | working tree on HEAD | document revision>; unread: <paths> | deleted: <paths> | outside scope: <paths>
findings: <id> <severity> <file:line> <class>: <what>
          proven: <input run> | suspected: <candidate input, why not run>
          path: <attacker input> -> <reachable behavior> -> <trust boundary> -> <impact>
          control: <relevant protection challenged and outcome, or none identified>
          fix class: <a few words>
coverage: <class> -> finding <ids> | clean | not assessed (<why>)
tools:    <scanner or command> -> ran | missing | error
hunt:     converged after <n> passes | unconverged | not run
```

## Manual hunt

Code-level review and redteam passes work in any repository, with or without
AgentOps tooling. Walk the ledger against the full surface and probe fail-open
behavior where that is safe. Repeat full passes until one complete pass adds no
new finding and no new coverage gap; that quiet round is the stop condition. If
the budget ends first, report the hunt as unconverged. The quiet-round rule
applies only to the manual hunt.

A plan, spec or design with no code yet gets the same hunt, aimed at what the
document proposes. List the endpoints, data stores, integrations and inputs it
adds, then report only weaknesses an attacker could use if it is built as
written, such as a capability with no named actor or access decision; sensitive
data whose handling in transit, at rest, in logs or at deletion is unstated; a
third party or secret whose trust, storage, rotation or compromise behavior is
unstated; or a stated choice, including how an input is handled, that is itself
unsafe. Cite the section. A weakness in what the document proposes is inside
its revision, not a rule-5 hypothesis; with nothing to run, each is suspected.

## Scripted scans

Each selected scan runs once per request; a rerun is a new caller decision.

`<skill-dir>` is the directory that contains this SKILL.md. Claude Code shows it
as "Base directory for this skill"; Codex lists this skill's SKILL.md path; in
an AgentOps source checkout it is `skills/security`. Replace `<skill-dir>` with
that absolute path before running a command. The working directory stays the
user's repository. If the host did not show where this skill is installed, use
the directory of the SKILL.md you read. If you cannot determine it, do not guess
a path or run a same-named script from the current repository; say the bundled
script is unavailable and run the scanners the project already uses, record the
suite or redteam scan as a coverage gap, and do the manual hunt.

| Surface | Entry point | Location |
|---|---|---|
| Repository gate (quick or full) | `bash scripts/security-gate.sh` | AgentOps repository root only |
| Composable suite for authorized binaries | `python3 "<skill-dir>/scripts/security_suite.py"` | bundled with this skill |
| Offline prompt-surface redteam | `python3 "<skill-dir>/scripts/prompt_redteam.py"` | bundled with this skill |

- **No gate script** (any other repository): run the scanners the project
  already uses, such as a dependency audit, secret scan, or static analyzer,
  record each one that is absent as a coverage gap, and do the manual hunt.
- **Redteam pack:** the bundled [attack pack](references/agentops-redteam-pack.json)
  targets AgentOps control surfaces. In another repository its cases fail with
  "no files matched target globs"; that is a pack mismatch, not a finding. A
  PASS shows the controls are written down, not that an agent resists them.
- Read [the suite runbook](references/security-suite-runbook.md) before gate,
  binary, policy, baseline, or redteam work. It holds the commands, the gate's
  exit codes, the artifact contracts, and the limits of the dynamic run, which
  is sampled and not isolated.

### Triage

1. Open the latest artifact and identify scanner, severity, file, and coverage gaps.
2. Reproduce the finding with the narrowest safe command; an unreproduced hit stays suspected.
3. Rank concrete findings and preserve coverage gaps.
4. Stop. Remediation, risk acceptance, and any later scan are new caller decisions. Do not downgrade, suppress, or update a baseline merely to pass.

## Output Specification

- **Artifact directory:** suite and redteam runs write under their explicit
  `--out-dir`; the repository gate's directory is in the runbook.
- **Filename convention:** `security-gate-summary.json` (gate),
  `suite-summary.json` (suite), `redteam/redteam-results.json` (redteam).
- **Serialization/schema format:** JSON. **Validator command:** the gate
  summary's field contract and `jq` check are in the runbook; a summary that
  fails it makes the result incomplete.

**Downstream handoff:** the review report above; for scripted scans also the
artifact path, command and exit code, mode, and gate status. The
report stops after evidence: no owner, next action, approval, release, ship,
or retry decision, and no newly exposed secret or unredacted sensitive payload.

© boshu2 · Apache-2.0 · boshu2/agentops

Смотрите также

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

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