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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cage — Arnés de reproducción, parches y herramientas de análisis para auditar un benchmark de ciberdefensa basado en aprendizaje: captura trazas de agentes, ejecuta ablaciones de agentes rojos y recalcula cada figura del artículo a partir de los datos publicados. | Kitploit
Herramientas/GitHubGitHub/jrice-ai/cage
Herramientas DefensivasScripting y AutomatizaciónAprendizaje AutomáticoPapers e InvestigaciónAprendizaje y EducaciónRed TeamingRecursos CuradosSeguridad de IAAtaque Adversario
GitHubjrice-ai/cage

cage

Arnés de reproducción, parches y herramientas de análisis para auditar un benchmark de ciberdefensa basado en aprendizaje: captura trazas de agentes, ejecuta ablaciones de agentes rojos y recalcula cada figura del artículo a partir de los datos publicados.

hace 2 díasAú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 →
Ver Repositorio
Compartir

cage, el instrumento detrás de "What a CAGE 4 Score Measures"

Este repositorio es el arnés, los parches, las herramientas de análisis y el registro que respaldan el artículo What a CAGE 4 Score Measures: An Audit of a Learned Cyber-Defense Benchmark, Its Reference Defenders, and the Tables Built on Them (James M. Rice y asesores, Rochester Institute of Technology, 2026). El identificador de arXiv se añade aquí en el primer commit tras su publicación. La etiqueta arxiv-v1 es el estado a partir del cual se calculó cada número del artículo publicado.

Las trazas y los checkpoints a partir de los cuales se calculan los números del artículo están depositados por separado, en https://doi.org/10.5281/zenodo.23681828, en cuatro archivos.

ArchivoContenidoDescomprimir ensha256
traces_arms_arxiv-v1.tar.zstlos registros de pasos de cada brazo de evaluación de la auditoría principal, los 123 que enumera el Apéndice B del artículo y los brazos de diagnóstico que nombra ARMS.md, un directorio por brazo, un archivo JSON-lines por episodiodata/traces/db2c3d17684180e5d4ca7fb9a7f1f739b5414e62da0e8c4b9b792cd31568f456
traces_pilot_arxiv-v1.tar.zstlos registros de pasos del piloto de comprobación de ocupación y su continuación (brazos denominados kbf_*)data/traces/ece72ca24d17bf688144b2d0276ae9f0209aa8a50f95ecdd0aab9a6f8a9c0fc0
checkpoints_pilot_arxiv-v1.tar.zstlos checkpoints conservados y el estado de reanudación de las ejecuciones de entrenamiento del piloto y de la continuaciónrepos/cage-4-submission/checkpoints/dc2c8219e12a0c2931263be0003c8858039931b04b019e1bfa60c0ba6856c07e
checkpoints_continuation_arxiv-v1.tar.zstlos checkpoints de las ejecuciones de continuación de Wrecker de la Sección 5repos/cage-4-submission/checkpoints/en SHA256SUMS
run_logs_arxiv-v1.tar.zstlos registros de entrenamiento y evaluación de las ejecuciones del piloto y de la continuación de ambas máquinas, con pilot_runs.log, que registra el host, el número de hilos, el número de workers, el digest del código y la imagen de cada ejecucióndata/en SHA256SUMS

SHA256SUMS en el depósito enumera los cuatro. Verifique un archivo con sha256sum -c SHA256SUMS antes de descomprimirlo.

Qué hay dónde

