Skill ghost-scan-code
scriptsRealiza escaneos de código SAST para identificar vulnerabilidades de seguridad como inyección SQL, XSS y BOLA en aplicaciones y librerías.
- Estrellas en GitHub
- 441
- Archivos
- 12
- Último commit
- 28 sept 2026
- Licencia
- apache-2.0
- Herramientas permitidas
- 6
¿Qué hace la skill ghost-scan-code?
ghost-scan-code es una agent skill. Realiza escaneos de código SAST para identificar vulnerabilidades de seguridad como inyección SQL, XSS y BOLA en aplicaciones y librerías.
Resumen generado a partir del SKILL.md de la skill.
Sobre la skill ghost-scan-code
ghost-scan-code permite a los desarrolladores que trabajan en backend, frontend, aplicaciones móviles o librerías realizar auditorías de seguridad en su código fuente. El SKILL identifica vulnerabilidades como inyección SQL, XSS, BOLA, BFLA y SSRF mediante la planificación y ejecución de escaneos específicos. Está diseñado para cuando un usuario requiere un escaneo SAST o una evaluación de vulnerabilidades de una base de código para encontrar fallos de seguridad.
Un agente carga este SKILL para navegar a través de un proceso de varios pasos que incluye planificación, nominación de archivos y análisis. Se apoya en scripts internos como loop.sh y criteria/index.yaml para mapear tipos de proyectos con vectores de vulnerabilidad específicos. El proceso genera hallazgos organizados que se almacenan en un directorio dedicado, categorizados por problemas verificados o rechazados. Los usuarios pueden controlar la intensidad del escaneo especificando una profundidad rápida, equilibrada o completa, aunque los escaneos completos requieren confirmación explícita debido al mayor uso de tokens.
Esta herramienta utiliza capacidades estándar de shell y del sistema de archivos, incluyendo Read, Write, Edit, Glob, Grep y Bash para inspeccionar el repositorio. Gestiona su propio estado a través de un sistema de directorios estructurado que rastrea planes, nominaciones y análisis.
Lo que un agente puede hacer con ella
- 1Realizar una auditoría de seguridad completaEjecuta un escaneo SAST exhaustivo en un repositorio para encontrar vulnerabilidades de OWASP.
- 2Escanear librerías en busca de fallos específicosComprueba una librería en busca de problemas como prototype pollution, deserialización insegura o ReDoS.
Escrito a partir del SKILL.md de la skill. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar la skill ghost-scan-code
Cada comando copia la carpeta de la skill al directorio de skills del cliente. Reinicia el cliente o inicia una nueva sesión para cargarla.Instalar la skill ghost-scan-code en Plugin
/plugin marketplace add ghostsecurity/skills /plugin install ghost@ghost-security
Instalar la skill ghost-scan-code en Claude Code
~/.claude/skills/ghost-scan-code/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/scan-code ~/.claude/skills/ghost-scan-codeInstalar la skill ghost-scan-code en Claude Code (project)
.claude/skills/ghost-scan-code/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/scan-code .claude/skills/ghost-scan-codeInstalar la skill ghost-scan-code en Codex
~/.agents/skills/ghost-scan-code/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/scan-code ~/.agents/skills/ghost-scan-codeInstalar la skill ghost-scan-code en Gemini CLI
~/.gemini/skills/ghost-scan-code/SKILL.md
$ npx degit ghostsecurity/skills/plugins/ghost/skills/scan-code ~/.gemini/skills/ghost-scan-codeInstalar la skill ghost-scan-code en Claude.ai
npx degit ghostsecurity/skills/plugins/ghost/skills/scan-code ghost-scan-code && zip -r ghost-scan-code.zip ghost-scan-code # claude.ai → Customize → Skills → + → Create skill → Upload a skill → ghost-scan-code.zip
Verificaciones automáticas
Ejecutado 15 nov 2026Informe completo →Aún sin verificar. Una skill necesita 80 puntos, ningún hallazgo grave y datos suficientes para comprobarla. Cómo funcionan las verificaciones · Qué corregir para obtener más puntos
- Repositorio de origen vinculado y accesibleghostsecurity/skills/plugins/ghost/skills/scan-code is public and reachablegithub.com/ghostsecurity/skills/tree/HEAD/plugins/ghost/skil ↗Aprobado
- Licencia de código abierto (OSI)apache-2.0spdx.org/licenses/apache-2.0.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit 2026-09-28github.com/ghostsecurity/skills/commits ↗Aprobado
- Sin descargar y ejecutar ni robo de credenciales en los scripts1 script read; no download-and-run, remote eval, base64 execution or credential uploadAprobado
- Sin instrucciones ocultas en SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/ghostsecurity/skills/blob/HEAD/plugins/ghost/skil ↗Aprobado
- Las herramientas preaprobadas están acotadasBash lets the agent run any shell command without askinggithub.com/ghostsecurity/skills/blob/HEAD/plugins/ghost/skil ↗Hallazgo
- SKILL.md sigue el formato de Agent Skillsname "ghost-scan-code" differs from the folder "scan-code"github.com/ghostsecurity/skills/blob/HEAD/plugins/ghost/skil ↗Hallazgo
SKILL.md
Ver en GitHubFind Issues
You find security issues in a repository. This skill plans which vulnerability vectors to scan, then executes those scans against each project.
Inputs
- depth:
quick(default),balanced, orfull— override via$ARGUMENTS
$ARGUMENTS
Note: Arguments passed can be used to customize the scan workflow if provided. For example, if the user specifies a specific set of vectors, count of vectors, specific candidate files, areas to focus on, count of candidate files, etc., ensure the relevant details are passed to the relevant steps in the skill.
Supporting files
- Loop script: scripts/loop.sh
- Scan criteria: criteria/index.yaml
Step 1: Setup
Compute the repo-specific output directory:
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}" && scan_dir="${ghost_repo_dir}/scans/${short_sha}/code" && cache_dir="${ghost_repo_dir}/cache" && mkdir -p "$scan_dir" && echo "scan_dir=$scan_dir cache_dir=$cache_dir"
- Read
$cache_dir/repo.md— if missing, run the repo-context skill first and then continue. - Read criteria/index.yaml to get the valid agent→vector mappings per project type
- Set
depthtoquickif not provided - If
depthisfull, warn the user that a full scan uses significantly more tokens and ask them to confirm before proceeding. If they decline, fall back tobalanced.
Step 2: Plan Scans
If $scan_dir/plan.md already exists, skip to the next step.
Otherwise, run the planner using scripts/loop.sh:
bash <path-to-loop.sh> $scan_dir planner.md "- depth: <depth>
- arguments: <relevant argument overrides if any, otherwise omit>" 1 $cache_dir
Use a 10-minute timeout. If the command times out, re-run it — the script resumes from where it left off. If it fails 3 times consecutively with the same error, stop and report the failure.
Verify: $scan_dir/plan.md exists and contains at least one ## Project: section before proceeding.
Step 3: Nominate Files
If $scan_dir/nominations.md does not exist, generate it by reading $scan_dir/plan.md and for each project section (## Project: <base_path> (<type>)), parse the Recommended Scans table. For each row, extract the Agent and Vector columns. Write $scan_dir/nominations.md - one line per (project, agent, vector) combination. Skip projects with empty scan tables.
# Nominations
- [ ] <base_path> (<type>) | <agent> | <vector>
- [ ] <base_path> (<type>) | <agent> | <vector>
...
If $scan_dir/nominations.md already exists, change every top level task - [x] to - [ ]. Keep all indented lines/subtasks beneath each item unchanged.
Run nomination script
Using scripts/loop.sh:
bash <path-to-loop.sh> $scan_dir nominator.md "- depth: <depth>
- arguments: <relevant argument overrides if any, otherwise omit>" 5 $cache_dir
Use a 10-minute timeout. If the command times out, re-run it — the script resumes from where it left off. If it fails 3 times consecutively with the same error, stop and report the failure.
Verify: $scan_dir/nominations.md contains at least one - [x] line before proceeding.
Step 4: Analyze Nominated Files
Read $scan_dir/nominations.md. For each candidate file under a checked - [x] line, append to $scan_dir/analyses.md (skip candidates already listed in analyses.md).
- [ ] <base_path> (<type>) | <agent> | <vector> | <candidate_file>
Create the findings directory:
mkdir -p $scan_dir/findings
Run analysis script
Using scripts/loop.sh:
bash <path-to-loop.sh> $scan_dir analyzer.md "" 5 $cache_dir
Use a 10-minute timeout. If the command times out, re-run it — the script resumes from where it left off. If it fails 3 times consecutively with the same error, stop and report the failure.
Verify: $scan_dir/analyses.md contains at least one - [x] line before proceeding.
Step 5: Verify Findings
List all .md files in $scan_dir/findings/. If none exist, write a no-findings.md summary and stop.
Using scripts/loop.sh:
bash <path-to-loop.sh> $scan_dir verifier.md "" 5 $cache_dir
Use a 10-minute timeout. If the command times out, re-run it — the script resumes from where it left off. If it fails 3 times consecutively with the same error, stop and report the failure.
Completion
After all steps complete, report the scan results:
- List all finding files in
$scan_dir/findings/ - Count verified vs rejected findings
- Present a summary to the user
Archivos de esta skill
12Preguntas sobre la skill ghost-scan-code
¿Cómo instalo la skill ghost-scan-code en Claude Code?
Ejecuta npx degit ghostsecurity/skills/plugins/ghost/skills/scan-code ~/.claude/skills/ghost-scan-code. Claude Code carga las skills desde ~/.claude/skills (todos los proyectos) o .claude/skills (un proyecto) y usa una skill cuando su descripción coincide con la tarea.
¿Qué clientes pueden usar la skill ghost-scan-code?
Cualquier cliente que lea el formato Agent Skills: Claude Code, Codex, Gemini CLI y claude.ai (subir como ZIP). Los scripts de la skill se ejecutan solo donde el cliente permite la ejecución de código.
¿Qué tipos de vulnerabilidades de seguridad puede encontrar esta herramienta?
La herramienta busca problemas que incluyen inyección SQL, XSS, BOLA, BFLA, SSRF, prototype pollution, deserialización insegura, ReDoS, path traversal y zip slip.
¿Qué sucede si elijo un escaneo completo?
Un escaneo completo utiliza significativamente más tokens, por lo que el agente te avisará y te pedirá confirmación antes de proceder.