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 agentmods add skills/shieldnet-360/secure-vibe/security-regression-testsnpx skills add ShieldNet-360/secure-vibe --skill security-regression-testsgit clone --depth 1 https://github.com/ShieldNet-360/secure-vibeWrote 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/shieldnet-360/secure-vibe/security-regression-tests)<a href="https://agentmods.dev/skills/shieldnet-360/secure-vibe/security-regression-tests"><img src="https://agentmods.dev/badge/skills/shieldnet-360/secure-vibe/security-regression-tests.svg" alt="Measured on agentmods" 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.00091 | $0.01760 |
| Opus 5 | $0.00046 | $0.00880 |
| Sonnet 5 | $0.00018 | $0.00352 |
| Haiku 4.5 | $0.00009 | $0.00176 |
Grade B, and why
security-regression-tests scanned grade B with 1 finding 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 5d 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.
`http://169.254.169.254/latest/meta-data/` is a *live, reachable* address on a cloud Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
How it starts
The opening of the file, as written. The whole thing — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Security Regression Tests
Rules (for AI agents)
ALWAYS
- Prove the test fails without the fix. Revert the patch, or mutate the guard, and confirm the new test goes red — then restore. A test written after the fix can be vacuously green: wrong route, wrong fixture user, wrong assertion target, a typo in the payload. It will stay green forever and nobody will learn anything from it. This is the one step that distinguishes a guard from a decoration, and it is the one most often skipped.
- Assert both directions: the attack input now yields the secure outcome, and a legitimate input still succeeds. A deny-only test passes equally well against an endpoint that is broken for everyone, so it will hold the line and tell you nothing when someone disables the feature entirely.
- Assert the effect, not only the status code. A
403proves the request was refused; it does not prove the write did not land somewhere else, that the record was not returned in a different shape, or that a queue message was not emitted. Check the state the attack was trying to reach. - Seed the fixtures the assertion depends on before writing it. A cross-tenant test needs two principals and two owned resources, deterministically created — if both test users end up in the same tenant, the deny assertion is untestable and passes for the wrong reason.
- Make it deterministic and offline. Freeze the clock for expiry and TTL
assertions, stub the HTTP client, dialer or resolver rather than reaching the
network, fix random seeds, and avoid sleep-based timing assertions and state shared
between tests. Note that a canonical SSRF payload such as
http://169.254.169.254/latest/meta-data/is a live, reachable address on a cloud CI runner, so the naive test both leaves the sandbox and returns a different verdict on a laptop. - Graduate a live proof-of-concept by keeping its shape and dropping its mechanism.
dynamic-verificationconfirms some classes with a timing delta or an out-of-band callback, and neither survives in CI: replace the time-based payload with an assertion that the query was parameterized, and the callback with a stubbed dialer asserting no outbound request was attempted. - Put the test in a job that can block the merge. A committed test in a job that is
continue-on-error, not a required check, or nightly-only is documentation.cicd-securityowns the gate configuration itself. - Name it so a reviewer sees what it guards —
test_idor_orders_cross_tenant_403— and reference the finding in the test body or the commit, so the next person to see it fail knows what it is protecting rather than what it is blocking.
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.
- 5d ago First seen · 125 lines · 91 tokens per session scan B ce7a55a8a898
security-regression-tests is a skill published in the GitHub repository ShieldNet-360/secure-vibe (22 stars, last pushed 22d ago), licensed MIT. It adds 91 tokens to every session and 1,760 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it B with 1 finding (cloud metadata endpoint). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
smoke-test
Launch the app and hands-on verify that it works by interacting with it. Falls back to an existing integration test suite when there is no interactive surface in scope. Use when the user asks to "smoke test", "test it manually", "verify it works", "try it out", "run a smoke test", "check it in the browser", or "does…
web-system-tests
The web realization of the system-tests contract — browser-driven system tests with Playwright against a running frontend. Owns the project layout (tests/), the Playwright configuration (baseURL plus webServer, cross-engine projects), the role- and label-based selector policy, code coverage as an opt-in second run…
test-writer
Write thorough tests following TDD and BDD principles.
system-tests
Generic, composable conventions for system tests — black-box tests exercising the running system from the outside through its public surface. Defines the stack-neutral contract (no internals, environment coordinates as configuration, test isolation, total verdict reporting) and the taxonomy of expectation origins…
continuous-testing
Continuous test-driven development loop — after every code change, builds the project, starts the server, and runs Unit Tests, Integration Tests, and System Tests. Applies on top of microprofile-server skill. Use during development when you want full verification after each change. Triggers on "continuous testing"…
e2e-playwright
Use when writing end-to-end browser tests with Playwright. Covers resilient locators, auto-waiting, network interception, authentication reuse, parallelization, and eliminating flakiness.