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

80%

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

A tight, highly actionable reference with executable commands and a clear phased sequence, weakened only by the absence of explicit validation checkpoints and a single-file structure that forgoes progressive disclosure.

Suggestions

Add explicit validation checkpoints after risky steps, e.g. 'aws sts get-caller-identity to confirm the assumed role' with a fix-retry loop, to raise workflow clarity.

Move the Phase 4 privesc-methods table into a references file (e.g. references/privesc-methods.md) and link to it from the body to improve progressive disclosure.

Note which commands are noisiest in CloudTrail/GuardDuty at each phase (not just the OPSEC section) so trade-offs are visible inline.

DimensionReasoningScore

Conciseness

The body is lean — it jumps straight to CLI commands with terse inline comments and never explains what IAM, Lambda, or PassRole are, assuming Claude's competence; every line earns its place.

3 / 3

Actionability

Provides fully executable AWS CLI commands and a complete copy-paste-ready Lambda handler (pwn.py with zip + create-function + invoke), matching the fully-executable score-3 anchor; placeholders like TARGET_ROLE are standard template substitution.

3 / 3

Workflow Clarity

Steps are clearly sequenced (Enumerate → Phase 1–4) but there are no explicit validation checkpoints or fix-retry feedback loops for these destructive/noisy escalation operations, which per the guidelines caps workflow clarity at 2; it is above 1 because the sequence and OPSEC section exist.

2 / 3

Progressive Disclosure

Content is well-sectioned but lives entirely inline in a single >50-line file with no bundle split; reference-like material (the Phase 4 privesc-methods table) could be a separate reference file, so it does not reach the clear one-level-deep reference anchor of 3.

2 / 3

Total

10

/

12

Passed

Description

82%

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 specific, distinctive description that names concrete escalation vectors and natural trigger terms, but it omits an explicit 'Use when...' clause, which caps completeness at 2.

Suggestions

Add an explicit trigger clause, e.g. 'Use when assessing AWS IAM privilege-escalation paths via PassRole or AssumeRole chains,' to lift completeness to 3.

Consider trimming the long em-dashed list into the body and keeping the description focused on the core what + when.

The 'legacy root-mfa-bypass' claim is a strong, narrow assertion; ensure it reflects a real, documented technique to avoid over-claiming.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'PassRole to a higher-priv role' for Lambda/Glue/Sagemaker/EC2/ECS, 'AssumeRole chains across accounts', 'sts:GetCallerIdentity recon', 'account hijack via legacy root-mfa-bypass' — matching the score-3 anchor of multiple specific concrete actions.

3 / 3

Completeness

Clearly answers 'what' (privilege escalation via PassRole chains and the specific vectors) but lacks an explicit 'Use when...' clause; per the guidelines a missing explicit trigger clause caps completeness at 2, and it is not a 1 because the what is clearly and specifically stated.

2 / 3

Trigger Term Quality

Covers the natural terms a security practitioner would say — 'iam:PassRole', 'privilege escalation', 'AssumeRole', 'Lambda/Glue/Sagemaker/EC2/ECS', 'account hijack' — with good coverage rather than only generic jargon.

3 / 3

Distinctiveness Conflict Risk

The niche is sharply defined (AWS IAM PassRole/AssumeRole privilege escalation) with distinct triggers unlikely to overlap with unrelated skills, matching the clear-niche anchor.

3 / 3

Total

11

/

12

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.