Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
code-shield — Pipeline de remediación de vulnerabilidades C/C++ basado en evidencia + caso de estudio de http-parser (CVE-2024-22019-class). Núcleo en Python, consola React 19, suite de verificación de 17 pruebas. | Kitploit
Herramientas/GitHubGitHub/kos2001/code-shield
Herramientas DefensivasAnálisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoFuzzingAnálisis de Binarios
GitHubkos2001/code-shield

code-shield

Pipeline de remediación de vulnerabilidades C/C++ basado en evidencia + caso de estudio de http-parser (CVE-2024-22019-class). Núcleo en Python, consola React 19, suite de verificación de 17 pruebas.

Ver Repositorio
12hace 2 mesesAún no revisado

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

protocol-remediator

Es un MVP que normaliza los hallazgos de vulnerabilidades en código C/C++ de protocolos y plataformas como evidencia reproducible, y valida parches candidatos en una copia aislada. code-shield era un nombre de trabajo con riesgo de colisión, por lo que se usó un nombre interno neutral para el paquete público y la CLI.

El centro de la implementación actual no es un modelo de generación de parches, sino el siguiente bucle cerrado de verificación.

sanitizer 또는 SARIF
  -> Finding + EvidenceBundle
  -> source context
  -> manual/external-agent patch
  -> 원본 재현
  -> build
  -> patched reproducer
  -> tests
  -> static rescan
  -> bounded refuzz
  -> protocol oracle
  -> verified report

Funcionalidades implementadas

  • Modelos JSON versionados Finding, EvidenceBundle, PatchProposal y VerificationReport
  • Transición de estados detected → reproducible → contextualized → proposed → plausible → verified
  • Recolección de informes de AddressSanitizer, MemorySanitizer y UndefinedBehaviorSanitizer
  • Ingesta de hallazgos SARIF 2.1
  • Exportación de hallazgos normalizados a SARIF 2.1
  • Generación de un JSON de contexto auditable alrededor de la ubicación de la fuente
  • Configuración de target/build/gate basada en TOML
  • Ejecutor de Docker con red desactivada, supresión de capacidades y límites de recursos
  • Ejecutor local que requiere opt-in explícito
  • Reproducción del hallazgo en una copia del target original y verificación del parche en una copia separada
  • Verificaciones de checksum del parche, checksum del reproducer, escape de rutas, symlinks y límites de archivos y líneas
  • Rechazo de parches en rutas protegidas como tests, fuzz harness o reproducer
  • Adaptador de comandos para agentes de parche externos
  • Preservación del código de salida, stdout/stderr, tiempos y resultados de los gates de cada comando

Requisitos

  • Python 3.11 o superior
  • Git para la verificación de parches
  • Docker para la ejecución aislada por defecto
  • Clang para ejecutar los ejemplos

No hay dependencias de Python en tiempo de ejecución.

Instalación y pruebas

python3 -m venv .venv
.venv/bin/pip install -e .
.venv/bin/python -m unittest discover -s tests -v

Para ejecutar sin instalar:

PYTHONPATH=src python3 -m protocol_remediator --help
PYTHONPATH=src python3 -m unittest discover -s tests -v

La suite dinámica de extremo a extremo es una matriz de fixtures C/C++ en examples. Reproduce realmente CWE-121, CWE-190, CWE-416, CWE-787 y CWE-476 con Clang ASan/UBSan y, a continuación, ejecuta los seis gates para un parche que restaura cada invariante. La entrada y el alcance de verificación por fixture se documentan en examples/README.md.

Para ejecutar solo la matriz real sin el framework de pruebas unitarias:

PYTHONPATH=src python3 examples/run_fixture_matrix.py

Para generar y ejecutar automáticamente más variantes de ejemplo en C/C++:

PYTHONPATH=src python3 examples/run_generated_corpus.py --count 50

Este runner no usa unittest; pasa cada proyecto generado por el mismo VerificationPipeline. El resumen de resultados se guarda por defecto en artifacts/generated-corpus-summary.json.

Consola del frontend

