
보안 전문가들이 GraphQL 구현에서 보안 취약점을 연구하기 위해 사용하는 GraphQL 위협 프레임워크
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 이슈 또는 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 | ✅ | ⚠️ | ⚠️ | ⚠️ | ✅ | ⚠️ | ✅ |