CtrlK
BlogDocsLog inGet started
Tessl Logo

aws-iam-passrole-chain

AWS IAM privilege escalation via `iam:PassRole` chains — Lambda/Glue/Sagemaker/EC2/ECS PassRole to a higher-priv role, AssumeRole chains across accounts, sts:GetCallerIdentity recon, account hijack via legacy root-mfa-bypass.

67

Quality

81%

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

SKILL.md
Quality
Evals
Security

Quality

Content

87%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 content is an exceptionally lean, actionable privesc reference with clear phasing and good structure. Its one notable gap is the lack of validation/verification checkpoints for the destructive operations it walks through.

Suggestions

Add explicit verification steps between phases, e.g. confirm sts:GetCallerIdentity shows the target role after AssumeRole before chaining the next hop.

Insert a pre-flight check (verify iam:PassRole / lambda:CreateFunction permissions) before executing Phase 2 to fail fast on missing access.

Add a brief cleanup/remediation note for created resources (delete the pwn Lambda, terminate the EC2 instance) to support reversible testing.

DimensionReasoningScore

Conciseness

The body is lean — terse bash commands with minimal inline comments and no re-explanation of concepts Claude already knows (e.g., what IAM or PassRole is); every token earns its place.

5 / 5

Actionability

Provides concrete, executable aws-cli commands and a complete copy-paste Lambda payload (pwn.py) covering the common privesc paths (Lambda, Glue, EC2, SageMaker, AssumeRole); placeholders like TARGET_ROLE are obvious template variables.

5 / 5

Workflow Clarity

Phases are clearly sequenced (Enumerate → Phase 1-4), but the workflow involves destructive/irreversible operations (creating Lambda functions, running EC2, escalating privileges) with no validation or verification checkpoints, which caps workflow clarity at 3.

3 / 5

Progressive Disclosure

A self-contained single-file reference with clear section headers, easy navigation, and no nested or buried references; the compact reference-table and OPSEC sections belong inline, so the single-file structure is appropriate.

5 / 5

Total

18

/

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.

The description is highly specific and distinctive, naming concrete services and escalation techniques with strong trigger terms. Its main weakness is the absence of an explicit 'Use when...' trigger clause, which caps completeness.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when the user has AWS credentials and wants to escalate privileges via PassRole or AssumeRole chains.'

Include common synonyms such as 'privesc', 'priv esc', or 'role escalation' alongside 'privilege escalation' to broaden trigger coverage.

Soften jargon like 'legacy root-mfa-bypass' with a plainer phrasing so the trigger reads naturally.

DimensionReasoningScore

Specificity

Lists multiple concrete actions and targets — 'PassRole to a higher-priv role' across 'Lambda/Glue/Sagemaker/EC2/ECS', 'AssumeRole chains across accounts', 'sts:GetCallerIdentity recon', and 'account hijack' — giving comprehensive, specific coverage rather than vague language.

5 / 5

Completeness

The 'what' is clear and detailed, but there is no 'Use when...' clause or equivalent explicit trigger guidance, which per the rubric caps completeness at 3.

3 / 5

Trigger Term Quality

Includes natural terms a user would say ('AWS IAM', 'PassRole', 'privilege escalation', 'AssumeRole', service names), but leans on jargon like 'legacy root-mfa-bypass' and omits common synonyms such as 'privesc' or 'role escalation'.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (AWS IAM PassRole privilege escalation) 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.