My Credentials, Please: Detecting Filesystem Capability Laundering in MCP Servers at Scale

arXiv:2610.22301 · cs.CR · Submitted 2026-10-15 · Read on arXiv

Listen

Radio episode about this paper

Transcript

Introduction to the show: ident: Security Radio. Generated commentary on the latest security and cryptography papers.

Nadia: Today's paper: "My Credentials, Please".

Elias: The gist The Model Context Protocol (MCP) standardizes how AI agents invoke external tools,

Nadia: First, who's behind it and why it matters.

Paper summary: Nadia: This paper, "My Credentials, Please: Detecting Filesystem Capability Laundering in MCP Servers at Scale," is essentially about showing how filesystem capability laundering happens when AI agents use the Model Context Protocol to call external tools. The authors claim that attacker-steered arguments can cause a tool to access sensitive host files way outside of what its contract or deployment actually allows.

Elias: They look at this gap across three layers: server-category screening, which is L1, per-tool contract analysis, which is L2, and bypassable path validation checks, which is L3.

Priya: What this means for the data we see in the paper is that they found seven hundred eighty-seven out of four thousand eight hundred six triaged servers that show filesystem capabilities even though they aren't classified as filesystem tools at all.

Nadia: They also confirm one hundred fifty vulnerable instances when testing these under sandbox policies and they found two specific CVEs in Anthropic’s Git MCP Server during coordinated disclosure.

Elias: The methodology involves designing MCP-FSD to catalog the servers, infer the least-privilege boundaries for each tool, plant credential fixtures outside those boundaries, and then test how exploitable these are using paired dynamic execution.

Priya: The paper highlights that they use an LLM for static screening to identify tool registrations and handlers and then uses a boundary inference algorithm based on launch configurations, schema fields, tool descriptions, and repository signals to build a policy hypothesis.

Nadia: They also have this three-case dynamic validation where they test if the malicious payload succeeds without the sandbox but only when it contains specific planted credential contents under the sandbox.

Elias: This validation pass confirms that detected disclosures really represent vulnerabilities that are fixed by having proper least-privilege containment in place.

Priya: One limitation they mention is that their method only validates servers they can actually install and run, which means we still don't know what happens on the servers we can't reach.

Conclusion: Nadia: So to wrap up "My Credentials, Please: Detecting Filesystem Capability Laundering in MCP Servers at Scale," the authors are showing that filesystem capability laundering is a real threat where ordinary tool interactions can leak host credentials because the server runs with ambient permissions.

Elias: They built MCP-FSD to bridge this gap by coupling static screening with inferred least-privilege boundaries and dynamic three-case validation across twenty-one thousand ninety-seven cataloged servers.

Priya: The implications are that anyone building something with AI agents needs to look beyond just checking if a tool exists; you need to check exactly what permissions that tool can possibly access on your host system.

Nadia: It moves the conversation from just hoping client approval works to actually proving it does or doesn't work under stress using those three validation cases.

Elias: They point out that ecosystem-scale registry screening and runtime contracts are necessary because you can't secure this by looking at one tool in isolation; you need the whole system checked.

Priya: If you're building something that uses AI agents, it’s a warning that the scope of your tool isn't what you think it is when it runs on a shared host system.

Zeqian Huang, Mingyue Tang, Aonan Guan, Qiming Sun, Pengzhou He

University of Illinois Urbana-Champaign · Santa Clara University · Auburn University at Montgomery

cs.CR

Submitted: 2026-10-15

Updated: 2026-10-15

Code: https://github.com/always-further/nono

License: http://creativecommons.org/licenses/by/4.0/

Importance score: 92/100

The gist: The gist The Model Context Protocol (MCP) standardizes how AI agents invoke external tools, and this paper studies filesystem capability laundering where attacker-steered arguments cause a tool to

Key concepts

Filesystem Capability Laundering
This vulnerability occurs when an AI tool is tricked by malicious input into accessing host files it shouldn't be able to reach. It happens because the server runs with broad permissions despite a narrow tool contract, allowing attacker-steered arguments to bypass security checks and read or write sensitive system files.
MCP Servers
These are external tools exposed by MCP that AI agents use. They operate under a standard contract defining what they do. The problem arises because the client approves the call without restricting the server's actual host filesystem permissions, leading to potential security leaks.
MCP-FSD (Filesystem Scope Detection)
This is a framework designed to find and fix these risks. It works in two stages: first, it scans many MCP servers to catalog them; second, it dynamically tests each tool against an inferred 'least-privilege' boundary to confirm if an exploit is possible.

