Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
RAGE — 供应商中立的 NDJSON 攻击图格式,包含节点/边分类法、AWS/GCP/Azure 映射、推导规则,以及用于攻击性安全工具集的暴露数据库。 | Kitploit
工具/GitHubGitHub/trustedsec/rage
防御工具漏洞分析脚本与自动化配置审计信息收集渗透测试云安全实用工具与框架威胁情报红队
GitHubtrustedsec/rage

RAGE

61322天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

供应商中立的 NDJSON 攻击图格式,包含节点/边分类法、AWS/GCP/Azure 映射、推导规则,以及用于攻击性安全工具集的暴露数据库。

查看仓库

RAGE - 关系型攻击图交换格式

一张你真正能交给别人的攻击图。

每个基于图的安全产品都把攻击图锁在专有存储里。你无法导出它、对比两次扫描、将其纳入版本控制,或用厂商自带 UI 之外的任何工具查询它。项目结束时,图也随之消失。

RAGE 是一种面向攻击性安全图的厂商中立文件格式,外加赋予其意义的开放语料库:节点与边分类法、AWS/GCP/Azure 映射与采集配方,以及边推导规则。一个文件。任意语言。即取即用。

状态: 早期草案(spec_version: 0.1)。尚不稳定;欢迎反馈和 pull request。

一口气看懂整个格式

一个 RAGE 图就是一个 NDJSON 文件(每行一个 JSON 对象)。第 1 行是清单;其余每一行都是带有 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"}

一条符合分类法的两跳链:sa-deploy 可以冒充 sa-admin(身份到身份的边),而后者可以读取核心数据桶(身份到存储)。

用任意语言三行代码读取它:

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

记录类型

溯源链是 evidence(API)→ fact → edge/finding,通过 id 关联。node_type 和边的 type 来自 vocab/ 中的开放注册表。其余一切都是可选的补充信息。参见 spec/format.md。

语料库

格式只是 RAGE 的一半。另一半是赋予这些类型意义的共享语料库,使两个独立工具对 CanImpersonate 是什么、凭据可能在哪里泄露达成一致:

  • 分类法(vocab/):10 个类别中的 105 种节点类型,9 个类别中的 80 种边类型。
  • 映射与采集配方(providers/):跨 AWS、GCP 和 Azure 的 219 种原生资源类型,每种都映射到一个通用节点类型,并附带枚举它的调用。
  • 推导规则(rules/):rules/derivation.json 中的契约,外加 2,400+ 条可执行的 match/where/emit 规则,用于描述边如何被推导。
  • 暴露数据库(exposure-db/):1,049 个已映射的凭据泄露点,每个都关联到它发出的 RAGE 边以及读取它的配方。

整个语料库,人类可读,位于 TAXONOMY.md。

实现

RAGE 的设计目标是任何人都能生成或消费它。格式就是契约;工具可以互换,且列表是开放的。

RAGE 是格式,Thunderstorm 生成它,Blaze 探索它。

实现角色位置
Thunderstorm生产者:只读云采集器 + 推导引擎github.com/ustayready/thunderstorm
你的工具在这里生产者或消费者生成或读取 .rage.ndjson 即可互操作

任何读写该格式的东西都说 RAGE。符合规范的生成器和引擎遵循本仓库中的注册表;RAGE 不依赖它们中的任何一个。参见 COMPATIBILITY.md 了解各实现如何固定到某个 spec_version。

这里有什么

  • spec/format.md - 线格式(记录、node_id 语法、.rage.zip、范围)。
  • spec/edges.md - 边语义:方向/遍历、state、weight/walkable、规范化。
  • spec/rules.md - 规则求值语义:不动点、状态合并、函数目录。
  • schemas/ - 全部 8 种记录类型的 JSON Schema。
  • vocab/ - node-types.json + edge-types.json + conditions.json。
  • rules/derivation.json - 边推导契约(每条边:条件 + 各云权限/触发器)。

验证

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 会运行上述所有内容,外加一个 gen_taxonomy 无漂移门禁。

许可证

Apache-2.0(参见 LICENSE)。

下载工具
kind必填字段用途
manifestspec_version第 1 行:版本 + 可选的计数/范围/生产者
nodenode_id, node_type一个资源或身份
edgesource, target, type一种能力或关系
factfact_id构建图所依据的规范化观测
evidenceevidence_id, content_hash防篡改凭据(一次 API/采集操作)
findingresource_id, severity一处暴露
surface / path-可选的扩展类型
  • rules/{derived,explicit}/** - 2,400+ 条 match/where/emit 规则的可执行语料库。
  • providers/{aws,gcp,azure}.json - 原生到通用映射 + 节点配方 + 事实配方。
  • exposure-db/{aws,gcp,azure}.json + vocabulary.json - 暴露数据库(1,049 个泄露点)。
  • TAXONOMY.md - 整个语料库,人类可读(由上述注册表生成)。
  • tools/rage_engine.py - 参考规则引擎:在图上运行派生规则语料库直至不动点。
  • validate/ - 记录(完整 JSON Schema)、注册表、权限字符串和规则语料库验证器。
  • examples/ - 一个最小的有效图,涵盖全部 8 种记录类型。