agentic-vulnerabilities-scan
Skill30 starsChanged 50 days agoBSD-2-ClauseView on GitHub
Run an authorized, sandboxed Promptfoo red-team scan of a prompt-driven AI agent, chatbot, autonomous system, or tool-calling architecture when source access and a live target are available. Verify the target, isolate scan artifacts, obtain informed consent, then configure and execute only a bounded scan.
In this repository30 other files it gives its agents.
- skills/academy/agents.mdAGENTS.md
- academySkill
- amsc-data-movement-apiSkill
- amsc-magSkill
- amsc-python-clientSkill
- globus-computeSkill
- i2-apiSkill
- iri-apiSkill
- skill-explorerSkill
- croissant-validatorSkill
- datacard-generatorSkill
- hdmf-schema-builderSkill
- skill-creatorSkill
- well-convertSkill
- card-eval-updaterSkill
- ai-fingerprintSkill
- battleprintSkill
- fingerprintingSkill
- uncertainty-quantificationSkill
- uq-metrics-evaluatorSkill
- skill-searchSkill
- auroraSkill
- frontierSkill
- pbsSkill
- perlmutterSkill
- slurmSkill
- literature-searchSkill
- multi-agent-systemsSkill
- gkeyllSkill
- gs2Skill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is 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.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 6
Use this workflow only for a target the user is authorized to test.
- Very specific: line 8
All generated artifacts are kept in ${AGENTIC_SCAN_DIR:-.agentic-vulnerabilities-scan} beneath the target repository.
- Distinctive: line 12
Before probing the target or generating attacks, tell the user:
- Distinctive: line 20
Ask for explicit confirmation before steps 4 and 5 unless the headless-policy procedure below succeeds.
≈ “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.
Files
Use this workflow only for a target the user is authorized to test. Run it in a secure sandbox that is already configured with the target's approved environment variables. Do not use it to test third-party systems without authorization.
All generated artifacts are kept in ${AGENTIC_SCAN_DIR:-.agentic-vulnerabilities-scan} beneath the target repository. Do not write scan artifacts to the repository root. The directory contains configuration, target findings, generated tests, provider wrappers, and results; treat it as sensitive.
Preconditions and consent
Before probing the target or generating attacks, tell the user:
- the exact target and the proposed scan workspace;
- that the scan sends adversarial prompts to the target and may trigger real side effects;
- the configured Promptfoo host and that this skill always uses remote Promptfoo red-team generation;
- that target findings and any environment variables explicitly named in
AGENTIC_SCAN_PROVIDER_ENVare written to the sensitive scan workspace; - the selected plugins, strategies, test count, one-at-a-time concurrency, five-minute per-test timeout, and 30-minute total evaluation cap.
Ask for explicit confirmation before steps 4 and 5 unless the headless-policy procedure below succeeds. Offer a dry review of the configuration instead of execution. Remote Promptfoo red-team generation is required; abort if PROMPTFOO_DISABLE_REDTEAM_REMOTE_GENERATION=true.
Headless policy
For headless execution, first establish and review the provider and configuration interactively. Then provide a read-only JSON policy through AGENTIC_SCAN_POLICY and set AGENTIC_SCAN_HEADLESS=true. The harness supplies target and Promptfoo hosts through controlled runtime environment variables; the policy approves plugin and strategy IDs and all scan limits. Remote generation remains required. Use assets/headless-policy.example.json as the schema and starting point; policies must never contain credentials or host configuration.
Run every phase with python ${CLAUDE_SKILL_DIR}/scripts/run_scan_phase.py generate or evaluate from the target repository. When AGENTIC_SCAN_HEADLESS=true, this runner automatically invokes the policy wrapper immediately before starting Promptfoo and fails closed when the environment or promptfooconfig.yaml exceeds the policy. Do not use a non-interactive harness flag as a substitute for this validation.
Workflow
- Verify the target. From the target repository, run
python ${CLAUDE_SKILL_DIR}/scripts/verify_target.py. It resolves providers in this order: existing rootpromptfooconfig.yaml, rootprovider.py, OpenAI-compatible API, CLI, then a custom-provider template. It imports selected root files into the managed scan workspace. Abort if the target is unreachable or a provider cannot faithfully wrap the actual target. - Fingerprint the target. Inspect the source to understand the target's architecture, data, tools, and attack surface. Copy
${CLAUDE_SKILL_DIR}/assets/findings.mdto${AGENTIC_SCAN_DIR:-.agentic-vulnerabilities-scan}/findings.md, complete it, then runpython ${CLAUDE_SKILL_DIR}/scripts/report_findings_to_promptfoo.pyfrom the target repository. - Bound the configuration. Edit
${AGENTIC_SCAN_DIR:-.agentic-vulnerabilities-scan}/promptfooconfig.yaml. Retain only relevant plugins and strategies. Interactive preflight defaults to two plugins, two strategies, two tests per plugin, and four total tests; override a limit only after the user explicitly approves the displayed scope by setting the correspondingINTERACTIVE_SCAN_MAX_*variable. The phase runner prints the effective bounds and blocks both generation and evaluation when any limit is exceeded. - Generate attacks after consent or policy validation. Obtain confirmation unless
AGENTIC_SCAN_HEADLESS=true, then runpython ${CLAUDE_SKILL_DIR}/scripts/run_scan_phase.py generatefrom the target repository. Monitor the command process directly; do not use sentinel files. Abort on errors. - Evaluate after consent or policy validation. Obtain confirmation unless
AGENTIC_SCAN_HEADLESS=true, then runpython ${CLAUDE_SKILL_DIR}/scripts/run_scan_phase.py evaluatefrom the target repository. Check initial output to confirm the target is responding and monitor the process. The runner treats failed red-team assertions as findings and returns zero after a completed evaluation; inspectresults.jsonand report those failures. Abort on operational errors. - Analyze and clean up. Analyze
results.jsontogether withfindings.md, report reproducible exploit evidence and mitigations, and tell the user where sensitive artifacts remain. On request, remove only the managed workspace withpython ${CLAUDE_SKILL_DIR}/scripts/cleanup_scan_workspace.pyfrom the target repository.
Provider guidance
Custom Python and CLI providers execute the real target in the sandbox. Do not create a simulator. Only variables named in the comma-separated AGENTIC_SCAN_PROVIDER_ENV are passed to the target, together with AGENTIC_SCAN_TARGET_DIR and PATH; ensure the list contains exactly the target variables the provider needs. Review the generated provider's target-specific import, response parsing, and concurrency behavior, then rerun verification until its smoke test passes.
External resources
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
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.

