SuperAPI AI 工具集

openhound-edge-docs

写作与研究

查看项目

更新于 10-29 16:14

技能介绍

用途

该技能用于编写、审阅和改进 OpenHound(BloodHound OpenGraph)扩展中的攻击边说明文档,即 descriptions/edges/*.md 文件,覆盖 Okta、GitHub、Jamf 及其他 OpenGraph 扩展。它随 og-docs-automation 分发,位于 skills/openhound-edge-docs,可通过以下命令安装到 Codex:

pwsh docs/og-docs-automation/scripts/Install-CodexSkill.ps1

主要能力与工作流程

  1. 检查目标边文档、extension/schema.json,以及发出该边的采集器/模型代码。
  2. 依据 references/edge-family-playbooks.md 将每条边归入相应家族。
  3. 以 references/edge-doc-template.md 作为必需的质量基线。
  4. 从 schema 元数据、节点/边前缀、仓库名和采集器代码判断平台,并加载恰好一个匹配的平台 profile:Okta 对应 references/platforms/okta.md,GitHub 对应 references/platforms/github.md,Jamf 对应 references/platforms/jamf.md,未知或新平台用 references/platforms/generic.md。
  5. 在加入端点名称、界面标签、事件类型或命令示例前,依据官方厂商文档核对当前 API、界面与事件/日志细节。
  6. 添加或更新 ## Abuse Info、## Opsec Considerations、## References;仅在滥用过程改变环境或留下测试产物、持久化或可复用访问需要清除时,才在 Abuse Info 内添加 ### Reverting Abuse Actions。
  7. 内容须针对具体边,避免可套用到任意边的泛化句子;优先给出精确的管理控制台步骤与 API/CLI 步骤;若边涉及另一平台(IdP、MDM、云、CI/CD、SaaS、终端或目录),须说明应使用哪个源系统 API 或控制台以及需要验证什么。
  8. 不得编造端点、事件名、控制台标签、权限或能力;不确定时使用官方文档措辞并说明依赖。

API 与验证要求

只要 API 能执行或验证该操作,API 章节必须包含可运行的围栏代码块;示例需先导出平台基础 URL、令牌、ID 和受控值的变量,包含操作请求、预期成功信号和至少一个验证请求,并使用平台 profile 的认证/请求头风格。存在可选的还原小节时,其 API 步骤须包含具体的恢复与验证代码块。若操作必须在另一源系统完成且没有平台 API 可做,则提供源系统命令/API 占位,并给出在平台侧验证或回滚测试影响的 API 调用。

还原小节(可选)的边界

仅在滥用过程改变环境或留下需由红队/渗透测试人员清除的测试产物、持久化或可复用访问时,才添加该小节,并建议如何撤销这些操作、恢复记录的攻击前状态。若滥用仅沿现有关联进行且不改变环境(例如依赖既有组成员关系的 MemberOf 边),则完全省略,不必为声明无需还原而添加。执行时须:识别攻击前状态与攻击后状态的差异并只反转该差异;保留滥用前已存在的权限、成员关系、配置、凭据等;清除攻击者创建的访问与持久化(如新增主体、角色/组分配、访问控制项、策略、密钥、令牌、会话、应用、脚本、工作流、分支、Webhook、设备配置);将被覆盖的值恢复为确切原值,不在该小节内做加固或重新设计;在保留会造成风险时撤销或轮换由滥用创建或暴露的凭据与会话,但不因现成凭据使该边成立就撤销它;涵盖滥用造成的下游与跨平台影响。补救或缓解措施不放在此小节,例如测试者滥用 Active Directory 既有 WriteDACL 权限添加 GenericAll ACE 时,只应移除测试期间添加的 ACE 并验证原 DACL 恢复。

质量规则

每条边都需要参考文献,优先使用厂商官方文档;引用使用简短 Markdown 链接语法 - 标题,先列针对具体操作的官方文档,仅在研究/工具链接能增加边相关信息时再列。非直接边仍需说明控制源如何可危害、影响或帮助危害目标。Opsec 章节在已知时应点名具体日志来源与事件类型。

校验方式

在仓库根目录执行:

python3 docs/og-docs-automation/skills/openhound-edge-docs/scripts/audit_edge_docs.py descriptions/edges git diff --check pwsh docs/og-docs-automation/scripts/Test-SchemaConsistency.ps1

平台识别顺序

依次依据 extension/schema.json 元数据(namespace、source_kind、environment_kind、display/name 等)、边文件名前缀(如 Okta_、GH_、jamf_ 或其他扩展特定前缀)、采集器包/模块名与仓库名、descriptions/nodes、descriptions/edges 与 docs/graph 下现有文档来判断。涉及多个平台时,加载源平台 profile 以及反转滥用操作或验证恢复所需的下游平台 profile。

Okta 兼容性

对会改变状态的 Okta 边,以 Okta_AddMember.md 作为最低质量基线:具体滥用路径、具体的可选还原小节、可运行的 Okta API 代码块、验证、opsec 与 Markdown 链接参考文献。对不改变状态的 Okta 边,应省略还原小节。完整的 Okta 专属来源与 API 指南见 references/platforms/okta.md。