El frontend Vite + React + TypeScript, que permite supervisar el estado actual de la implementación como un panel operativo, se encuentra en frontend. Esta consola reúne en una sola pantalla la matriz de fixtures, el corpus generado, la superficie de conexión con el servidor de API Hermes, los gates de verificación y los invariantes de seguridad de la evidencia.

cd frontend
npm install
npm run dev

El servidor de desarrollo por defecto es http://127.0.0.1:5173. La compilación de producción se comprueba con:

cd frontend
npm run build

CLI

Ingesta de hallazgos de sanitizer

protocol-remediator ingest-sanitizer \
  --log asan.log \
  --reproducer crash.input \
  --target-name parser \
  --revision 0123456789abcdef \
  --variant asan-x86_64 \
  --output intake/parser-crash

Salida:

intake/parser-crash/finding.json
intake/parser-crash/evidence.json

Ingesta de SARIF

protocol-remediator ingest-sarif \
  --sarif results.sarif \
  --output intake/sarif

Exportación de SARIF

protocol-remediator export-sarif \
  --finding intake/parser-crash/finding.json \
  --finding intake/another/finding.json \
  --output artifacts/findings.sarif

Generación de contexto neutral al modelo

protocol-remediator context \
  --finding intake/parser-crash/finding.json \
  --evidence intake/parser-crash/evidence.json \
  --target-root /path/to/target \
  --output intake/parser-crash/context.json

Verificación de un parche existente

protocol-remediator verify \
  --config /path/to/target/target.toml \
  --finding intake/parser-crash/finding.json \
  --evidence intake/parser-crash/evidence.json \
  --patch candidate.patch \
  --artifacts artifacts

El código de salida es 0 si está verificado, 1 si la verificación falla y 2 si hay un error de configuración o de entrada.

Hermes agent API server

Al levantar el servidor de API Hermes, remediate puede solicitar el parche a través de la API HTTP en lugar de un comando local. El endpoint por defecto es POST /v1/patches; recibe el hallazgo/evidencia/contexto y un archivo del workspace del target, y devuelve un diff unificado.

Ejecución del servidor de ejemplo:

PYTHONPATH=src python3 -m protocol_remediator.hermes_server \
  --host 127.0.0.1 \
  --port 8765

Tras la instalación, también se puede usar el console script.

hermes-agent-server --host 127.0.0.1 --port 8765

Para conectar un comando backend de producción, repite --backend-command por cada argumento. Se admiten los placeholders {context}, {workspace} y {patch_output}.

hermes-agent-server \
  --backend-command my-patch-agent \
  --backend-command --context \
  --backend-command {context} \
  --backend-command --workspace \
  --backend-command {workspace} \
  --backend-command --output \
  --backend-command {patch_output}

En target.toml se especifica el modo Hermes de la siguiente manera:

[agent]
mode = "hermes"
url = "http://127.0.0.1:8765"
timeout_seconds = 30

A continuación, usa el comando remediate existente tal cual.

protocol-remediator remediate \
  --config examples/length-prefixed-parser/target.hermes.toml \
  --finding artifacts/hermes-cli-input/finding.json \
  --evidence artifacts/hermes-cli-input/evidence.json \
  --artifacts artifacts/hermes-cli

Para la comprobación end-to-end de desarrollo, ejecuta el siguiente runner. Este runner levanta un servidor Hermes temporal, recibe el parche mediante el cliente de API y ejecuta el bucle de verificación completo.

PYTHONPATH=src python3 examples/run_hermes_demo.py

Creación y verificación de un agente de comando externo

Para invocar directamente un comando local sin usar Hermes, especifica el comando del agente como un array de cadenas en target.toml.

[agent]
mode = "command"
command = [
  "my-patch-agent",
  "--context",
  "{context}",
  "--workspace",
  "{workspace}",
  "--output",
  "{patch_output}",
]
timeout_seconds = 900

A continuación, ejecuta el siguiente comando:

protocol-remediator remediate \
  --config /path/to/target/target.toml \
  --finding intake/parser-crash/finding.json \
  --evidence intake/parser-crash/evidence.json \
  --artifacts artifacts
Descargar herramienta