Summary

The gist The Model Context Protocol (MCP) standardizes how AI agents invoke external tools, and this paper studies filesystem capability laundering where attacker-steered arguments cause a tool to access sensitive host files outside its declared contract and deployment scope.

How it works

Filesystem capability laundering is characterized by three conditions: (i) an implemented effect exceeds the scope justified by the tool contract and deployment, (ii) attacker-influenced arguments select the filesystem target, and (iii) the call is admitted while the surrounding controls fail to constrain that effect. This mechanism is analyzed across three layers: server-category screening (L1), per-tool contract analysis (L2), and bypassable path-validation checks (L3). The threat model focuses on local stdio MCP servers launched as separate processes, where the server runs with the user’s ambient filesystem permissions, and the client’s tool-approval prompt enforces no per-tool path restrictions on the underlying process. An attack succeeds when the MCP response contains the contents of a file outside the tool’s legitimate scope.

MCP-FSD Design

The authors designed MCP-FSD (Filesystem Scope Detection) to catalog MCP servers across registries, discover each server’s tools inside per-repository sandboxes, screen candidates with MCP-aware static filters, and dynamically validate each one against an inferred least-privilege boundary. The framework runs in two passes: a measurement pass crawls registries to discover tools and assign capability-triage labels, and a validation pass applies static screening, infers a least-privilege boundary per tool, and confirms exploitability with three-case dynamic validation.

Static Screening

The static screening phase uses an LLM to identify tool registrations, handlers, and path parameters. The system classifies each finding into five rule categories spanning CWE-22 (path traversal) and CWE-59 (link resolution), including PT-001 missing validation, PT-004 symlink TOCTOU, and PT-005 blacklist filter. Four MCP-aware filters select candidates for dynamic testing based on whether they can plausibly return out-of-scope file contents. For example, for git add, the reviewed handler connects the schema’s files parameter to repo.index.add(files) without a repositorycontainment check, recorded as a PT-001 SARIF candidate.

Boundary Inference Algorithm

MCP-FSD derives the scope from the tool’s legitimate operation rather than from the suspected bug. The algorithm uses four signals—launch configuration L, path-bearing schema fields S, tool description D, and repository source signals R—to construct a policy hypothesis. The process involves extracting roots from the launch tuple, walking the JSON Schema for path parameters, identifying literal and constructed paths in handler code, asking an LLM for a candidate glob policy, extending it to cover runtime requirements identified in R, and finally partitioning the result into a read-write and a read-only half.

Dynamic Three-Case Validation

The validation pass confirms exploitability with three cases: PoC 1 runs the malicious payload without the sandbox and succeeds only when the response contains the planted credential contents. PoC 2 runs the benign in-scope payload with the sandbox and requires no denial event. PoC 3 replays PoC 1’s malicious payload with the sandbox and requires absent credential contents plus an explicit denial or a non-disclosing response. These cases establish that detected disclosures represent genuine vulnerabilities remediated by least-privilege containment.

Evaluation and Findings

The study cataloged 21,097 listings from nine registries, and dynamic validation confirmed 150 vulnerable instances under tested sandbox policies. Among the flagged servers, 787 exhibit filesystem capability flags without a FileSystem category label (L1 screening signal). The evaluation confirmed that L3 defense-bypass classifiers achieve 95.3% precision and 99.3% recall over 297 labeled findings. Two CVEs in Anthropic’s Git MCP Server were reported, illustrating L2 laundering across distinct boundaries. The paper concludes that ecosystem-scale registry screening and explicit, runtime-enforced per-tool filesystem contracts are necessary to bridge the gap between client-side tool approval and unconfined server filesystem execution.

Limitations

Limitations include the pipeline only validating servers it can install and run, dynamic validation may miss a violation whose out-of-scope effect never appears in a response, and the accuracy of inferred boundaries is not measured. Furthermore, enforcement strength follows the sandbox backend, and validation covers selected tools and explicitly stated call sequences rather than systematic discovery of cross-tool chains. The results are conditional on successful startup and the selected runtime configurations.

Ethical Considerations

