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

ghost-report — скилл для Claude Code: сводный отчёт по безопасности

Собирает находки всех сканирующих скиллов Ghost Security в один отчёт по риску и уверенности. Пригодится перед релизом или аудитом.

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

Что делает ghost-report

Скилл читает результаты трёх сканирований: scan-deps (зависимости), scan-secrets (секреты и учётные данные) и scan-code (SAST). Дальше он фильтрует находки по уверенности: из deps берёт только confirmed-exploitable, из secrets — всё, кроме clean и rejected, из code — verified и unverified. Статусы clean, rejected и false-positive отбрасываются.

Оставшееся сортируется: сначала high, потом medium, затем low, а внутри одной severity — deps, secrets, code. Находки уровня high попадают в отчёт целиком, вместе со сниппетами кода, таблицами оценки и командами исправления. Medium получают отдельный подраздел с описанием, местоположением и контекстом. Low в отчёт не входят — они остаются в файлах сканирований.

Перед запуском нужны сами сканирования. Если в каталоге нет ни deps/, ни secrets/, ни code/, скилл останавливается и просит сначала прогнать /ghost-scan-deps, /ghost-scan-secrets или /ghost-scan-code. Готовый report.md кэшируется по коммиту: повторный запуск на том же SHA просто покажет путь к файлу. Всю работу скилл делает сам, субагентов не запускает.

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

  • свести находки трёх сканирований в один файл
  • отсеять ложные срабатывания до чтения отчёта
  • отсортировать уязвимости по severity и типу скана
  • получить самодостаточный отчёт без переходов по файлам находок
  • проверить, какие сканирования уже прогонялись для коммита

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

  • Собери сводный отчёт по безопасности репозитория
  • Сделай полный security-аудит и покажи только high и medium
  • Собери результаты scan-deps, scan-secrets и scan-code в один отчёт

Как установить ghost-report

1Через Skills CLI (Vercel)

npx skills add ghostsecurity/skills --skill ghost-report -a claude-code
npx skills add ghostsecurity/skills --skill report -a claude-code

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

~/.claude/skills/report/SKILL.md

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

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

Вопросы о ghost-report

Как установить ghost-report в Claude?

Через skills CLI: npx skills add ghostsecurity/skills --skill ghost-report -a claude-code. Второй вариант — npx skills add ghostsecurity/skills --skill report -a claude-code, файл окажется в ~/.claude/skills/report/SKILL.md.

Что делает ghost-report?

Агрегирует находки скиллов scan-deps, scan-secrets и scan-code в один приоритизированный отчёт. High-находки встраиваются целиком, medium получают подраздел, low не включаются.

Что нужно, чтобы отчёт собрался?

Хотя бы одно из сканирований должно быть уже выполнено — иначе скилл сообщит об ошибке и предложит запустить /ghost-scan-deps, /ghost-scan-secrets или /ghost-scan-code.

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

SKILL.md · Apache-2.0
---
name: "ghost-report"
description: "Ghost Security — combined security report. Aggregates findings from all scan skills (scan-deps, scan-secrets, scan-code) into a single prioritized report focused on the highest risk, highest confidence issues. Use when the user requests a security overview, vulnerability summary, full security audit, or combined scan results."
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
license: apache-2.0
metadata:
  version: 1.1.0
---

# Combined Security Report

You aggregate findings from all scan skills (scan-deps, scan-secrets, scan-code) into a single prioritized report. Do all work yourself — do not spawn subagents or delegate.

$ARGUMENTS

---

## Step 0: Setup

Run this Bash command to compute paths:
```bash
repo_name=$(basename "$(pwd)") && remote_url=$(git remote get-url origin 2>/dev/null || pwd) && short_hash=$(printf '%s' "$remote_url" | git hash-object --stdin | cut -c1-8) && repo_id="${repo_name}-${short_hash}" && short_sha=$(git rev-parse --short HEAD 2>/dev/null || date +%Y%m%d) && ghost_repo_dir="$HOME/.ghost/repos/${repo_id}" && scans_dir="${ghost_repo_dir}/scans/${short_sha}" && cache_dir="${ghost_repo_dir}/cache" && skill_dir=$(find . -path '*/skills/report/SKILL.md' 2>/dev/null | head -1 | xargs dirname) && echo "scans_dir=$scans_dir cache_dir=$cache_dir skill_dir=$skill_dir"
```

Store `scans_dir` (commit-level scan directory), `cache_dir`, and `skill_dir`.

---

## Cache Check

If `<scans_dir>/report.md` already exists, show:

```
Combined security report is at: <scans_dir>/report.md
```

And stop. Do not regenerate it.

---

## Step 1: Read Repo Context

Read `<cache_dir>/repo.md` if it exists. Extract:
- Business criticality
- Sensitive data types
- Component map

If it does not exist, continue without it — this is not an error.

---

## Step 2: Discover Scan Results

List the contents of `<scans_dir>` to see which scan-type directories exist. Recognized types:
- `deps/` — SCA / dependency vulnerability scan
- `secrets/` — secrets and credentials scan
- `code/` — code security scan (SAST)

If none of these directories exist, report an error:

```
No scan results found in <scans_dir>. Run one or more scan skills first:
  /ghost-scan-deps
  /ghost-scan-secrets
  /ghost-scan-code
```

And stop.

---

## Step 3: Collect Findings

For each scan type that exists, glob `<scans_dir>/<type>/findings/*.md` and read each finding file **in full**. Retain the complete markdown body of every finding — the report will inline this content directly so readers never need to open individual finding files.

