Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add anyshift-io/sre-skills --skill iam-deceptive-escalation-auditorgit clone --depth 1 https://github.com/anyshift-io/sre-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/anyshift-io/sre-skills/iam-deceptive-escalation-auditor)<a href="https://agentmods.dev/skills/anyshift-io/sre-skills/iam-deceptive-escalation-auditor"><img src="https://agentmods.dev/badge/skills/anyshift-io/sre-skills/iam-deceptive-escalation-auditor/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/anyshift-io/sre-skills/iam-deceptive-escalation-auditor"><img src="https://agentmods.dev/badge/skills/anyshift-io/sre-skills/iam-deceptive-escalation-auditor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00284 | $0.04842 |
| Opus 5 | $0.00142 | $0.02421 |
| Sonnet 5 | $0.00057 | $0.00968 |
| Haiku 4.5 | $0.00028 | $0.00484 |
Grade A, and why
iam-deceptive-escalation-auditor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 306 lines — stays where its author put it; the contents beside it link to each section on GitHub.
iam-deceptive-escalation-auditor
Privilege-escalation audit skill for one AWS IAM principal. Takes every permissions policy attached to a role or user (plus the trust policy and permissions boundary if supplied), resolves the effective permission set across all of them, and answers one question a per-statement read cannot: can this principal escalate to a privilege it was not granted, and is an apparent escalation real or already neutralised. It returns findings with severity and a fix, then names exactly where a single principal's policy documents stop being able to answer the question.
The escalation combinations this skill exists to catch are precisely the ones that span
two statements or two attached policies, so that no single statement looks guilty on its
own. iam:PassRole in one policy and sagemaker:CreateTrainingJob in another are each
routine; together they let the principal launch compute with any role attached and inherit
it. A per-statement read clears every statement and misses the union. The other half of the
skill is the inverse discipline: an explicit Deny, a resource scope, a broken trust, or an
unsatisfiable Condition can neutralise an escalation that still reads as critical, and
the audit must not fabricate a finding the effective permissions do not support.
When to invoke
- An agent is asked to audit an IAM role or user for privilege escalation, over-broad grants, or "can this principal become administrator."
- A policy is being shipped or reviewed and the question is whether two individually-fine grants combine into an escalation.
- A policy looks dangerous (a full mutation kit, a cross-account assume, an
Action '*') and the claim "but it's capped / scoped / denied" needs to be confirmed against the effective permissions, not taken on trust. - An incident assumes a principal is compromised and the question is what it can escalate to.
What this skill reads, and what it does not
It reads the static policy documents attached to one principal: every permissions policy,
plus the trust policy (AssumeRolePolicyDocument) and the permissions boundary if supplied.
That is the entire input. The audit is correct and complete for the effective permissions
those documents express, and it is explicit about the rest. Every audit ends by naming the
joins it cannot make:
What ships with it
42 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- FAILURE_MODES.md 3.6 KB
- fixtures/01-orphaned-passrole-deny/meta.json 349 B
- fixtures/01-orphaned-passrole-deny/policy.json 573 B
- fixtures/02-action-star-blanket-deny/meta.json 408 B
- fixtures/02-action-star-blanket-deny/policy.json 604 B
- fixtures/03-assumerole-broken-trust/meta.json 492 B
- fixtures/03-assumerole-broken-trust/policy.json 492 B
- fixtures/03-assumerole-broken-trust/trust-policy.json 473 B
- fixtures/05-iam-mutation-boundary-capped/meta.json 696 B
- fixtures/05-iam-mutation-boundary-capped/policy-1.json 550 B
- fixtures/05-iam-mutation-boundary-capped/policy-2.json 945 B
- fixtures/06-cross-account-assume-condition-gated/meta.json 700 B
- fixtures/06-cross-account-assume-condition-gated/policy-1.json 690 B
- fixtures/06-cross-account-assume-condition-gated/policy-2.json 512 B
- fixtures/06-cross-account-assume-condition-gated/trust-policy.json 400 B
- fixtures/07-passrole-sandboxed-role-orphaned/meta.json 997 B
- fixtures/07-passrole-sandboxed-role-orphaned/policy-1.json 508 B
- fixtures/07-passrole-sandboxed-role-orphaned/policy-2.json 571 B
- fixtures/07-passrole-sandboxed-role-orphaned/policy-3.json 640 B
- fixtures/08-ml-platform-passrole-launch-needle/meta.json 1.0 KB
- fixtures/08-ml-platform-passrole-launch-needle/policy-1.json 713 B
- fixtures/08-ml-platform-passrole-launch-needle/policy-2.json 670 B
- fixtures/08-ml-platform-passrole-launch-needle/policy-3.json 745 B
- fixtures/08-ml-platform-passrole-launch-needle/policy-4.json 647 B
- fixtures/08-ml-platform-passrole-launch-needle/policy-5.json 959 B
- fixtures/08-ml-platform-passrole-launch-needle/policy-6.json 568 B
- tests/_audit.py 32 KB runs code
- tests/_replay.py 720 B runs code
- tests/eval/eval_results.json 493 KB
- tests/eval/judge_prompt.md 3.0 KB
- tests/eval/README.md 5.5 KB
- tests/eval/rubric.md 3.3 KB
- tests/eval/run_eval.py 16 KB runs code
- tests/eval/scenarios.py 11 KB runs code
- tests/README.md 3.8 KB
- tests/replay_01_orphaned_passrole_deny.py 1.5 KB runs code
- tests/replay_02_action_star_blanket_deny.py 1.4 KB runs code
- tests/replay_03_assumerole_broken_trust.py 1.5 KB runs code
- tests/replay_05_iam_mutation_boundary_capped.py 2.1 KB runs code
- tests/replay_06_cross_account_assume_condition_gated.py 1.8 KB runs code
- tests/replay_07_passrole_sandboxed_role_orphaned.py 2.0 KB runs code
- tests/replay_08_ml_platform_passrole_launch_needle.py 2.3 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 306 lines · 0 tokens per session scan A ad00cc48fd00
iam-deceptive-escalation-auditor is a skill published in the GitHub repository anyshift-io/sre-skills (17 stars, last pushed 15d ago), licensed Apache-2.0. It adds 284 tokens to every session and 4,842 once invoked, about $0.0014 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
legal-issue-research
A systematic research assistant for Chinese law. It searches laws, regulations, judicial interpretations, guiding cases, and typical cases, then organizes the legal sources and how they relate.
multi-jurisdictional-research-zacharie-laik
Conducts multi-jurisdictional legal research and risk assessment across 50+ countries using the Legal Data Hunter MCP, producing cited comparative analyses of case law, legislation, and doctrine.
recht-erbe-verfahren
Austrian probate and inheritance procedure — Verlassenschaftsverfahren (AußStrG §§143ff), Erbantrittserklärung, Erbrechtsklage, Pflichtteilsklage, Testamentsanfechtung, EU-ErbVO cross-border estates, Erbschaftsmediation, and procedural templates for inheritance disputes.
yuandian-law-search
A search tool for Chinese legal provisions and court cases using the Yuandian open platform. It archives search results locally for later review.
paper-to-cn-patent
Convert finished research papers, figures, and author notes into Chinese invention patent application drafts. Use when Codex needs to rewrite a paper as a China invention patent, draft claims, abstract, specification sections, and figure descriptions, assess whether the source materials are sufficient for patent…
software-copyright
A guided workflow for preparing Chinese software copyright registration materials from a real software project. It produces drafts such as application details, source-code documents, and a user manual.