Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
RAGE — Herstellerneutrales NDJSON-Angriffsgraph-Format mit Knoten-/Kanten-Taxonomie, AWS/GCP/Azure-Zuordnungen, Ableitungsregeln und einer Exposure-DB für Offensive-Security-Tooling. | Kitploit
Tools/GitHubGitHub/trustedsec/rage
DefensivwerkzeugeSchwachstellenanalyseScripting & AutomatisierungKonfigurationsprüfungInformationsbeschaffungPenetrationstestsCloud-SicherheitDienstprogramme & FrameworksBedrohungsanalyseRed Teaming
GitHubtrustedsec/rage
6132vor 2 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

RAGE

Herstellerneutrales NDJSON-Angriffsgraph-Format mit Knoten-/Kanten-Taxonomie, AWS/GCP/Azure-Zuordnungen, Ableitungsregeln und einer Exposure-DB für Offensive-Security-Tooling.

Repository anzeigen
Teilen

RAGE - Relational Attack Graph Exchange

Ein Attack Graph, den man tatsächlich weitergeben kann.

Jedes graphbasierte Sicherheitsprodukt hält deinen Attack Graph in einem proprietären Speicher eingeschlossen. Du kannst ihn nicht exportieren, zwei Scans nicht vergleichen, ihn nicht in die Versionskontrolle aufnehmen oder ihn mit etwas anderem als der UI des Anbieters abfragen. Wenn das Engagement endet, verschwindet der Graph mit ihm.

RAGE ist ein anbieterneutrales Dateiformat für offensive Sicherheitsgraphen, plus der offene Korpus, der ihm Bedeutung verleiht: die Knoten- und Kanten-Taxonomie, die AWS/GCP/Azure-Mappings und Collection-Rezepte sowie die Kantenableitungsregeln. Eine Datei. Jede Sprache. Einfach nehmen und loslegen.

Status: früher Entwurf (spec_version: 0.1). Noch nicht stabil; Feedback und Pull Requests sind willkommen.

Das gesamte Format in einem Atemzug

Ein RAGE-Graph ist eine einzelne NDJSON-Datei (ein JSON-Objekt pro Zeile). Zeile 1 ist das Manifest; jede andere Zeile ist ein Datensatz, der mit kind gekennzeichnet ist.

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"}

Eine Zwei-Hop-Kette, die die Taxonomie respektiert: sa-deploy kann sa-admin imitieren (eine Identität-zu-Identität-Kante), welche den Kronjuwelen-Bucket lesen kann (Identität zu Storage).

Lies es in drei Zeilen in jeder Sprache:

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

Datensatz-Arten

kinderforderliche FelderZweck
manifestspec_versionZeile 1: Version + optionale Zählungen/Scope/Producer
nodenode_id, node_typeeine Ressource oder Identität
edgesource, target, typeeine Fähigkeit oder Beziehung
factfact_ideine normalisierte Beobachtung, aus der der Graph erstellt wurde
evidenceevidence_id, content_hashmanipulationssicherer Beleg (eine API-/Collection-Operation)
findingresource_id, severityeine Exposition
surface / path-optionale Erweiterungs-Arten

Die Provenienzkette ist evidence (API), dann fact, dann edge/finding, verknüpft durch IDs. node_type und Kanten-type stammen aus den offenen Registries in vocab/. Alles andere ist optionale Anreicherung. Siehe spec/format.md.

Der Korpus

Das Format ist nur die Hälfte von RAGE. Die andere Hälfte ist der gemeinsame Korpus, der den Typen Bedeutung verleiht, damit zwei unabhängige Tools darin übereinstimmen, was CanImpersonate ist und wo ein Credential lecken kann:

  • Taxonomie (vocab/): 105 Knotentypen in 10 Klassen, 80 Kantentypen in 9 Kategorien.
  • Mappings und Collection-Rezepte (providers/): 219 native Ressourcentypen über AWS, GCP und Azure, jeweils auf einen generischen Knotentyp abgebildet, mit den Aufrufen, die ihn enumerieren.
  • Ableitungsregeln (rules/): der Vertrag in rules/derivation.json plus 2.400+ ausführbare match/where/emit-Regeln dafür, wie Kanten abgeleitet werden.
  • Exposure DB (exposure-db/): 1.049 kartierte Credential-Leak-Stellen, jede verknüpft mit der RAGE-Kante, die sie ausgibt, und dem Rezept, das sie liest.

Der gesamte Korpus, menschenlesbar, steht in TAXONOMY.md.

Implementierungen

RAGE ist so konzipiert, dass jeder es erzeugen oder konsumieren kann. Das Format ist der Vertrag; die Tools sind austauschbar, und die Liste ist offen.

RAGE ist das Format, Thunderstorm erzeugt es, Blaze erkundet es.

ImplementierungRolleWo
ThunderstormProducer: Read-only-Cloud-Collector + Ableitungs-Enginegithub.com/ustayready/thunderstorm
dein Tool hierProducer oder Consumergib .rage.ndjson aus oder lies es und es interoperiert

Alles, was das Format liest oder schreibt, spricht RAGE. Konforme Producer und Engines entsprechen den Registries in diesem Repository; RAGE hängt von keinem von ihnen ab. Siehe COMPATIBILITY.md dazu, wie Implementierungen sich an eine spec_version binden.

Was hier ist

  • spec/format.md - das Wire-Format (Datensätze, node_id-Grammatik, .rage.zip, Scope).
  • spec/edges.md - Kantensemantik: Richtung/Traversierung, state, weight/walkable, Kanonisierung.
  • spec/rules.md - Regelauswertungssemantik: Fixpunkt, State-Merge, der Funktionskatalog.
  • schemas/ - JSON Schema für alle 8 Datensatz-Arten.
  • vocab/ - node-types.json + edge-types.json + conditions.json.
  • rules/derivation.json - der Kantenableitungsvertrag (pro Kante: Bedingungen + pro-Cloud-Berechtigungen/Trigger).
  • rules/{derived,explicit}/** - der ausführbare Korpus von 2.400+ match/where/emit-Regeln.
  • providers/{aws,gcp,azure}.json - Native-zu-Generic-Mappings + Knotenrezepte + Fact-Rezepte.
  • exposure-db/{aws,gcp,azure}.json + vocabulary.json - die Exposure DB (1.049 Leak-Stellen).
  • TAXONOMY.md - der gesamte Korpus, menschenlesbar (generiert aus den obigen Registries).
  • tools/rage_engine.py - die Referenz-Regel-Engine: führt den Korpus abgeleiteter Regeln über einen Graphen bis zu einem Fixpunkt aus.
  • validate/ - Validatoren für Datensätze (vollständiges JSON Schema), Registries, Permission-Strings und Regelkorpus.
  • examples/ - ein minimaler gültiger Graph, der alle 8 Datensatz-Arten ausübt.

Validieren

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 führt all das oben Genannte plus ein gen_taxonomy-No-Drift-Gate aus.

Lizenz

Apache-2.0 (siehe LICENSE).

Tool herunterladen