RutaQué es
bin/runejecuta un comando en una de las dos imágenes con este directorio montado en /work, pasando los interruptores KEEP_* y HMARL_*. Espera el clon en ~/cage.
build/los dos Dockerfiles (Dockerfile.keep, Dockerfile.marl) y los parches aplicados a los repositorios upstream antes de construir las imágenes
scripts/capture.pyejecuta la política publicada de KEEP sobre semillas de entorno emparejadas y escribe el registro de pasos con las observaciones sin procesar de los agentes y el estado real del simulador
scripts/capture_hmarl.pylo mismo para H-MARL Expert, a través de la ruta de evaluación de los autores (--compat) o a través del arnés supervisor
scripts/oracle.py, scripts/oracle_rules.pyel arnés supervisor sobre KEEP, las reglas O1 a O15 y los defensores de reglas, con los interruptores de entrega (--wait-busy, --queue, --min-gap)
red_agents/los adversarios que el artículo ejecuta más allá del FiniteStateRedAgent estándar. Wrecker y sus escaleras Pn y Qn son propios del artículo (Sección 2), y bin/run copia cada archivo de aquí al directorio SimpleAgents de la imagen al lanzarse
tools_*.pylas herramientas de análisis. tools_paired.py (diferencia emparejada, intervalo bootstrap, victorias, prueba de signos), tools_charge.py y tools_busy_charge.py (la carga de Restore y el resto), tools_dropped.py (ejecutado contra intervenciones aseveradas), tools_cont.py, tools_ceiling.py, tools_fraction_ci.py, tools_latch_sum.py, tools_drawspread.py, tools_lagcorr.py, tools_busy_restores.py, tools_pilot_decisions.py y el resto. Cada una imprime lo que calcula a partir de un directorio de trazas bajo data/traces/
tools_patch_*.pyla pila de parches sobre el código publicado. tools_patch_keep_busy.py, tools_patch_keep_seedmode.py y tools_patch_keep_readall.py, en ese orden, dan al entrenador de KEEP los interruptores de la Sección 6. tools_patch_hmarl_busy.py da al wrapper de H-MARL el interruptor HMARL_BUSY=none. tools_patch_oracle_truth.py añade --log-truth al arnés. Cada uno es idempotente y se niega a ejecutarse sobre código que no reconoce
run_keep_pilot.sh, eval_keep_pilot.sh, pilot_status.sh, test_keep_*.shel piloto y la continuación de la Sección 6, su evaluación y sus pruebas
run_busy_reds.shla política publicada de KEEP con su comprobación de ocupado activada y desactivada en el adversario estándar y otros nueve (Sección 6.1)
queue_*.sh, read_*.sh, run_*.sh, rerun_F.sh, gate_O15.sh, pilot_O15.sh, svy_O15.shlos lanzadores y lectores de la campaña. Cada brazo del artículo fue lanzado por uno de estos, por lo que son el registro de la invocación exacta de cada brazo
ARMS.mdcada brazo, por nombre, con su comando, su media y el archivo que la contiene
RESULTS.mdel registro fechado del trabajo, del más reciente al más antiguo
papers/la copia del artefacto de la capa de análisis del artículo, sin el texto del artículo. papers/paper1/ledger.csv es el libro mayor, una fila por cada número impreso en el artículo, con el comando que lo recalcula. papers/paper1/fig/ contiene los scripts de figuras y tablas. papers/paper1/check_identities.py comprueba las identidades aritméticas que toda compilación debe satisfacer. Los scripts recompute_*.py y means.py en papers/ son los cálculos de criterio, varianza y proporción que invoca el libro mayor

Todo lo que está bajo data/ y repos/ es ignorado por git. Las trazas van bajo data/traces/, los repositorios upstream y los checkpoints bajo repos/.

Tres niveles de reproducción

El Apéndice A del artículo nombra tres niveles. Necesitan cada vez más del entorno.

Nivel 1, cada número impreso a partir de las trazas publicadas, sin contenedor

Clona, descomprime los dos archivos de trazas en data/traces/ y ejecuta el recálculo desde la raíz del repositorio. Ejecuta cada comando distinto del libro mayor desde este directorio y comprueba que el valor almacenado de cada fila aparece en la salida de ese comando.

git clone https://github.com/jrice-ai/cage ~/cage && cd ~/cage && git checkout arxiv-v1
mkdir -p data/traces && tar -I zstd -xf traces_arms_arxiv-v1.tar.zst -C data/traces && tar -I zstd -xf traces_pilot_arxiv-v1.tar.zst -C data/traces
./recompute.sh
python3 papers/paper1/check_identities.py papers/paper1/ledger.csv

Los comandos del ledger nombran la capa de análisis por su ruta en la máquina de los autores, ~/papers, por lo que recompute.sh ejecuta la comprobación con HOME apuntando a un directorio temporal que enlaza papers/ allí. No se escribe nada fuera del repositorio. En un portátil, el recómputo completo tarda decenas de minutos, la mayor parte en los brazos piloto. Diez filas, los hiperparámetros leídos de los checkpoints publicados (claves keep* y trident*, que se ejecutan mediante bin/run), necesitan la imagen de nivel 2 y se reportan como no encontradas sin ella. check_identities.py reporta las identidades aritméticas (el coste es igual al cargo más el resto para cada split, los intervalos de cuatro extracciones y cuatro semillas frente a sus medias y desviaciones estándar, el resto cero del par H-MARL con la máscara desactivada). Los scripts de figuras y tablas bajo papers/paper1/fig/ regeneran las figuras y tablas del artículo a partir de las mismas trazas con CAGE=~/cage python3 papers/paper1/fig/fig_curves.py y de igual modo para fig_drop.py, fig_noise.py, make_tables.py, make_busyreds.py y make_arms.py.

Descargar herramienta