CtrlK
BlogDocsLog inGet started
Tessl Logo

php-type-juggling

PHP type juggling and magic hash attacks — exploit loose comparison (==) with 0e-prefixed hash collisions and NULL returns to bypass authentication.

60

Quality

71%

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/php-type-juggling/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%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.

Highly actionable and token-efficient reference with copy-paste payloads for every technique, but it treats offensive operations as one-shot commands without validation checkpoints or feedback loops for confirming a bypass worked.

Suggestions

Add a verify step after each attack (e.g. confirm authenticated state via a follow-up request before declaring success) to introduce feedback loops.

Add a brief 'Workflow' or 'Quick start' section that sequences: identify PHP version → grep for vulnerable patterns → try magic hash → try array/NULL → try strcmp — with validation between steps.

DimensionReasoningScore

Conciseness

The body is dense and mostly high-signal — cheat sheets, hash tables, and ready-to-run curl/PHP snippets — with only minor over-explanation (e.g. restating that 'PHP is a loosely typed language' that Claude already knows).

4 / 5

Actionability

Every section provides copy-paste-ready, executable curl commands and a complete PHP brute-force script covering the common cases (magic-hash login bypass, array/NULL bypass, strcmp bypass, magic HMAC).

5 / 5

Workflow Clarity

Sections are clearly numbered by technique and include PHP-version gating, but there are no validation checkpoints confirming a bypass succeeded before proceeding, and the destructive/offensive batch operations (looping magic inputs, brute-forcing HMAC) lack verify-then-act feedback loops, capping workflow clarity at 3.

3 / 5

Progressive Disclosure

Single self-contained file with well-organized numbered sections and external reference links one level deep; no bundle files exist to reference, so structure is appropriate with only minor gaps (no top-level overview/quickstart pointing to deeper sections).

4 / 5

Total

16

/

20

Passed

Description

66%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.

The description is specific and distinctive with strong natural trigger terms, but it omits an explicit 'Use when...' clause, leaving the 'when to use' answer implicit and capping completeness.

Suggestions

Add an explicit 'Use when...' clause naming the user-facing triggers (e.g. 'Use when bypassing PHP authentication via loose comparison, magic hashes, or NULL/strcmp returns').

Expand the action list to mention strcmp and HMAC/JSON-API juggling so coverage matches the body's scope.

DimensionReasoningScore

Specificity

Quotes concrete actions ('exploit loose comparison (==) with 0e-prefixed hash collisions', 'bypass authentication', 'NULL returns') covering the core attack surface, but does not enumerate the full range (e.g. strcmp, HMAC, JSON-API juggling).

4 / 5

Completeness

It clearly states what the skill does but has no explicit 'Use when...' trigger clause; the metadata.when_to_use field supplies triggers but the description itself does not explicitly answer when Claude should use it, capping completeness at 3 per the guideline.

3 / 5

Trigger Term Quality

Includes natural terms a user would say — 'php type juggling', 'magic hash', '0e hash', 'strcmp bypass', 'php authentication bypass' — but is missing a few common synonyms a user might verbalize (e.g. 'loose comparison', already implied) and extensions like .php.

4 / 5

Distinctiveness Conflict Risk

The PHP type-juggling / magic-hash niche is very specific with distinct trigger phrases, so it is unlikely to be confused with other skills.

5 / 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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
PurpleAILAB/Decepticon
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.