Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
agentic-ioc-scanner — Escáner de IOC para herramientas de codificación de IA agéntica — detecta Mini Shai-Hulud, Gemini CLI RCE, Cursor CVE-2026-26268 y DPRK PromptMink. | Kitploit
Herramientas/GitHubGitHub/dhawaldesai/agentic-ioc-scanner
Gestión de Indicadores de Compromiso (IOC)Análisis EstáticoEscáneres de VulnerabilidadesAnálisis de CódigoAnálisis de MalwareInteligencia de AmenazasSeguridad de Cadena de SuministroPapers e InvestigaciónAprendizaje y Educación

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Respuesta a Incidentes
Recursos Curados
GitHubdhawaldesai/agentic-ioc-scanner

agentic-ioc-scanner

Escáner de IOC para herramientas de codificación de IA agéntica — detecta Mini Shai-Hulud, Gemini CLI RCE, Cursor CVE-2026-26268 y DPRK PromptMink.

Ver Repositorio
hace 3 mesesAún no revisado

agentic-ioc-scanner

Escáner de IOC para herramientas de codificación de IA agéntica — detecta Mini Shai-Hulud, Gemini CLI RCE, Cursor CVE-2026-26268 y DPRK PromptMink.

Un kit de detección para el compromiso de asistentes de codificación de IA agéntica (Claude Code, Gemini CLI, Cursor) y las dependencias que introducen en tus repositorios. Once comprobaciones en inyección de hooks, configuraciones RCE, dependencias maliciosas, backdoors en git hooks y manipulación de flujos de trabajo de CI. La lista de IOC está externalizada: añadir nuevos indicadores no requiere cambios de código.

Artículo complementario del blog: Cuando la herramienta contraataca.

Qué se incluye

1. Escáner de IOC (scanner/ais.sh)

Once comprobaciones, cada una con un What: (propósito) y un Fix: (remediación) en línea, impresos bajo el encabezado de la sección para que el informe se explique por sí mismo. La lista de IOC vive en scanner/iocs.txt (versionada; se puede sobrescribir con IOC_FILE=/path/to/iocs.txt).

Uso:

root@kitploit:~
bash scanner/ais.sh
# Enter your project folder when prompted

# Custom IOC list:
IOC_FILE=./my-iocs.txt bash scanner/ais.sh

# Custom report path (default: ./agentic-ioc-scan-YYYYMMDD-HHMMSS.log):
REPORT_FILE=/var/log/agentic-scan.log bash scanner/ais.sh

Salida

  • Los hallazgos se transmiten al terminal (con color) y a un archivo de informe en texto plano (agentic-ioc-scan-YYYYMMDD-HHMMSS.log por defecto, sin ANSI mediante tee → sed).
  • Etiquetas de severidad: [CRITICAL] (actúe ya), [WARNING] (probablemente malicioso — verifique), [REVIEW] (es posible un uso legítimo — confirme), [OK] (limpio).
  • Los hallazgos de contenido de archivos incluyen el número de línea donde se encontró el indicador (formato ruta:línea). Secciones que muestran números de línea: §1 hook, §2 firma Bun, §3 señal de ofuscación, §5 clave preinstall, §7 metachar Gemini, §8 referencia a git-hook en AGENTS.md, §9 contenidos sospechosos de hooks.
  • El hallazgo §11 de remoto de gusano además informa la línea de .git/config infractora y la URL remota coincidente, para que puedas ir directamente a la entrada que debe eliminarse.
  • La redirección de core.hooksPath (§9) informa la ruta absoluta del .git/config del repositorio para que la reasignación sea auditable.

Ejemplo de hallazgo

root@kitploit:~
[CRITICAL] Repo points to known worm exfil name
           Repo:   /home/dev/projects/myrepo
           Config: /home/dev/projects/myrepo/.git/config:9
           URL:    https://github.com/dhawaldesai/A-Mini-Shai-Hulud-has-Appeared

[CRITICAL] Malicious hook: /home/dev/projects/myrepo/.claude/settings.json:3
[CRITICAL] Suspicious git post-checkout hook: /home/dev/projects/myrepo/.git/hooks/post-checkout:2

Actualización de los IOC

Edita scanner/iocs.txt y actualiza el encabezado # version:. El formato es TYPE|VALUE|NOTES. Tipos admitidos:

No se requiere ningún cambio de código cuando aparecen nuevos IOC: el escáner los lee al inicio e imprime la versión cargada en el banner.

