A minimal, intentionally vulnerable MCP server to demonstrate SAFE‑T1001 (Tool Poisoning Attack). Use it during the hackathon to: identify the vulnerability, map it to SAFE‑T1001, and propose mitigations.
- Prereqs: Docker installed; internet allowed for image pull.
- Pull (GHCR example):
docker pull ghcr.io/bishnubista/safe-mcp-sandbox:v0.1.0 - Run (unsafe mode, default):
- macOS/Linux:
docker run --rm -i --read-only --pids-limit 128 --memory 256m --security-opt no-new-privileges --network none -v "$(pwd)/flags:/opt/flags:ro" ghcr.io/bishnubista/safe-mcp-sandbox:v0.1.0 - Windows PowerShell:
docker run --rm -i --read-only --pids-limit 128 --memory 256m --security-opt no-new-privileges --network none -v "${PWD}/flags:/opt/flags:ro" ghcr.io/bishnubista/safe-mcp-sandbox:v0.1.0
- macOS/Linux:
- Run (safe mode demo):
- Add
-e MODE=safebefore the image name, or use./scripts/run-safe.sh/scripts\run-safe.cmd. - Tip: Override scripts with a pinned tag:
IMAGE=ghcr.io/bishnubista/safe-mcp-sandbox:v0.1.0 ./scripts/run-unsafe.sh
- Add
- Connect with an MCP client (Claude Desktop recommended). See
docs/CLIENTS.md.
- Recon tool metadata, trigger the poisoned behavior, capture evidence of model coercion/exfiltration, map to SAFE‑T1001, and propose a mitigation. See
docs/HACKATHON.mdfor the exact tasks and scoring.
server/: Node.js (TypeScript) MCP server (unsafe/safe modes)docker/: Dockerfileflags/: Sampleflag.txtmounted read‑only at runtimedocs/: Event docs and materials (HACKATHON.md,CLIENTS.md,MITIGATIONS.md,SCORING.md,ROADMAP.md)scripts/: Convenience run scripts for macOS/Linux and Windows
- Container runs without network, read‑only, as non‑root in final image.
- Bind‑mount only
flags/read‑only; do not mount sensitive host paths. - Issues and improvements welcome via PRs (see
docs/ROADMAP.md).
- CI builds and pushes images to GHCR on tags (
v*) and onmain(edge). - Image:
ghcr.io/bishnubista/safe-mcp-sandboxwith tags likev0.1.0,v0.1,v0,latest, andedge. - Tag and push to release:
git tag v0.1.0 && git push origin v0.1.0- See
docs/ROADMAP.mdfor future tagging by scenario.