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
RAGE — Formato NDJSON de grafo de ataque neutral respecto al proveedor con taxonomía de nodos/aristas, mapeos de AWS/GCP/Azure, reglas de derivación y una base de datos de exposición para herramientas de seguridad ofensiva. | Kitploit
Herramientas/GitHubGitHub/trustedsec/rage
Herramientas DefensivasAnálisis de VulnerabilidadesScripting y AutomatizaciónAuditoría de ConfiguraciónRecopilación de InformaciónPruebas de PenetraciónSeguridad en la NubeUtilidades y FrameworksInteligencia de AmenazasRed Teaming
GitHub
613hace 1 díaAú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 →
trustedsec/rage

RAGE

Formato NDJSON de grafo de ataque neutral respecto al proveedor con taxonomía de nodos/aristas, mapeos de AWS/GCP/Azure, reglas de derivación y una base de datos de exposición para herramientas de seguridad ofensiva.

Ver Repositorio
Compartir

RAGE - Relational Attack Graph Exchange

Un grafo de ataque que realmente puedes entregar a otra persona.

Todos los productos de seguridad basados en grafos mantienen tu grafo de ataque encerrado dentro de un almacén propietario. No puedes exportarlo, comparar dos escaneos, ponerlo en control de versiones ni consultarlo con nada que no sea la propia interfaz del proveedor. Cuando termina el engagement, el grafo se va con él.

RAGE es un formato de archivo neutral respecto al proveedor para grafos de seguridad ofensiva, además del corpus abierto que le da sentido: la taxonomía de nodos y aristas, los mapeos y recetas de recolección de AWS/GCP/Azure, y las reglas de derivación de aristas. Un archivo. Cualquier lenguaje. Listo para usar.

Estado: borrador temprano (spec_version: 0.1). Aún no es estable; los comentarios y pull requests son bienvenidos.

El formato completo en un suspiro

Un grafo RAGE es un único archivo NDJSON (un objeto JSON por línea). La línea 1 es el manifiesto; cada una de las demás líneas es un registro etiquetado con kind.

root@kitploit:~
{"kind":"manifest","spec_version":"0.1"}
{"kind":"node","node_id":"gcp|proj-a|gcp:iam:service-account|sa-deploy","node_type":"ServiceAccount"}
{"kind":"node","node_id":"gcp|proj-a|gcp:iam:service-account|sa-admin","node_type":"ServiceAccount"}
{"kind":"node","node_id":"gcp|proj-a|gcp:storage:bucket|bucket-crown","node_type":"ObjectStorage"}
{"kind":"edge","type":"CanImpersonate","source":"gcp|proj-a|…|sa-deploy","target":"gcp|proj-a|…|sa-admin"}
{"kind":"edge","type":"CanReadData","source":"gcp|proj-a|…|sa-admin","target":"gcp|proj-a|…|bucket-crown"}
{"kind":"finding","resource_id":"gcp|proj-a|…|bucket-crown","severity":"critical"}

Una cadena de dos saltos que respeta la taxonomía: sa-deploy puede suplantar a sa-admin (una arista de identidad a identidad), que puede leer el bucket de las joyas de la corona (identidad a almacenamiento).

Léelo en tres líneas de cualquier lenguaje:

root@kitploit:~
for line in open("graph.rage.ndjson"): rec = json.loads(line)   # switch on rec["kind"]
root@kitploit:~
jq 'select(.kind=="edge" and .type=="CanImpersonate")' graph.rage.ndjson

Tipos de registro

kindcampos requeridospropósito
manifestspec_versionlínea 1: versión + conteos/alcance/productor opcionales
nodenode_id, node_typeun recurso o identidad
edgesource, target, typeuna capacidad o relación
factfact_iduna observación normalizada a partir de la cual se construyó el grafo
evidenceevidence_id, content_hashrecibo a prueba de manipulación (una operación de API/recolección)
findingresource_id, severityuna exposición
surface / path-tipos de extensión opcionales