This work analyzes publicly available MCP servers and validates disclosure against fixture credentials, never real secrets. The Git MCP cases were reported to the affected vendor, and both received CVE assignments. Dynamic validation runs on controlled installations with synthetic fixtures and resets between cases. PoC 1 intentionally omits the test sandbox.

Related Work

MCP-FSD focuses on filesystem effects triggered by attackercontrolled arguments and tests them against an inferred policy for each tool. It couples static screening with dynamic three-case replay on native host runtimes, capturing complex librarymediated flows against inferred per-tool scopes. MCP-FSD infers least-privilege boundaries directly from unstandardized tool descriptions and deployment configurations.

Conclusion

Filesystem capability laundering exposes a fundamental gap between client-side tool approval and unconfined server filesystem execution. MCP-FSD bridges this gap by coupling static screening, inferred least-privilege boundaries, and dynamic three-case validation across 21,097 cataloged servers. Real-world vulnerabilities in foundational tools—such as repository creation and staging flaws in Anthropic’s Git server—demonstrate how ordinary tool interactions can inadvertently leak sensitive host credentials. These findings demonstrate the necessity of ecosystem-scale registry screening and explicit, runtime-enforced per-tool filesystem contracts.

References

The references listed are 1 through 45 on page 18. The paper cites work on MCP security and filesystem detection, contract analysis, and agent security benchmarks. The references include specific advisories for Anthropic's Git MCP Server and various sandboxing technologies used in the study. The work builds upon prior studies in prompt injection, tool-use security, and filesystem vulnerability detection. The paper's references include arXiv preprints and NIST National Vulnerability Database entries for specific CVEs. The study compares MCP-FSD against existing tools like PathSentinel and MICRYSCOPE. The references provide context on the limitations of LLM-generated judgments in the detection pipeline. The paper cites work on execution isolation architectures like IsolateGPT and Cloak as related concepts.

Improvements for AI systems

  1. Improved AI systems can incorporate MCP-FSD to catalog MCP servers, infer least-privilege boundaries per tool, plant credential fixtures outside those boundaries, and evaluate exploitability and sandbox containment via paired dynamic execution. This allows for proactive detection of filesystem capability laundering, where attacker-steered arguments cause a tool to access sensitive host files outside its declared contract.

  2. The AI system can implement static screening using LLMs to classify candidates into rule categories like PT-001 missing validation or PT-004 symlink TOCTOU, as described in Section 3.1. This provides a coarse initial screening signal by comparing inferred filesystem capability flags against the server’s functional classification (primary type).

  3. The system can perform boundary inference using Algorithm 1 to construct a policy hypothesis, deriving scope from launch configuration L, path-bearing schema fields S, the tool description D, and repository source signals R. This allows the system to determine if a tool's declared contract is sufficient by testing whether Reach(t) ̸⊆ B(t; d).

  4. The system can execute dynamic three-case validation against the inferred boundary to confirm exploitability and containment. This involves running PoC 1 (malicious payload without sandbox), PoC 2 (benign in-scope payload with sandbox), and PoC 3 (malicious payload with sandbox) to demonstrate enforcement operating-system process isolation.

  5. The system can prioritize remediation efforts based on findings where a source-level control is bypassed or the project publicly commits to a narrow scope that the implementation does not enforce, as discussed in Section 4.4, focusing on fixes like canonical-path containment or SDK helpers.

Abstract

The Model Context Protocol (MCP) standardizes how AI agents invoke external tools. MCP servers expose tools through a declared contract consisting of a name, description, and argument schema. In typical local deployments, client-side approval of a tool call grants the underlying server process broad host filesystem permissions rather than restricting it to the declared operation. We study the resulting vulnerability class, filesystem capability laundering, where attacker-steered arguments cause a tool to access sensitive host files outside its declared contract and deployment scope. We analyze this capability gap across three layers: server-category screening (L1), per-tool contract analysis (L2), and bypassable path-validation checks (L3). We design MCP-FSD to catalog MCP servers, infer least-privilege boundaries per tool, plant credential fixtures outside those boundaries, and evaluate exploitability and sandbox containment via paired dynamic execution. Across 21,097 MCP servers from nine registries, 787 of 4,806 triaged servers (16.4%) exhibit filesystem capabilities despite non-filesystem functional classifications. Dynamic three-case validation confirms 150 vulnerable instances under tested sandbox policies. Coordinated disclosure yielded 13 security advisories, including two CVEs in Anthropic's Git MCP Server.

Sources

Related papers