Skills/PyPI/mcp-adversarial

mcp-adversarial@0.1.0

VERIFIED

Publisher claims: "Adversarial input harness for MCP servers. Replay injection / oversize / traversal fixtures against any MCP server and assert it stays sane." Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry PyPI (MCP server)Publisher sanjeevkkansal · joined 0 days agoInstalls 13Last detonated 2 h ago
$claude mcp add mcp-adversarial -- uvx mcp-adversarial
WatchReport an issue

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios) on 2026-11-06 and scored it 81/100 (Verified). It did what it claims and nothing else we could detect: no undeclared network egress, no credential reads, no persistent instruction writes. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 0 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
0.1sprocessdependency install exit 1
0.1sprocessexec /usr/bin/date
0.1sprocessexec /usr/bin/timeout
0.1sprocessexec .venv/bin/mcp-adversarial
0.1sclaimedno tools/list reply (exit 0)
0.2sprocessscript backend runs setup only
0.2sprocessno install scripts to re-run

Static findings

MEDIUM
Access to sensitive file pathssrc/mcp_adversarial/fixtures/generic/path_traversal.json:6 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Access to sensitive file pathssrc/mcp_adversarial/fixtures/generic/path_traversal.json:5 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Hidden zero-width characters detectedsrc/mcp_adversarial/fixtures/generic/unicode_format.json:6 · Hidden zero-width characters detected — may conceal contentFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
MEDIUM
Bidirectional text override characters detectedsrc/mcp_adversarial/fixtures/generic/unicode_format.json:5 · Bidirectional text override characters detected — may hide content directionFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07
MEDIUM
Access to sensitive file pathssrc/mcp_adversarial/fixtures/generic/injection_preamble.json:5 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Hidden zero-width characters detectedsrc/mcp_adversarial/fixtures/generic/unicode_format.json:5 · Hidden zero-width characters detected — may conceal contentFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
MEDIUM
Python subprocess execution detectedsrc/mcp_adversarial/runner.py:107 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
LOW
Prompt injection attemptsrc/mcp_adversarial/fixtures/generic/injection_preamble.json:5 · Prompt injection attempt — 'ignore previous instructions' · informational: not an instruction fileFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST01
LOW
Prompt injection attemptsrc/mcp_adversarial/fixtures/generic/injection_preamble.json:7 · Prompt injection attempt — 'ignore previous instructions' · informational: not an instruction fileFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST01
LOW
Prompt injection attemptsrc/mcp_adversarial/fixtures/terraform/tf_injection_in_description.json:32 · Prompt injection attempt — fake system prompt · informational: not an instruction fileFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST01
LOW
Prompt injection attemptsrc/mcp_adversarial/fixtures/terraform/tf_injection_in_tags.json:31 · Prompt injection attempt — 'ignore previous instructions' · informational: not an instruction fileFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST01
MEDIUM
Access to sensitive file pathssrc/mcp_adversarial/fixtures/terraform/tf_path_traversal_in_address.json:15 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Access to sensitive file pathssrc/mcp_adversarial/fixtures/terraform/tf_path_traversal_in_address.json:17 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
LOW
Prompt injection attemptsrc/mcp_adversarial/fixtures/generic/injection_preamble.json:6 · Prompt injection attempt — fake system prompt · informational: not an instruction fileFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST01
MEDIUM
Access to sensitive file pathssrc/mcp_adversarial/fixtures/terraform/tf_injection_in_tags.json:31 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
LOW
Bidirectional override character (text renders in a different order than it is read)src/mcp_adversarial/fixtures/generic/unicode_format.json:5 · Bidirectional override character (text renders in a different order than it is read) · informational: not an instruction fileFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01

Cost to the agent

Instructions loaded
≈73 tok
1 file · 22 in bundle
Tool list per prompt
≈0 tok
0 tools · 0 per tool
Handshake
no reply
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 0

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

Not checked against OSV yet; the weekly check has not reached this version.