From each finding, also extract these metadata fields for filtering and sorting:

- **ID** — from `## Metadata` → `ID`
- **Type** — the scan type (`deps`, `secrets`, or `code`)
- **Severity** — from `## Metadata` → `Severity` (high, medium, low)
- **Status** — from `## Metadata` → `Status` (e.g., confirmed-exploitable, unverified, verified, rejected, clean)

---

## Step 4: Filter and Sort

**Filter:** Keep only high-confidence findings:
- For `deps` findings: status is `confirmed-exploitable`
- For `secrets` findings: status is NOT `clean` and NOT `rejected`
- For `code` findings: status is `verified` or `unverified` (NOT `rejected`)

**Exclude** any finding with status `clean`, `rejected`, or `false-positive`.

**Sort** the remaining findings:
1. By severity: high first, then medium, then low
2. Within same severity: deps before secrets before code

---

## Step 5: Read Per-Scan Reports

For `deps` and `secrets` scan types, read `<scans_dir>/<type>/report.md` if present. Extract:
- Statistics (candidates scanned, confirmed findings, false positives filtered)
- Executive summary highlights

Note: `code` does not produce a `report.md`. For code scan coverage, count the finding files in `<scans_dir>/code/findings/` directly. The "Candidates Scanned" count is the total number of finding files (all statuses). "Confirmed Findings" is the count with status `verified`, `confirmed`, or `unverified`. "False Positives Filtered" is the count with status `rejected`. Do NOT count clean file analyses from the nomination/analysis funnel — those never became findings.

If a per-scan report does not exist for deps or secrets, note it as unavailable.

---

## Step 6: Generate Report

1. Read `<skill_dir>/report-template.md`
2. Populate the template with collected data:
   - Fill Scan Information with repository name, commit SHA, date, and which scans ran
   - Write Executive Summary using repo context and aggregated findings
   - For all writing elements in this security-focused, objective and fact based report, use a neutral, human tone that balances expertise with ease of reading. Do not use emojis, em-dashes, etc.
   - For Critical & High findings (severity = high): inline the substantive content from each finding file directly into the report — include code snippets, assessment tables, remediation commands, and all relevant detail so the report is fully self-contained
   - For Medium findings: write a full subsection per finding with description, location, code context, and remediation (not a condensed table)
   - Omit low-severity findings (they remain in per-scan finding files only)
   - Fill Scan Coverage table from per-scan report statistics (for code, use finding file counts from Step 5)
   - Add a brief methodology note per scan type that ran (1-2 sentences drawn from per-scan reports)
   - Do NOT include links to per-scan reports or individual finding files — all content is inlined
3. Write the report to `<scans_dir>/report.md`

---

## Step 7: Show Output

```
Combined security report is at: <scans_dir>/report.md
```

© ghostsecurity · Apache-2.0 · ghostsecurity/skills

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

Всё по теме «Безопасность» →
security-review официальный github Проверяет код и зависимости на уязвимости, секреты и ошибки контроля доступа. Нужен перед релизом или при аудите отдельного пути. 5 500установок security-scanning Seth Hobson Плагин для Claude, который проверяет код на уязвимости: SAST, зависимости, контейнеры и соответствие OWASP Top 10. CX Codex ★ 41 729звёзд репо report-generator claude-office-skills Генерирует аналитические отчёты, сводки KPI и графики по сырым данным из CSV, Excel или JSON. Пригодится для быстрой визуализации продаж и метрик. CX Codex +1 5 200установок geo-report-pdf geo-seo-claude Превращает markdown-отчёт GEO-аудита в PDF с обложкой, цветными таблицами оценок и дорожной картой на 90 дней. Использует pandoc и Chrome headless. CX Codex +1 833установок geo-report geo-seo-claude Собирает данные разрозненных GEO-проверок в один понятный отчёт GEO-CLIENT-REPORT.md для бизнеса и рассчитывает итоговый GEO Readiness Score. CX Codex +1 823установок find-security-vulnerabilities-in-code usestrix Скилл запускает white-box аудит кода через Strix: агенты читают исходники, строят модель потоков данных и проверяют находки эксплойтом в песочнице. CX Codex +1 12 500установок

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

ghost-scan-code Ищет уязвимости в исходниках: SQL-инъекции, XSS, SSRF и другие категории OWASP. Планирует проверки, потом прогоняет их по проекту. CX Codex +1 5 200установок ghost-scan-secrets Ищет утёкшие API-ключи, токены и пароли в кодовой базе проекта. Пригодится перед коммитом или при аудите репозитория на скрытые секреты. CX Codex +1 4 400установок ghost-scan-deps Скилл запускает аудит зависимостей проекта по файлам блокировок, находит уязвимости с CVE и готовит отчёт с оценкой риска и шагами по исправлению. CX Codex +1 4 300установок ghost-repo-context Сканирует кодовую базу, находит проекты и записывает карту архитектуры в repo.md. Нужен перед анализом безопасности или знакомством с новым репозиторием. CX Codex +1 3 800установок ghost-validate Проверяет отчёты сканеров безопасности и отделяет ложные срабатывания от реальных уязвимостей. Анализирует код, проверяет маршруты и при доступности тестирует эндпоинты. CX Codex +1 3 800установок ghost-exo Маршрутизирует запросы к платформе exo: создаёт цепочки агентов, улучшает их по прошлым запускам и находит сбои. CX Codex +1 947установок

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

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