security-review

Identify and remediate authentication, authorization, and data-handling weaknesses in GraphQL APIs.

3|2|Updated Jun 25, 2024
One-click install
npx skills add https://github.com/Hopin-inc/civicship-api --skill security-review-hopin-inc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: security-review
Source: https://github.com/Hopin-inc/civicship-api/tree/main/.claude/skills/security-review
Command: npx skills add https://github.com/Hopin-inc/civicship-api --skill security-review-hopin-inc

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Identify and mitigate authentication, authorization, and data-handling weaknesses in a GraphQL API to protect user data and system integrity.

Core Features & Use Cases

  • Verify authentication and context checks (ctx.user) across resolvers and use cases.
  • Enforce authorization via Row-Level Security (RLS) and issuer-based access controls to prevent data leakage.
  • Audit, secure logging, and secret management to prevent exposure of sensitive data.
  • Use case: Review an existing civicship-api project to uncover gaps in auth, RLS, and data handling and provide remediation guidance.

Quick Start

Provide a targeted security review by specifying a path or branch to analyze, or review the current working tree and document issues.

Frequently Asked Questions about security-review

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I review a GraphQL API for authorization and authentication weaknesses?

Review a GraphQL API for authorization and authentication weaknesses by validating ctx.user across resolvers, enforcing Row-Level Security, and preventing sensitive data leakage. This targets Firebase authentication and issuer-based access controls to secure multi-tenant services.

How does Row-Level Security prevent data leakage in a multi-tenant GraphQL API?

Row-Level Security prevents data leakage by enforcing issuer-based access controls at the database layer, restricting queries so tenants only access authorized rows. It complements ctx.user validation in resolvers to block unauthorized data retrieval in multi-tenant GraphQL services.

What's the best way to audit GraphQL resolvers for missing context user validation?

Audit GraphQL resolvers for missing context user validation by checking that every resolver enforces ctx.user before processing requests. This ensures authenticated access and identifies gaps in authentication checks across use cases, preventing unauthorized API interactions.

Does this security review work with Firebase authentication and parameterized database queries?

Yes, this security review works with Firebase authentication and parameterized database queries. It targets codebases implementing these features, auditing secure logging, secret management, and parameterized queries to prevent injection and protect sensitive user data.

How do I stop sensitive data exposure in GraphQL secure logging?

Stop sensitive data exposure in GraphQL secure logging by auditing logging practices to ensure secrets and user data are redacted. The review identifies data-handling weaknesses and enforces secure logging requirements to prevent accidental leakage of sensitive information.

Can I analyze a specific Git branch for GraphQL authorization issues?

Yes, you can analyze a specific Git branch for GraphQL authorization issues by specifying a path or branch to review. The analysis targets the working tree to document authentication, RLS, and data-handling gaps, providing targeted remediation guidance.