Dependencias

Requeridas: bash, find, grep, awk, sed, git. Opcionales: jq (preferido para §1 — recurre a la heurística de grep si no está), npm (requerido para la comprobación de paquetes globales de §10; la sección se omite silenciosamente si no está disponible).

2. Escáner de versiones de paquetes afectados (scanner/pkg_version_check.sh)

Complementario al escáner de IOC. Lee un CSV de pares paquete,versión afectados (p. ej. el feed de IOC de Mini Shai-Hulud en ~/Downloads/Mini Shai-Hulud - Sheet1.csv — 633 pares de paquete/versión npm) y comprueba si aparecen en:

  1. Un directorio de proyecto local proporcionado por el usuario: escanea package.json, package-lock.json, yarn.lock, pnpm-lock.yaml y los package.json de node_modules/<pkg> instalados. También se comprueban los manifiestos de PyPI (requirements.txt, poetry.lock, Pipfile.lock) cuando el CSV contiene nombres sin ámbito.
  2. Los repositorios de GitHub del usuario, mediante la CLI gh: búsqueda de código entre tipos de lockfiles y luego validación de versión exacta a través de la API SBOM del grafo de dependencias (/repos/{owner}/{repo}/dependency-graph/sbom).

Modelo de severidad: coincidencia exacta de pkg@version en un lockfile, en node_modules/ o en el SBOM → [CRITICAL]. Especificador de rango (^1.2.3, ~1.2.3, >=…) que podría incluir la versión afectada → [REVIEW]. Coincidencia de nombre de paquete sin confirmación de versión → [REVIEW]. La salida se transmite al terminal y a ./shai-hulud-pkg-scan-YYYYMMDD-HHMMSS.log (sin ANSI), con un resumen del desglose de severidad al final.

Uso:

root@kitploit:~
# Interactive — prompts for project directory
bash scanner/pkg_version_check.sh

# Fully scripted (env-var overrides)
PROJECT_DIR=/path/to/project \
  IOC_CSV="$HOME/Downloads/Mini Shai-Hulud - Sheet1.csv" \
  REPORT_FILE=/var/log/pkg-scan.log \
  bash scanner/pkg_version_check.sh --skip-node-modules

Formato CSV: col1 = nombre del paquete (se admiten nombres con ámbito como @scope/pkg), col2 = versión afectada exacta. Una fila de encabezado se detecta y se omite automáticamente. Sobrescribe la ruta con IOC_CSV=….

Dependencias: bash, find, grep, awk, sed. Opcionales: jq (mejora la precisión del análisis de node_modules/<pkg>/package.json), gh (necesario para la fase de GitHub; la fase se omite con un mensaje claro si no está o no está autenticado).

Limitaciones conocidas:

  • La búsqueda de código de GitHub no encuentra lockfiles de >384KB y solo indexa las ramas predeterminadas: la ruta SBOM es la comprobación autoritativa.
  • La fase de GitHub está limitada por el rate limit (10 req/min autenticados); limitada a ~5 paquetes cada 7 s, por lo que un CSV completo de 633 filas tarda ~22 minutos contra GitHub. Ejecuta primero los escaneos locales y la fase de GitHub por separado.
  • El análisis de lockfiles se basa en grep, no se analiza por completo: el formato profundamente anidado o inusual puede producir falsos negativos. El siguiente paso de mayor valor es el análisis de lockfiles con jq.
  • La API SBOM requiere que el grafo de dependencias del repositorio esté habilitado e indexado; los repositorios sin él recurren a [REVIEW].

3. Política de seguridad de Claude Code (claude-code-policy/)

Capa de prevención para Claude Code, que complementa la capa de detección anterior.

  • Bloquea la ejecución de hooks a nivel de proyecto (allowManagedHooksOnly)
  • Bloquea escrituras en .claude/settings.json
  • Bloquea la ejecución de patrones de dropper conocidos
  • Bloquea los comandos curl, wget y bun del uso de herramientas por parte del agente

Instalación:

root@kitploit:~
# Copy managed settings (cannot be overridden by projects)
cp claude-code-policy/managed-settings.json ~/.claude/managed-settings.json

# Copy the PreToolUse hook
mkdir -p ~/.claude/hooks
cp claude-code-policy/hooks/block_shai_hulud.py ~/.claude/hooks/
chmod +x ~/.claude/hooks/block_shai_hulud.py

