CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

oauth

OAuth 2.0 / OIDC attacks — redirect_uri bypass, state CSRF, code leak via Referer, response_type confusion, PKCE downgrade, scope creep, ATO chains.

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/exploit/web/oauth/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

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

A well-structured, dense attack playbook with copy-paste payloads, concrete HTTP examples, and a clear map→attack→evidence workflow. Weaknesses are minor: some editorializing and known-concept restatement, placeholder-heavy request examples, no explicit false-positive/impact validation step, and everything inlined in one file rather than splitting reference material out.

Suggestions

Add an explicit validation step to the PoC pattern (e.g., 'confirm a finding by completing the token exchange in the attacker session before reporting; discard deviations that do not reproduce'), which would also address false-positive risk from batch Intruder fuzzing.

Trim editorial framing ('the single highest-paying ATO vector...') and the restated definitions of state/PKCE; the exemplar list and severity table could move to a references/ file to slim the main SKILL.md.

Provide one fully-populated end-to-end example (authorize URL → token POST with real-shaped values) instead of only placeholder request bodies.

DimensionReasoningScore

Conciseness

The body is dense and efficient — payload tables, terse attack sections, and concrete HTTP examples dominate, with no concept tutorials. Minor trimmable content exists: editorializing ('the single highest-paying ATO vector'), brief restatements of known concepts (what state binding and PKCE are), and mild redundancy between the ATO chain in section 2.9 and the PoC pattern. Not 5 (a few tokens don't earn their place), not 3 (padding is minor, not a pattern).

4 / 5

Actionability

Mostly executable guidance: a runnable curl command for .well-known/openid-configuration, a copy-paste redirect_uri bypass payload table, concrete POST /token request bodies, and a systematic PoC procedure naming the exact parameters to fuzz. Minor gaps: several examples use template placeholders (client_id=..., code=<stolen_code>) and there is no complete end-to-end exchange example. Not 5, not 3 — well above 'pseudocode' level.

4 / 5

Workflow Clarity

A clear sequence is present: map the flow (section 1) → attack surface (section 2) → a numbered 4-step PoC pattern with an evidence-capture checkpoint ('on any deviation ... capture as evidence') → severity calibration (section 5). Not 5 because there is no explicit validation step for confirming impact or ruling out false positives before assigning severity; not 3 because checkpoints are present, not merely implicit.

4 / 5

Progressive Disclosure

Good structure: numbered sections, a dedicated Cross-references section with clearly signaled one-level-deep pointers, and a Tools section. Not 5 because it is a single ~157-line monolithic file (above the under-50-line simple-skill exception) with content such as the severity table and known-exemplar lists that could live in a reference file, and the cross-referenced paths point outside this bundle (no references/, scripts/, or assets/ exist). Not 3: structure and navigation are solid.

4 / 5

Total

16

/

20

Passed

Description

71%Weight 40%Scale 1-5

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

A highly specific, distinctive description that names concrete attack techniques rather than vague capabilities, with good trigger keywords. Its main weakness is the missing explicit 'Use when...' clause in the description itself — trigger terms live in a metadata field instead — and jargon like 'ATO' where natural phrasing would help recall.

Suggestions

Append an explicit trigger clause to the description, e.g. 'Use when auditing OAuth/OIDC flows, social login ('Sign in with Google'), or authorization_code/token endpoints.'

Spell out jargon in the description: 'ATO chains' → 'account takeover (ATO) chains', so users who say 'account takeover' naturally match.

Add natural-sounding synonyms such as 'social login' or 'Sign in with Google/Microsoft' to the trigger terms.

DimensionReasoningScore

Specificity

The description enumerates seven concrete, named attack techniques ('redirect_uri bypass, state CSRF, code leak via Referer, response_type confusion, PKCE downgrade, scope creep, ATO chains'), giving comprehensive coverage of the OAuth attack domain. It is not 4 because there are no meaningful gaps in technique coverage.

5 / 5

Completeness

The 'what' is clear and specific (the enumerated attack techniques), but the description itself contains no 'Use when...' clause — trigger guidance exists only as a separate metadata.when_to_use keyword list, which is weakly explicit rather than an explicit when-to-use statement in the description. Per the guideline, a missing 'Use when' clause or equivalent caps completeness at 3.

3 / 5

Trigger Term Quality

Good keyword coverage ('OAuth 2.0', 'OIDC', 'redirect_uri', 'state', 'PKCE') that matches what a user testing an OAuth flow would say, but natural synonyms are missing — 'ATO chains' is jargon where 'account takeover' spelled out would be more natural, and phrases like 'social login' or 'sign in with Google' are absent. Not 5 (synonyms/variations missing), not 3 (coverage is well beyond 'some relevant keywords').

4 / 5

Distinctiveness Conflict Risk

A clear niche with distinctive technique-level triggers ('PKCE downgrade', 'redirect_uri bypass') that are unlikely to fire for unrelated skills. Not 5 because 'ATO chains' and general OAuth surface overlap with sibling skills referenced in the body (ato-methodology, jwt, open-redirect).

4 / 5

Total

16

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/exploit/web/oauth/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.