一键导入
mcpnuke-run-tests
Run mcpnuke's test suite, interpret failures, and fix issues. Use when running tests, debugging test failures, or verifying changes in mcpnuke.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Run mcpnuke's test suite, interpret failures, and fix issues. Use when running tests, debugging test failures, or verifying changes in mcpnuke.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create a new mcpnuke security check module end-to-end: pattern file, check function, wire into run_all_checks, add tests, update changelog. Use when adding a new security check to mcpnuke.
Add new regex detection patterns to mcpnuke's pattern libraries with test coverage. Use when adding new patterns to rules.py or probes.py, or when extending detection for a vulnerability class.
Add a new transport type to mcpnuke alongside SSE, HTTP, and ToolServer. Use when adding support for a new MCP transport protocol like DPoP, mTLS, or a custom gateway.
Add new DVMCP challenge test classes to mcpnuke's test suite following the established pattern. Use when adding tests for a new vulnerability type or DVMCP challenge.
| name | mcpnuke-run-tests |
| description | Run mcpnuke's test suite, interpret failures, and fix issues. Use when running tests, debugging test failures, or verifying changes in mcpnuke. |
All commands use uv run — no venv activation needed.
# Full suite
uv run pytest tests/ -v
# Specific test file
uv run pytest tests/test_dvmcp.py -v
# Specific test class
uv run pytest tests/test_dvmcp.py::TestDVMCPChallenge1PromptInjection -v
# Specific test
uv run pytest tests/test_dvmcp.py::TestDVMCPChallenge1PromptInjection::test_ignore_instructions_payload -v
# Stop on first failure
uv run pytest tests/ -v -x
# With output capture disabled (see print statements)
uv run pytest tests/ -v -s
| File | What it tests | Needs network? |
|---|---|---|
test_dvmcp.py | All 10 DVMCP challenges (offline) | No |
test_dvmcp.py::TestDVMCPLive | Live DVMCP servers | Yes (DVMCP_LIVE=1) |
test_cli.py | CLI argument parsing | No |
test_diff.py | Differential scanning | No |
test_patterns.py | Regex pattern matching | No |
test_rate_limit.py | Rate limit check | No |
test_prompt_leakage.py | Prompt leakage check | No |
test_supply_chain.py | Supply chain check | No |
test_checks_integration.py | Cross-check integration | No |
test_k8s.py | K8s checks and discovery | No |
test_fast_sampling.py | Tool scoring and sampling | No |
test_webhook_persistence.py | Webhook persistence check | No |
test_response_credentials.py | Response credential check | No |
test_exfil_flow.py | Exfil flow check | No |
test_config_tampering.py | Config tampering check | No |
test_credential_in_schema.py | Schema credential check | No |
test_ssrf_probe.py | SSRF probe check | No |
test_actuator_probe.py | Actuator probe check | No |
test_public_targets.py | Live public MCP servers | Yes (MCP_PUBLIC_TARGETS=1) |
Package not installed. Fix:
cd ~/mcpnuke && uv sync --all-extras
# Or just re-run quickstart:
./quickstart.sh --skip-tests
A check isn't finding what it should. Look at:
patterns/rules.py — does it match the test input?target_result — TargetResult with one safe toolresult_with_tools — factory: result_with_tools([{...tool dicts...}])Always re-run the full suite before committing:
uv run pytest tests/ -v --tb=short
Expected: 163+ passed, 36 skipped, 0 failed.