agentleFS
VulnetixVulnetix/pix-ai-coding-assistant/skills/exploit-test/SKILL.md

exploit-test

Skill9 starsChanged 6 days agoApache-2.0View on GitHub

Generate a runnable exploit-validation command (Nuclei template, Metasploit module hint, AI-assisted Python script, or curl-based PoC) against a user-specified authorised target. Use when validating that a fix actually closed the vulnerability path, confirming a patch deployed correctly, or producing a copy-pasteable test command for QA. The skill never executes — the user runs.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read .vulnetix/capabilities.yaml.

    line 38
  2. Very specific:

    Always include a --target placeholder if the user did not supply one.

    line 78
  3. Distinctive:

    After the user runs the command, expected outcomes:

    line 82
  4. Very specific:

    Never store credentials or tokens in .vulnetix/exploit-test/.

    line 92
  5. Distinctive:

    Treat any provided target as authorized testing only — surface a one-line authorization reminder.

    line 93
  6. Distinctive:

    After running, the skill reads the user-described result and writes the verification outcome to memory — but only if the user explicitly …

    line 102

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Vulnetix Exploit Test Skill

Use when

  • You just applied a fix and want to validate the exploit path no longer responds.
  • Confirming a patch deployed correctly to staging before promoting to production.
  • Producing a copy-pasteable test command for QA hand-off.
  • Comparing pre-fix vs post-fix behaviour with the same payload.
  • Building authorised proof-of-fix evidence for an audit.

Don't use for

  • Unauthorised testing — the skill explicitly requires user-supplied authorised targets.
  • Live attack simulation — use a dedicated red-team tooling chain.
  • Generating detection rules — use detection-rules.

Conventions

Follows skills/_lib/contract.md. In short: use the vulnetix_* MCP tools when the agent has them and the CLI otherwise — both shape their own output, so there is no jq step any more. Independent calls go out as concurrent Bash tool calls in one message. One trailing suggestion, not a playbook. See the contract for surface selection, output style and memory writes.

Builds a copy-pasteable exploit-validation command. Best used after a fix to confirm the vulnerability path no longer responds. The user runs the command — this skill does not auto-execute.

Step 1: Load capabilities

Read .vulnetix/capabilities.yaml. Specifically binaries.nuclei, binaries.curl, binaries.docker.

Step 2: Fetch exploit content

vulnetix vdb exploits "$ARGUMENTS" -o json
vulnetix vdb ai-assisted-exploits get "$ARGUMENTS" -o json

Capture: PoC URLs, Metasploit module IDs, Nuclei template IDs, AI-assisted demo scripts.

Step 3: Fetch Nuclei template (preferred when binary present)

If binaries.nuclei: true:

vulnetix vdb nuclei get "$ARGUMENTS" --format yaml > .vulnetix/exploit-test/${ARGUMENTS}.yaml

Step 4: Render commands

Pick the highest-fidelity option available. Order:

  1. Nuclei + binary present:
    nuclei -t .vulnetix/exploit-test/${ARGUMENTS}.yaml -u "$TARGET"
  2. Metasploit module ID present and binaries.msfconsole (probe inline):
    msfconsole -q -x "use <module>; set RHOSTS <target>; run; exit"
  3. AI-assisted Python demo script — write to .vulnetix/exploit-test/${ARGUMENTS}.py. Suggest:
    uv run --with requests .vulnetix/exploit-test/${ARGUMENTS}.py "$TARGET"
  4. Curl-based PoC (last resort) — fetched from vdb exploits references.

Always include a --target placeholder if the user did not supply one. Refuse to run against any target without explicit user confirmation.

Step 5: Verdict guidance

After the user runs the command, expected outcomes:

  • Pre-fix: vulnerability triggers (response shape varies by CVE — describe expected indicator)
  • Post-fix: command returns benign / 404 / 400

Memory update

Append event: exploit-test-prepared with the chosen command class to the vuln entry.

Safety

  • Never store credentials or tokens in .vulnetix/exploit-test/.
  • Treat any provided target as authorized testing only — surface a one-line authorization reminder.

Edge cases & gotchas

  • Authorisation is the user's responsibility. The skill surfaces an authorisation reminder; the LLM must NOT proceed if the user has not named an authorised target.
  • Nuclei templates are downloaded into .vulnetix/exploit-test/<VULN_ID>.yaml. Review the template before running — some include intrusive payloads.
  • Metasploit module hints reference module IDs, not module paths. Confirm the module is installed in your local msfconsole before invoking.
  • AI-assisted Python demo scripts run with uv run --with requests — the script files live in .vulnetix/exploit-test/ and should never carry secrets.
  • For some CVEs no Nuclei template exists; the skill falls back to a curl-based PoC pulled from vdb exploits references. Curl PoCs are typically least reliable.
  • After running, the skill reads the user-described result and writes the verification outcome to memory — but only if the user explicitly reports back.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.