compare-vuln-remote-inspector-proxy-auth-bypass2026-09-07T15:42:44.992339+00:00/app/sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt · canary CANARY_remote_inspector_proxy_auth_bypass_037bdd9092de4240555a7de7compare-def-remote-inspector-proxy-auth-bypass2026-09-07T15:42:44.992768+00:00inspector_proxy_auth_policy · logged to var/telemetry.jsonllaunch_serversandbox/effects/inspector-rce-proof-<session>.txt/app/sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txtFalseFalseno real subprocess; bounded proof file onlyimpact-runner → sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt allowed_by_vulnerable_modeimpact-runner → sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt allowed_by_vulnerable_modeimpact-runner → sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt allowed_by_vulnerable_modeimpact-runner → sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt allowed_by_vulnerable_modeimpact-runner → sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt allowed_by_vulnerable_modeimpact-runner → sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt allowed_by_vulnerable_modeimpact-runner → sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt allowed_by_vulnerable_modevar/telemetry.jsonlinspector_proxy_auth_policyadmin_tokenmissing or wrong admin tokenFalsepolicy.inspector_proxy_auth_policy → inspector-proxy.launch_server blockedpolicy.inspector_proxy_auth_policy → inspector-proxy.launch_server blockedpolicy.inspector_proxy_auth_policy → inspector-proxy.launch_server blockedpolicy.inspector_proxy_auth_policy → inspector-proxy.launch_server blockedpolicy.inspector_proxy_auth_policy → inspector-proxy.launch_server blockedpolicy.inspector_proxy_auth_policy → inspector-proxy.launch_server blockedpolicy.inspector_proxy_auth_policy → inspector-proxy.launch_server blockedBounded MCP Inspector / devtool auth-bypass RCE-class demo. Inspired by CVE-2025-49596 (MCP Inspector). The vulnerable mode accepts an unauthenticated launch request and creates a bounded proof file via ``ImpactRunner.write_sandbox_file``. There is no real subprocess. The defended mode requires an admin token and a matching Origin header.
http://mcp-sec.data.mayflower.tech/mcp/inspector-proxy-auth-bypass/vulnerable/http://mcp-sec.data.mayflower.tech/mcp/inspector-proxy-auth-bypass/defended/npx @modelcontextprotocol/inspector locally and paste either URL above as a Streamable HTTP server.{
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "vulnerable",
"violation_detected": true,
"secret_exfiltrated": false,
"blocked_by": [],
"events": [
{
"type": "bounded_rce_proof",
"artifact": "/app/sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"auth_checked": false,
"would_execute": false,
"note": "no real subprocess; bounded proof file only"
}
]
}{
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "defended",
"violation_detected": true,
"secret_exfiltrated": false,
"blocked_by": [
"inspector_proxy_auth_policy"
],
"events": [
{
"type": "auth_decision",
"check": "admin_token",
"reason": "missing or wrong admin token",
"would_execute": false
}
]
}Simulate launching an MCP server through the Inspector proxy. Vulnerable mode does not check arguments. Defended mode requires admin_token + origin to match.
{
"properties": {
"session_id": {
"default": "mcp-vulnerable",
"title": "Session Id",
"type": "string"
},
"admin_token": {
"default": "",
"title": "Admin Token",
"type": "string"
},
"origin": {
"default": "",
"title": "Origin",
"type": "string"
}
},
"title": "launch_serverArguments",
"type": "object"
}Run the canonical scenario and return DemoResult.
{
"properties": {
"session_id": {
"default": "mcp-vulnerable",
"title": "Session Id",
"type": "string"
}
},
"title": "run_demoArguments",
"type": "object"
}Simulate launching an MCP server through the Inspector proxy. Vulnerable mode does not check arguments. Defended mode requires admin_token + origin to match.
{
"properties": {
"session_id": {
"default": "mcp-defended",
"title": "Session Id",
"type": "string"
},
"admin_token": {
"default": "",
"title": "Admin Token",
"type": "string"
},
"origin": {
"default": "",
"title": "Origin",
"type": "string"
}
},
"title": "launch_serverArguments",
"type": "object"
}Run the canonical scenario and return DemoResult.
{
"properties": {
"session_id": {
"default": "mcp-defended",
"title": "Session Id",
"type": "string"
}
},
"title": "run_demoArguments",
"type": "object"
}[
{
"event_id": "evt_592ef71581284123",
"ts": "2026-07-26T03:20:16.412923+00:00",
"session_id": "compare-vuln-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "vulnerable",
"event_type": "sandbox_file_written",
"severity": "info",
"message": "impact-runner: file written: inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"data": {
"actor": "impact-runner",
"target": "sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"policy_decision": "allowed_by_vulnerable_mode",
"canary_id": "CANARY_remote_inspector_proxy_auth_bypass_037bdd9092de4240555a7de7",
"artifact": "/app/sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt"
}
},
{
"event_id": "evt_49046be8655e9a4c",
"ts": "2026-08-19T08:56:24.840702+00:00",
"session_id": "compare-vuln-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "vulnerable",
"event_type": "sandbox_file_written",
"severity": "info",
"message": "impact-runner: file written: inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"data": {
"actor": "impact-runner",
"target": "sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"policy_decision": "allowed_by_vulnerable_mode",
"canary_id": "CANARY_remote_inspector_proxy_auth_bypass_037bdd9092de4240555a7de7",
"artifact": "/app/sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt"
}
},
{
"event_id": "evt_51369565019a4dec",
"ts": "2026-08-29T11:19:35.150092+00:00",
"session_id": "compare-vuln-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "vulnerable",
"event_type": "sandbox_file_written",
"severity": "info",
"message": "impact-runner: file written: inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"data": {
"actor": "impact-runner",
"target": "sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"policy_decision": "allowed_by_vulnerable_mode",
"canary_id": "CANARY_remote_inspector_proxy_auth_bypass_037bdd9092de4240555a7de7",
"artifact": "/app/sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt"
}
},
{
"event_id": "evt_9ff2af7b81306327",
"ts": "2026-09-07T14:02:15.935250+00:00",
"session_id": "compare-vuln-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "vulnerable",
"event_type": "sandbox_file_written",
"severity": "info",
"message": "impact-runner: file written: inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"data": {
"actor": "impact-runner",
"target": "sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"policy_decision": "allowed_by_vulnerable_mode",
"canary_id": "CANARY_remote_inspector_proxy_auth_bypass_037bdd9092de4240555a7de7",
"artifact": "/app/sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt"
}
},
{
"event_id": "evt_3955701af0786eb0",
"ts": "2026-09-07T14:02:58.956925+00:00",
"session_id": "compare-vuln-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "vulnerable",
"event_type": "sandbox_file_written",
"severity": "info",
"message": "impact-runner: file written: inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"data": {
"actor": "impact-runner",
"target": "sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"policy_decision": "allowed_by_vulnerable_mode",
"canary_id": "CANARY_remote_inspector_proxy_auth_bypass_037bdd9092de4240555a7de7",
"artifact": "/app/sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt"
}
},
{
"event_id": "evt_11715bb8faf858df",
"ts": "2026-09-07T14:04:38.454845+00:00",
"session_id": "compare-vuln-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "vulnerable",
"event_type": "sandbox_file_written",
"severity": "info",
"message": "impact-runner: file written: inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"data": {
"actor": "impact-runner",
"target": "sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"policy_decision": "allowed_by_vulnerable_mode",
"canary_id": "CANARY_remote_inspector_proxy_auth_bypass_037bdd9092de4240555a7de7",
"artifact": "/app/sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt"
}
},
{
"event_id": "evt_f661353bc6b01f00",
"ts": "2026-09-07T15:42:44.992339+00:00",
"session_id": "compare-vuln-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "vulnerable",
"event_type": "sandbox_file_written",
"severity": "info",
"message": "impact-runner: file written: inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"data": {
"actor": "impact-runner",
"target": "sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt",
"policy_decision": "allowed_by_vulnerable_mode",
"canary_id": "CANARY_remote_inspector_proxy_auth_bypass_037bdd9092de4240555a7de7",
"artifact": "/app/sandbox/effects/inspector-rce-proof-compare-vuln-remote-inspector-proxy-auth-bypass.txt"
}
}
][
{
"event_id": "evt_566a9cb3be65dac7",
"ts": "2026-07-26T03:20:16.413117+00:00",
"session_id": "compare-def-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "defended",
"event_type": "policy_decision",
"severity": "warning",
"message": "policy.inspector_proxy_auth_policy: missing or wrong admin token",
"data": {
"actor": "policy.inspector_proxy_auth_policy",
"target": "inspector-proxy.launch_server",
"policy_decision": "blocked",
"canary_id": null,
"artifact": null,
"reason": "missing or wrong admin token"
}
},
{
"event_id": "evt_6dbed9f29b560e21",
"ts": "2026-08-19T08:56:24.840766+00:00",
"session_id": "compare-def-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "defended",
"event_type": "policy_decision",
"severity": "warning",
"message": "policy.inspector_proxy_auth_policy: missing or wrong admin token",
"data": {
"actor": "policy.inspector_proxy_auth_policy",
"target": "inspector-proxy.launch_server",
"policy_decision": "blocked",
"canary_id": null,
"artifact": null,
"reason": "missing or wrong admin token"
}
},
{
"event_id": "evt_32c9e502321d068e",
"ts": "2026-08-29T11:19:35.150438+00:00",
"session_id": "compare-def-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "defended",
"event_type": "policy_decision",
"severity": "warning",
"message": "policy.inspector_proxy_auth_policy: missing or wrong admin token",
"data": {
"actor": "policy.inspector_proxy_auth_policy",
"target": "inspector-proxy.launch_server",
"policy_decision": "blocked",
"canary_id": null,
"artifact": null,
"reason": "missing or wrong admin token"
}
},
{
"event_id": "evt_79d03d30f1880114",
"ts": "2026-09-07T14:02:15.935561+00:00",
"session_id": "compare-def-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "defended",
"event_type": "policy_decision",
"severity": "warning",
"message": "policy.inspector_proxy_auth_policy: missing or wrong admin token",
"data": {
"actor": "policy.inspector_proxy_auth_policy",
"target": "inspector-proxy.launch_server",
"policy_decision": "blocked",
"canary_id": null,
"artifact": null,
"reason": "missing or wrong admin token"
}
},
{
"event_id": "evt_f37d3b691310151f",
"ts": "2026-09-07T14:02:58.957155+00:00",
"session_id": "compare-def-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "defended",
"event_type": "policy_decision",
"severity": "warning",
"message": "policy.inspector_proxy_auth_policy: missing or wrong admin token",
"data": {
"actor": "policy.inspector_proxy_auth_policy",
"target": "inspector-proxy.launch_server",
"policy_decision": "blocked",
"canary_id": null,
"artifact": null,
"reason": "missing or wrong admin token"
}
},
{
"event_id": "evt_697df563a2e7cb46",
"ts": "2026-09-07T14:04:38.455050+00:00",
"session_id": "compare-def-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "defended",
"event_type": "policy_decision",
"severity": "warning",
"message": "policy.inspector_proxy_auth_policy: missing or wrong admin token",
"data": {
"actor": "policy.inspector_proxy_auth_policy",
"target": "inspector-proxy.launch_server",
"policy_decision": "blocked",
"canary_id": null,
"artifact": null,
"reason": "missing or wrong admin token"
}
},
{
"event_id": "evt_58aa829fbf415887",
"ts": "2026-09-07T15:42:44.992768+00:00",
"session_id": "compare-def-remote-inspector-proxy-auth-bypass",
"experiment": "remote-inspector-proxy-auth-bypass",
"mode": "defended",
"event_type": "policy_decision",
"severity": "warning",
"message": "policy.inspector_proxy_auth_policy: missing or wrong admin token",
"data": {
"actor": "policy.inspector_proxy_auth_policy",
"target": "inspector-proxy.launch_server",
"policy_decision": "blocked",
"canary_id": null,
"artifact": null,
"reason": "missing or wrong admin token"
}
}
]