A public MCP registry entry can advertise a harmless-looking tool while its server process holds filesystem privileges beyond that advertised function. MCP-FSD analyzes this gap as an implementation and execution-boundary problem, not just a language-model prompt problem. Its screening pipeline starts with 21,097 listings across nine registries, narrows to 4…
Inspect the ClaimsCase · DiggingBeagle record
MCP-FSD validates filesystem access outside tools’ advertised scope
Isolated testing found 150 filesystem-boundary violations across a selected sample of MCP servers, including 136 disclosures of synthetic planted credential markers.
arXiv:2610.22301, sampled JavaScript/Python MCP registry servers, synthetic secrets and controlled process permissions.
Assessment profile
Assessment method- Setting
- research demonstration
- Exploitation
- demonstrated
- Evidence
- Grade B
- Remediation
- mitigation available
- AI role
- AGAINST AI
Basis and provenance
The arXiv MCP-FSD paper directly reports 21,097 registry listings, selected runnable samples and 150 dynamically validated path-boundary violations with 136 planted credential matches. The screened candidate percentage is not a prevalence estimate for all servers. The mechanisms were measured in synthetic, local tests, with no proof of stolen production credentials or a single global patch.
Assessed Oct 18, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-CP13-FSD-COUNT · CLM-CP13-FSD-DENOM · CLM-CP13-FSD-PREREQ · CLM-ENRICH-MCP-FSD-DENOM · MCP-FSD: filesystem boundary analysis of MCP servers
At a glance
Tool-name admission protects only what the client thinks the tool will do. The server process may interpret a valid argument as a path outside the approved workspace and return the result as ordinary tool output. The two older Git MCP issues are specific examples of this larger semantic and OS permission mismatch, not additional newly exploited incidents.
Read the implicationsReal client-mediated attack completion per tool and affected deployed revisions are not comprehensively confirmed. The selected runnable subset should not be extrapolated to all MCP servers.
Limits and uncertaintyFull account
A public MCP registry entry can advertise a harmless-looking tool while its server process holds filesystem privileges beyond that advertised function. MCP-FSD analyzes this gap as an implementation and execution-boundary problem, not just a language-model prompt problem. Its screening pipeline starts with 21,097 listings across nine registries, narrows to 4,806 classified entries and flags 787 potential filesystem-capability mismatches. This screening fraction is not the prevalence of exploitable production services.
The researchers executed a selected runnable population in isolated environments containing planted credential markers. They confirmed 150 out-of-scope filesystem effects; in 136, tool results returned the exact synthetic secret. The other 14 showed other boundary violations. Most cases required only direct path arguments, but some involved structured documentation or configuration. These are reproducible tool effects under test conditions. They do not establish that 136 real customers lost keys or that every finding was triggered by an autonomous agent in deployment.
Git MCP staging provides a specific path-normalization example, while other servers fail at different filesystem interfaces. Tool registration, schema type checking, the model's permissions and the server process's underlying OS rights are distinct layers. The required test is whether the final resolved file actually belongs to the approved workspace, including cases where a library, operating system or symlink resolution changes the meaning of the original argument. Restricting the server identity provides a separate containment check if application-level validation is bypassed.
Mechanism and trust boundary
- 01
Step
- 02
Step
- 03
Step
- 04
Step
Claims & evidence
CLM-CP13-FSD-COUNTMCP-FSD dynamically confirmed 150 out-of-bound filesystem access failures in its selected runnable population, including 136 probes returning exact planted credentials.supported
Basis: reported finding
- supportsMCP-FSD: filesystem boundary analysis of MCP serversprimary disclosure
Abstract and dynamic validation/seeded secrets findings
CLM-CP13-FSD-DENOMThe earlier 787/4,806 count is a capability-signal triage ratio, not vulnerability prevalence across the 21,097 discovered registry listings.supported
Basis: reported finding
- supportsMCP-FSD: filesystem boundary analysis of MCP serversprimary disclosure
Corpus construction, static triage and selection limitations
CLM-CP13-FSD-PREREQDemonstrated direct MCP tool calls exercised the underlying server OS privileges; live agent prompt injection, actual stolen third-party credentials and public fleet exposure were not established by this experiment.supported
Basis: reported finding
- supportsMCP-FSD: filesystem boundary analysis of MCP serversprimary disclosure
Threat model and evaluation/limitations
CLM-ENRICH-MCP-FSD-DENOMThe 787 capability signals among 4,806 screened MCP candidates identify a triage set, not a 16.4 percent confirmed vulnerability prevalence; 150 dynamically validated failures form a separate selected denominator.supported
Basis: reported finding
- supportsMCP-FSD: filesystem boundary analysis of MCP serversprimary disclosure
Abstract and methodology, registry triage, candidate screening and dynamic validation results
Implications
Tool-name admission protects only what the client thinks the tool will do. The server process may interpret a valid argument as a path outside the approved workspace and return the result as ordinary tool output. The two older Git MCP issues are specific examples of this larger semantic and OS permission mismatch, not additional newly exploited incidents.
Controls and mitigations
- Run each MCP server with operating-system filesystem permissions limited to its declared workspace, treating tool descriptions as documentation rather than effective access controls.
- Test schema-valid but out-of-scope paths with synthetic secrets and verify effects behind a real MCP client, distinguishing direct tool-call bugs from model-induced exploitation.
Unknowns and contradictions
- Real client-mediated attack completion per tool and affected deployed revisions are not comprehensively confirmed.
- The selected runnable subset should not be extrapolated to all MCP servers.
Sources and citation
Material revision history
- Oct 18, 2026 · Canonical change recorded · new in release · revision 171