適用於 Openclaw 的 GraphQL Schema Audit

一個用於 GraphQL SDL 或 introspection JSON 的本地靜態分析器,可捕獲效能漏洞、安全缺陷和架構風險。

phy041
v1.0.3
Mar 23, 2026
0
749
0

安裝與下載

1. ClawHub CLI

從來源直接安裝技能的最快方式。

npx clawhub@latest install phy-graphql-schema-audit

2. 手動安裝

將技能資料夾複製到以下位置之一

全域模式
~/.openclaw/skills/
工作區
<project>/skills/

優先級:工作區 > 本地 > 內建

3. 提示詞安裝

將此提示詞複製到 OpenClaw 即可自動安裝。

請幫我使用 Clawhub 安裝 phy-graphql-schema-audit。如果尚未安裝 Clawhub,請先安裝(npm i -g clawhub)。

想要直接下載?

取得包含原生技能檔案的ZIP壓縮檔。

什麼是 GraphQL Schema Audit?

GraphQL Schema Audit 是一款生產級靜態分析工具,旨在評估和保護有機增長的 GraphQL API。該引擎完全在本地運行,無外部 API 依賴,可處理 GraphQL Schema Definition Language (SDL) 文件或伺服器 introspection JSON,以快速發現安全漏洞和優化機會。

透過對 schema 定義進行審計,它可以自動標記深層次的效能問題,例如未批次處理的子解析器、容易遭受拒絕服務 (DoS) 攻擊的循環物件模型,以及諸如未分頁的集合欄位和模糊類型結構等架構異常。它透過將問題數量與實際嚴重性評級進行映射來關聯每項發現,確保工程團隊在變更進入生產環境之前主動減輕系統退化風險。

GraphQL Schema Audit 應用場景

  • 在 CI/CD 流水線中自動掃描 schema 文件,以阻止遞迴類型循環或未分頁的根欄位。
  • 評估第三方或遺留的 introspection JSON 輸出,以建構全面的架構漏洞矩陣。
  • 審計企業 API 程式碼庫,以在龐大的多團隊 schema 中強制執行嚴格的大小寫標準和必需的輸入後綴。
  • 分析客戶端操作文件,在計劃的重大變更前檢測呼叫已棄用欄位的活動組件。
  • 規劃查詢成本邊界並驗證伺服器中間件複雜性規則的執行。

GraphQL Schema Audit 運作原理

  1. 發現: 引擎遞迴掃描目標工作區以尋找 schema 工件,隔離匹配 .graphql、.graphqls、.gql 或原始 JSON 痕跡的活動文件,同時顯式忽略建置和依賴工件。
  2. 解析: 本地化評估流水線將原始 schema 格式中的單個類型、介面、輸入、列舉、欄位和指令提取到結構化的元數據映射中。
  3. 分析: 該工具執行連續的 linting 通道來驗證欄位命名約定、隔離循環查詢依賴、突顯未分頁類型,並標記使用映射到特定純量(如 Email 或 URL)的寬泛類型的欄位。
  4. 報告: 建構一份全面的問題清單,產生針對解析器層級的補救步驟、優化的 schema 修改建議,以及針對已處理拓撲客製化的推薦查詢成本參數。

GraphQL Schema Audit 設定指南

前置要求

確保工作區中安裝了 Python 3.x。對於活動伺服器的 introspection 分析,可以使用 get-graphql-schema 來產生必要的 JSON 輸入負載。

執行審計

直接使用目標呼叫路徑或旗標執行該 skill:

# 審計本地單個 schema 規範文件
/graphql-schema-audit schema.graphql

# 分析包含多個 schema 文件檔的活動資料夾
/graphql-schema-audit src/graphql/

# 審計 schema 匹配操作以隔離已棄用欄位的消耗
/graphql-schema-audit --schema schema.graphql --operations src/queries/

# 將流水線執行範圍限定為專門審查類型安全和命名規則
/graphql-schema-audit --check naming

# 輸出優化的伺服器成本中間件複雜性配置藍圖
/graphql-schema-audit --output complexity-config

GraphQL Schema Audit 資料結構與分類體系

評估引擎聚合指標並將問題分為清晰的可見性層級。報告遵循以下分類法輸出:

問題分類與嚴重性

問題類別 目標層級 預設嚴重性 描述
N+1 暴露 欄位解析器 🔴 高 未使用數據載入器執行子查詢的巢狀集合元素。
循環引用 類型圖 🔴 高 允許無限查詢深度和 DoS 風險的互鎖物件引用。
缺少分頁 根查詢 / 集合 🟠 中 缺乏基於游標或限制偏移量的大型數據集合陣列。
過度寬泛的純量 欄位 🟡 低 應用於日期、UUID 或 URL 等結構化物件的通用 String 包裝器。
命名違規 類型聲明 🟡 低 偏離標準 PascalCase、camelCase 或 UPPER_SNAKE_CASE 樣式的標記。
欄位棄用漂移 前端查詢 🟡 低 客戶端應用程式查詢請求了標記有 @deprecated 指令的欄位。

GraphQL Schema Audit 進階特性

  • 本地隱私驗證: 完全離線處理複雜的 schema 解析邏輯,將後端網路設計隱藏並安全地保留在主機設備基礎架構內。
  • 遞迴類型解析: 遍歷整個深度結構圖拓撲,識別可能壓垮伺服器記憶體的多層巢狀循環。
  • 解析器層級程式碼藍圖: 在審計結果中產生即插即用的 JavaScript DataLoader 結構和符合 Relay 標準的分頁語法。
  • 複雜性成本預測: 自動計算列表放大風險,輸出優化的查詢中間件規則建議以供驗證套件使用。

SKILL.md


加載中

Openclaw 相關技能

METADATA

Github Stars: 0
forks: 0

精選*