CtrlK
BlogDocsLog inGet started
Tessl Logo

dep-confusion

Dependency confusion — publish a higher-version internal package name on public registry (npm/PyPI/Maven/Crates) to coerce CI/CD into pulling attacker code.

64

Quality

76%

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/supplychain/dep-confusion/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.

The body delivers an actionable, well-sequenced dep-confusion workflow with executable code and explicit safety constraints appropriate to a risky operation. It is concise and well-structured; tightening exemplar/bounty prose and completing the PyPI/Maven publish paths would push it higher.

Suggestions

Add the PyPI (`twine upload`) and Maven (`mvn deploy`) publish commands alongside `npm publish` so all four named registries have executable publish steps.

Add an explicit validate→fix→retry checkpoint after publishing (e.g., confirm the public version is now resolvable, and verify the DNS callback landed before declaring the PoC confirmed).

Trim the bounty amounts and exemplar list to a single line each, or move them to a short reference, to tighten conciseness.

DimensionReasoningScore

Conciseness

The body is code-heavy and mostly lean, avoiding explanations of concepts Claude already knows; only minor sections (bounty amounts, exemplar list) could be trimmed, fitting the 'efficient; minor over-explanation' anchor below the lean 5.

4 / 5

Actionability

Provides concrete, copy-paste-ready bash and JS (`npm view`, `pip index versions`, full `package.json` and `beacon.js`, `npm publish`) covering common cases, with minor gaps — PyPI/Maven publish steps are less complete than the npm path — keeping it just below fully-executable 5.

4 / 5

Workflow Clarity

A clear numbered 1–9 sequence includes verification (step 2 E404 availability check) and safety gating (step 7 DO/DON'T: benign DNS callback only, deprecate after PoC), supplying most checkpoints though not a full validate→fix→retry loop.

4 / 5

Progressive Disclosure

No bundle files exist (references/scripts/assets absent) and the single file is well-organized with numbered sections and tables; cross-references point outward to an upstream catalog and a URL rather than to nested files, giving good structure but not the one-level-deep reference split of a 5.

4 / 5

Total

16

/

20

Passed

Description

77%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, well-triggered, and distinctive, but omits an explicit "Use when..." clause, leaving the invocation context only implied. Adding a concrete trigger phrase would raise completeness.

Suggestions

Append an explicit "Use when..." clause naming trigger scenarios (e.g., "Use when assessing supply-chain scope in a bug bounty or auditing internal package resolution in CI/CD").

Expand the action list slightly (recon, verify, publish, observe) to push specificity toward comprehensive coverage.

DimensionReasoningScore

Specificity

Names the domain and several concrete actions — "publish a higher-version internal package name on public registry (npm/PyPI/Maven/Crates) to coerce CI/CD into pulling attacker code" — with minor gaps in enumerated actions, fitting the 'lists several specific actions; minor gaps' anchor rather than the fully comprehensive 5.

4 / 5

Completeness

The "what" is clearly stated, but there is no explicit "Use when..." trigger clause; the "when" is only weakly implied via the named scenario, so per the missing-trigger-clause cap it cannot exceed 3.

3 / 5

Trigger Term Quality

Comprehensive natural trigger coverage including the exact phrase users say ("dependency confusion") plus ecosystem synonyms (npm, PyPI, Maven, Crates), "internal package", "private registry", and "CI/CD" — matching the comprehensive-coverage anchor.

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (dependency-confusion supply-chain attack) with distinct, specific triggers and minimal overlap risk with other skills.

5 / 5

Total

17

/

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.