Hoja de ruta / brechas conocidas

  • Escaneo global de PyPI equivalente a §10 (actualmente solo está conectado npm ls -g).
  • Hook pre-receive del lado del servidor para rechazar pushes que añadan archivos .claude/settings.json, .vscode/tasks.json o .gemini/ de autores no incluidos en la lista blanca.
  • Integración opcional con la protección de push / Advanced Security de GitHub.

Referencias

  • Cuando la herramienta contraataca — análisis complementario
  • Sophos: ataque a la cadena de suministro de Mini Shai-Hulud a paquetes npm de SAP
  • Mend.io: Shai-Hulud golpea a SAP — el gusano de cadena de suministro utiliza Claude Code como arma
  • Wiz: Mini Shai-Hulud en la cadena de suministro de SAP npm
  • Novee Security: RCE en Google Gemini CLI — aviso CVSS 10.0
  • The Hacker News: Google corrige el RCE CVSS 10 en CI/CD de Gemini CLI (también cubre Cursor CVE-2026-26268)
  • ReversingLabs: PromptMink — malware norcoreano insertado en el código mediante Claude
  • Endor Labs: Mini Shai-Hulud regresa — 42 paquetes npm maliciosos con insignias Sigstore falsas en el ataque al ecosistema @antv

Contribuciones

Se aceptan issues y PRs, especialmente para nuevas propuestas de IOC (añádelas a scanner/iocs.txt y actualiza el encabezado de versión), raíces de escaneo adicionales específicas de plataforma y patrones de detección para herramientas agénticas afines (Continue, Cody, Codex CLI, Aider).

Licencia

MIT

Descargar herramienta
§ComprobaciónAmenaza cubierta
1Inyección de hook SessionStart de Claude Code en cualquier settings.json (basado en jq, bajo FP)Persistencia de Mini Shai-Hulud
2Firmas de dropper en runtime Bun en setup.mjsEtapa de instalación de Mini Shai-Hulud
3Payloads execution.js ofuscados: tamaño más señal de ofuscación (una sola línea, base64, eval(atob(, child_process)Robador de credenciales de Mini Shai-Hulud
4Archivos de bloqueo de malware en $TMPDIR (nombres procedentes de la lista de IOC)Centinela de Mini Shai-Hulud
5Scripts preinstall de package.json que referencian nombres de archivos de droppersPunto de entrada genérico de gusano en la cadena de suministro
6Commits escritos por IA que tocan .github/workflows/ (filtro de lista blanca de correos)Manipulación de CI por identidad comprometida de agente de IA
7Archivos de configuración .gemini/ con patrones de metacaracteres de shellRCE CVSS 10.0 de Gemini CLI (anterior a v0.39.1)
8Configuraciones AGENTS.md y .cursor/ de Cursor que referencian git hooks / repositorios bareCursor CVE-2026-26268
9Hooks de Git post-checkout / post-merge / post-rewrite / pre-commit que contienen primitivas de fetch-and-execute, además de core.hooksPath redirigido fuera de la lista blanca seguraPrimitiva exec de CVE-2026-26268 + secuestro genérico de hooks
10Paquetes instalados globalmente y locales de node_modules contrastados con la lista de IOCConjunto SAP CAP de Mini Shai-Hulud, DPRK PromptMink, futuros paquetes maliciosos
11Remotos de Git que coinciden con nombres de repositorios conocidos de exfiltración por gusano (Shai-Hulud, A Mini Shai-Hulud has Appeared)Señal de compromiso confirmado
  • Compatible con worktrees: cuando .git es un archivo (que contiene gitdir: …), se resuelve el directorio git real antes de la inspección.
  • TipoUsado porEjemplo
    FILENAME§5 patrón preinstallsetup.mjs
    LOCKFILE§4 escaneo de archivos de bloqueotmp.987654321.lock
    NPM§10 escaneo de paquetes globales y locales@validate-sdk/v2
    PYPI§10 (se contrasta cuando se añada un escáner de PyPI)lightning
    HOOKSTRING§1 coincidencia de contenido de hook (actualmente codificado en línea)SessionStart
    REPONAME§11 coincidencia de remoto de gitA Mini Shai-Hulud has Appeared
    EMAILSUBSTRINGreservado para futuras coincidencias de autor de commits IOC—
    CONFIGPATHlista de referencia de rutas de configuración de herramientas agénticas.claude/settings.json