CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/introspection-attack-surface-reference

Pure-reference catalog of GraphQL introspection as an attack surface and the production-deployment controls for it. Covers what introspection exposes (every type, field, directive, deprecation, description via __schema / __type), Apollo Server's default behaviour (introspection: false when NODE_ENV=production), the `hideSchemaDetailsFromClientErrors: true` companion setting (strips 'did you mean' suggestions), Yoga / Mercurius / Hasura equivalents, query-depth + query-cost limits, persisted-query allowlisting as the strongest mitigation, and the testable behaviours each control creates. Use when designing the production-safety posture of a GraphQL server or auditing an existing deployment.

80

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

100%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is an efficient, well-structured reference catalog with concrete config and testable behaviour tables rather than prose. It avoids teaching basics and appropriately flags production-config validation for its tests.

DimensionReasoningScore

Conciseness

The body is a tight reference catalog: dense tables (What introspection exposes, Per-framework controls, Testable behaviours, Anti-patterns) and minimal code snippets with no padded explanations of basic GraphQL concepts. Every section earns its place; it is not the score-2 case with unnecessary explanation that could be tightened.

3 / 3

Actionability

Provides concrete, copy-paste-ready guidance: exact config ("introspection: false", "introspection: process.env.NODE_ENV !== 'production'", "hideSchemaDetailsFromClientErrors: true"), per-framework settings table, and a Testable-behaviours table with specific queries and expected responses (e.g. "POST /graphql { __schema { types { name } } } -> 400"). This matches the score-3 'fully executable / specific examples' anchor.

3 / 3

Workflow Clarity

This is a reference catalog (explicitly 'does not execute anything'), and the Testable-behaviours section acts as a clear checklist with an explicit validation caveat ('These tests must run against the production configuration - running them against NODE_ENV=test may give false positives'). Per the simple/reference-skill allowance, a well-structured single-purpose reference scores 3 without a multi-step workflow; it is not the score-2 case of a sequence with missing checkpoints.

3 / 3

Progressive Disclosure

Well-organized into clearly-signaled sections (Overview, When to use, What introspection exposes, Production controls, Mitigations, Testable behaviours, Anti-patterns, Limitations, References). Peer-skill references (persisted-query-strategy-reference, apollo-server-tests, etc.) are one level deep and clearly labeled; no nested/deep reference chains. Matches the score-3 'well-organized sections' allowance for reference skills with no bundle files.

3 / 3

Total

12

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is a dense, specific catalog sentence that clearly states both what the skill covers and when to use it, with explicit trigger guidance. It uses third person and avoids fluff, though its density leans technical for the niche it targets.

DimensionReasoningScore

Specificity

Lists many concrete capabilities in one sentence: "what introspection exposes (every type, field, directive, deprecation, description via __schema / __type)", "Apollo Server's default behaviour (introspection: false when NODE_ENV=production)", "the hideSchemaDetailsFromClientErrors: true companion setting", "Yoga / Mercurius / Hasura equivalents", "query-depth + query-cost limits", "persisted-query allowlisting as the strongest mitigation", and "the testable behaviours each control creates". This matches the anchor 'Lists multiple specific concrete actions'; it is not the level below which only names a domain and some actions.

3 / 3

Completeness

Clearly answers both what ("Pure-reference catalog of GraphQL introspection as an attack surface and the production-deployment controls for it") and when ("Use when designing the production-safety posture of a GraphQL server or auditing an existing deployment"). The explicit 'Use when' clause matches the score-3 anchor; it is not the score-2 case where 'when' is missing or only implied.

3 / 3

Trigger Term Quality

Includes natural terms a practitioner would say for this niche: "GraphQL", "introspection", "production-safety posture", "auditing an existing deployment", "production-deployment controls". Coverage is good and natural for the target audience; it is not the score-2 case of only some relevant keywords with missing common variations.

3 / 3

Distinctiveness Conflict Risk

Occupies a clear, narrow niche (GraphQL introspection as a production attack surface) with distinct triggers unlikely to fire for unrelated skills; it is not the score-2 case of overlapping with similar broad skills.

3 / 3

Total

12

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents