auditing-ecs-task-metadata-boundaries

auditing-ecs-task-metadata-boundaries is a skill for Claude Code from UnboundCompute/security-agent-skills. It costs 165 tokens per session (1,935 once invoked), scanned A, original, MIT.

A security review of how containers obtain access credentials in Amazon ECS, a service for running containers. It checks the task credential endpoint, the host machine's metadata service, and the permissions assigned to each role.

In plain words
What is it for?
Use it to review ECS task roles, metadata endpoints, server-side request risks, and credential sharing between containers.
Why use it?
It helps find paths that could let a compromised application or sidecar container obtain credentials with more access than it needs.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the security-agent-skills plugin — 194 skills shipped together

Good fit Use it to review ECS task roles, metadata endpoints, server-side request risks, and credential sharing between containers.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/unboundcompute/security-agent-skills/auditing-ecs-task-metadata-boundaries
Install

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.

Any agent
npx skills add UnboundCompute/security-agent-skills --skill auditing-ecs-task-metadata-boundaries
Clone the repo
git clone --depth 1 https://github.com/UnboundCompute/security-agent-skills

Made for: Claude Code.

Or install security-agent-skills, the plugin that ships this one along with the rest of its 194 skills.

Wrote 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.

agentmods badge for auditing-ecs-task-metadata-boundaries

README.md
[![agentmods](https://agentmods.dev/badge/skills/unboundcompute/security-agent-skills/auditing-ecs-task-metadata-boundaries/github.svg)](https://agentmods.dev/skills/unboundcompute/security-agent-skills/auditing-ecs-task-metadata-boundaries)
Your own site
<a href="https://agentmods.dev/skills/unboundcompute/security-agent-skills/auditing-ecs-task-metadata-boundaries"><img src="https://agentmods.dev/badge/skills/unboundcompute/security-agent-skills/auditing-ecs-task-metadata-boundaries/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.

agentmods 80×15 button for auditing-ecs-task-metadata-boundaries

Your own site · 80×15
<a href="https://agentmods.dev/skills/unboundcompute/security-agent-skills/auditing-ecs-task-metadata-boundaries"><img src="https://agentmods.dev/badge/skills/unboundcompute/security-agent-skills/auditing-ecs-task-metadata-boundaries.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 165 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,935 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00165 $0.01935
Opus 5 $0.00082 $0.00967
Sonnet 5 $0.00033 $0.00387
Haiku 4.5 $0.00016 $0.00194

Measured 10d ago against content hash bc4d308c756e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

auditing-ecs-task-metadata-boundaries 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 10d 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.

skills/auditing-ecs-task-metadata-boundaries/SKILL.md · 135 lines

How it starts

The opening of the file, as written. The whole thing — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Auditing ECS task metadata boundaries: when a container reaches a credential it should not

Containerized compute hands each task a role by serving credentials from a metadata endpoint the container can call. That design puts a powerful boundary inside the task: whatever the workload can reach at the credential endpoint, it can use. Two endpoints matter. The task credential endpoint returns the task role, which is fine if that role is scoped to exactly what the workload does. The host instance metadata service, if reachable from the task, returns the node's instance role, which is usually far broader and was never meant for the workload. A server-side request flaw inside the task, or a compromised sidecar, turns either endpoint into a credential-theft primitive. You audit these by checking which endpoints the workload can reach and how tightly the returned role is scoped.

When to use

  • Containerized workloads assume a task or instance role served from a metadata endpoint.
  • A task can reach the host instance metadata service, not only its own task credential endpoint.
  • A task runs multiple containers or sidecars that share task credentials, or has a server-side request path.

Scope check

Test metadata and credential boundaries only against clusters and accounts you own or are authorized to assess, on non-production infrastructure. A confirming request retrieves live credentials, so stay inside the authorized account and treat any retrieved credential as sensitive within scope. If you can't name the authorization, stop.

The loop

  1. Establish the task's real need first. Name what this workload actually must do in the cloud account: which specific actions on which resources. This is the false-positive killer: a task role scoped to exactly that need, reachable only by the workload that needs it, is correct. Name the need, then compare the reachable credentials to it.

  2. Determine which metadata endpoints the task can reach. Confirm whether the workload can reach only its task credential endpoint or also the host instance metadata service. A task that can call the instance metadata service can obtain the node role, which typically exceeds any single task's need. Check the network path and any hop-limit or endpoint restriction that should block it.

Read the full file on GitHub · 135 lines

Changes

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.

  1. 10d ago First seen · 135 lines · 165 tokens per session scan A bc4d308c756e

Subscribe to this mod's changes

auditing-ecs-task-metadata-boundaries is a skill published in the GitHub repository UnboundCompute/security-agent-skills (5 stars, last pushed 2d ago), licensed MIT. It adds 165 tokens to every session and 1,935 once invoked, about $0.0008 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-31.

Related

Other skills, from other repositories

cloud-security-engineer

Cloud Security Engineer role bundle for cloud security posture management, IaC review, container security, and identity governance across AWS, Azure, and GCP. Orchestrates cloud-specific posture reviews and zero trust program assessments. Auto-invoked when the user needs help with cloud security configuration, IaC…

UnitOneAI/SecuritySkills · 79 tokens

azure-review

Performs an Azure security posture review against the CIS Microsoft Azure Foundations Benchmark v2.1.0. Auto-invoked when reviewing Azure infrastructure, Entra ID configurations, NSG rules, Defender for Cloud settings, or Key Vault access policies. Walks through all nine benchmark sections, evaluates each…

UnitOneAI/SecuritySkills · 81 tokens

gcp-review

Performs a GCP security posture review against the CIS Google Cloud Platform Foundation Benchmark v2.0.0. Auto-invoked when reviewing GCP infrastructure, IAM bindings, VPC firewall rules, Cloud Audit Logs, or GCS bucket security. Walks through all seven benchmark sections, evaluates each recommendation, and produces a…

UnitOneAI/SecuritySkills · 83 tokens

container-security

Performs a container and Kubernetes security review against the CIS Docker Benchmark v1.6.0, CIS Kubernetes Benchmark v1.9.0, and NIST SP 800-190. Auto-invoked when reviewing Dockerfiles, Kubernetes manifests, Helm charts, or container orchestration configurations. Evaluates image security, runtime hardening, RBAC…

UnitOneAI/SecuritySkills · 96 tokens

aws-review

Performs an AWS security posture review against the CIS Amazon Web Services Foundations Benchmark v3.0.0. Auto-invoked when reviewing AWS infrastructure, IAM policies, S3 configurations, CloudTrail settings, VPC security groups, or RDS encryption. Walks through all five benchmark sections, evaluates each…

UnitOneAI/SecuritySkills · 83 tokens

cloud-workload-protection

../../../cloud-infra/cloud-workload-protection/SKILL.md.

jaskaranhundal/usap-skills · 0 tokens