CtrlK
BlogDocsLog inGet started
Tessl Logo

poisoned-pipeline-execution

Poisoned Pipeline Execution (PPE) — direct + indirect: inject commands via attacker-controllable build files (Makefile, package.json scripts, build.gradle, Dangerfile, .pre-commit-config.yaml), abuse pull_request_target / fork-PR triggers, and ride dependency / test-script execution on CI.

63

Quality

75%

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/cicd/poisoned-pipeline-execution/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, executable reference with strong organization, but it involves risky/destructive operations without explicit validation feedback loops, which caps workflow clarity.

Suggestions

Add an explicit validate/verify checkpoint in the Decision Gate (e.g., 'Confirm the beacon fired and captured before closing the PR; if no callback, re-check egress and trigger.').

Move the Chains, Tools, and Detection-signature tables into a reference file to keep SKILL.md as a lean overview pointing one level deep.

DimensionReasoningScore

Conciseness

The body is dense and largely assumes Claude's knowledge of CI/CD concepts, using tight tables and code blocks; minor over-explanation appears in the recon comments and the 'VULNERABLE — DO NOT WRITE THIS' annotations.

4 / 5

Actionability

Provides copy-paste-ready recon grep commands and concrete exploit payloads for each PPE vector (package.json postinstall, Makefile, build.gradle, pom.xml, Dangerfile, setup.py, pull_request_target), covering the common cases fully.

5 / 5

Workflow Clarity

A Decision Gate sequences scope confirmation and PoC constraints, but it lacks explicit validate->fix->retry checkpoints and the destructive/risky operations cap workflow clarity at 3 per the rubric's destructive-operations rule.

3 / 5

Progressive Disclosure

Well-organized into Recon/Direct/Indirect/Chains/Tools/Detection/Decision Gate/References sections with cross-links to sibling skills (cicd-secrets-exfil, self-hosted-runner-abuse); no bundle files exist, so the inlined reference tables are appropriate, though the Chains/References could be split out for a skill this long.

4 / 5

Total

16

/

20

Passed

Description

75%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, well-keyworded description that carves a distinct PPE niche, but it omits an explicit 'Use when...' trigger clause, which caps its completeness score.

Suggestions

Append an explicit 'Use when...' clause naming the natural trigger scenarios (e.g., 'Use when auditing CI/CD pipelines for PPE or when a user mentions pull_request_target, fork-PR builds, or build-script injection.').

Add Jenkinsfile/.gitlab-ci.yml to the frontmatter keyword list alongside Makefile/package.json to widen natural trigger coverage.

DimensionReasoningScore

Specificity

Lists multiple concrete actions—'inject commands via attacker-controllable build files (Makefile, package.json scripts, build.gradle, Dangerfile, .pre-commit-config.yaml)', 'abuse pull_request_target / fork-PR triggers', and 'ride dependency / test-script execution'—giving comprehensive coverage of the PPE technique.

5 / 5

Completeness

It clearly states what the skill does (direct + indirect PPE vectors) but lacks an explicit 'Use when...' clause; the when is only weakly implied by the trigger keywords, capping completeness per the rubric.

3 / 5

Trigger Term Quality

Strong natural keywords ('pull_request_target', 'fork-PR', 'makefile', 'npm scripts', 'dangerfile', 'pre-commit', 'ci build script') that users would say, with minor synonyms/extensions (e.g. 'Jenkinsfile', '.gitlab-ci.yml') present in the body but not the description.

4 / 5

Distinctiveness Conflict Risk

The description carves a clear niche—PPE via specific CI/build files and triggers—with distinct keywords that would not collide 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.