
graphql-threat-matrix は、バグバウンティハンター、セキュリティ研究者、ハッカーが複数の GraphQL 実装にわたる脆弱性を発見するために構築されました。
GraphQL 実装が GraphQL 仕様をどのように解釈し準拠するかの違いは、セキュリティ上のギャップや独自の攻撃ベクトルにつながる可能性があります。異なる実装間でのセキュリティリスクを促進する要因を分析・比較することで、GraphQL エコシステムはより安全なデプロイメントの決定を行い、すべての実装のセキュリティ成熟度を共同で向上させることができます。
凡例
✅ - デフォルトで有効
⚠️ - デフォルトで無効
❌ - 未対応
| 実装 | 検証 | フィールド提案 | クエリ深度制限 | クエリコスト分析 | 自動永続クエリ | イントロスペクション | デバッグモード | バッチリクエスト |
|---|---|---|---|---|---|---|---|---|
| wp-graphql | 38 | ✅ | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ✅ |
| graphql-php | 37 | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ⚠️ | ⚠️ |
| graphql-api-for-wp | 37 | ⚠️ | ❌ | ❌ | ✅ | ✅ | ⚠️ | ✅ |
| Apollo | 34 | ✅ | ⚠️ | ⚠️ | ✅ | ✅ | ✅ | ✅ |
| graphql-yoga |
graphw00f を使用して、対象の GraphQL API をフィンガープリントし、バックエンド実装を特定します。
貢献に興味がありますか?相違点を見つけましたか?GitHub の Issue または PR に詳細を記載してください。
| 34 |
| ✅ |
| ⚠️ |
| ❌ |
| ❌ |
| ⚠️ |
| ⚠️ |
| ⚠️ |
| graphene | 34 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ⚠️ |
| Ariadne | 34 | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ⚠️ | ❌ |
| Strawberry | 34 | ✅ | ⚠️ | ❌ | ❌ | ✅ | ❌ | ❌ |
| graphql-dotnet | 29 | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ❌ | ⚠️ |
| graphql-ruby | 28 | ✅ | ❌ | ⚠️ | ⚠️ | ✅ | ❌ | ✅ |
| Sangria | 27 | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ❌ | ⚠️ |
| Tartiflette | 26 | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| graphql-java | 26 | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ❌ | ⚠️ |
| gqlgen | 25 | ✅ | ❌ | ⚠️ | ⚠️ | ✅ | ⚠️ | ⚠️ |
| Dgraph | 25 | ✅ | ❌ | ❌ | ⚠️ | ✅ | ❌ | ❌ |
| graphql-go | 24 | ✅ | ❌ | ❌ | ❌ | ✅ | ⚠️ | ❌ |
| juniper | 24 | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ⚠️ |
| Diana.jl | 10 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| gql-dart/gql | 9 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Agoo | 1 | ❌ | ❌ | ❌ | ❌ | ✅ | ⚠️ | ❌ |
| Lighthouse | 1 | ✅ | ⚠️ | ⚠️ | ⚠️ | ✅ | ⚠️ | ✅ |