La cadena de procedencia es evidence (API) luego fact luego edge/finding, enlazados por ids. node_type y el type de las aristas provienen de los registros abiertos en vocab/. Todo lo demás es enriquecimiento opcional. Consulta spec/format.md.

El corpus

El formato es solo la mitad de RAGE. La otra mitad es el corpus compartido que da significado a los tipos, para que dos herramientas independientes coincidan en qué es CanImpersonate y dónde puede filtrarse una credencial:

  • Taxonomía (vocab/): 105 tipos de nodo en 10 clases, 80 tipos de arista en 9 categorías.
  • Mapeos y recetas de recolección (providers/): 219 tipos de recurso nativos en AWS, GCP y Azure, cada uno mapeado a un tipo de nodo genérico con las llamadas que lo enumeran.
  • Reglas de derivación (rules/): el contrato en rules/derivation.json más más de 2.400 reglas ejecutables match/where/emit sobre cómo se derivan las aristas.
  • Exposure DB (exposure-db/): 1.049 sitios de filtración de credenciales mapeados, cada uno vinculado a la arista RAGE que emite y a la receta que lo lee.

Todo el corpus, legible por humanos, está en TAXONOMY.md.

Implementaciones

RAGE está diseñado para que cualquiera pueda producirlo o consumirlo. El formato es el contrato; las herramientas son intercambiables, y la lista está abierta.

RAGE es el formato, Thunderstorm lo produce, Blaze lo explora.

implementaciónroldónde
Thunderstormproductor: recolector de nube de solo lectura + motor de derivacióngithub.com/ustayready/thunderstorm
tu herramienta aquíproductor o consumidoremite o lee .rage.ndjson y es interoperable

Todo lo que lee o escribe el formato habla RAGE. Los productores y motores conformes se ajustan a los registros de este repositorio; RAGE no depende de ninguno de ellos. Consulta COMPATIBILITY.md para saber cómo las implementaciones se fijan a una spec_version.

Qué hay aquí

  • spec/format.md - el formato de transmisión (registros, gramática de node_id, .rage.zip, alcance).
  • spec/edges.md - semántica de aristas: dirección/recorrido, state, weight/walkable, canonicalización.
  • spec/rules.md - semántica de evaluación de reglas: punto fijo, fusión de estado, el catálogo de funciones.
  • schemas/ - JSON Schema para los 8 tipos de registro.
  • vocab/ - node-types.json + edge-types.json + conditions.json.
  • rules/derivation.json - el contrato de derivación de aristas (por arista: condiciones + permisos/disparadores por nube).
  • rules/{derived,explicit}/** - el corpus ejecutable de más de 2.400 reglas match/where/emit.
  • providers/{aws,gcp,azure}.json - mapeos de nativo a genérico + recetas de nodos + recetas de hechos.
  • exposure-db/{aws,gcp,azure}.json + vocabulary.json - la Exposure DB (1.049 sitios de filtración).
  • TAXONOMY.md - todo el corpus, legible por humanos (generado a partir de los registros anteriores).
  • tools/rage_engine.py - el motor de reglas de referencia: ejecuta el corpus de reglas derivadas sobre un grafo hasta un punto fijo.
  • validate/ - validadores de registros (JSON Schema completo), registros, cadenas de permisos y corpus de reglas.
  • examples/ - un grafo válido mínimo que ejercita los 8 tipos de registro.

Validación

root@kitploit:~
python3 -m venv .venv && ./.venv/bin/pip install -r requirements.txt
./.venv/bin/python validate/rage_validate.py examples/minimal.rage.ndjson   # full JSON Schema + refs
./.venv/bin/python validate/check_registries.py    # registry integrity
./.venv/bin/python validate/check_rules.py         # rule corpus vs vocab

CI ejecuta todo lo anterior más una compuerta de no-deriva de gen_taxonomy.

Licencia

Apache-2.0 (consulta LICENSE).

Descargar herramienta