Token导航 LogoToken导航TokenDH.com
Secure File Ops MCP Server logo
安全风控未说明官方级别未说明来源级核验

Secure File Ops MCP Server

MCP Server

提供安全文件操作的MCP服务器,具备API密钥验证、提示注入检测、人工审批门禁等功能,适用于需要防止文件泄露和注入攻击的场景。

工具数

11

提示词数

0

GitHub Stars

0

资源数

0
访问控制TypeScriptClaude审计日志Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

JDKristenson

提供方

JDKristenson

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

安全文件操作MCP服务器

一种模型上下文协议(MCP)服务器,提供安全的文件操作,内置保护措施,防止中描述的漏洞 The Register关于Claude‘s Files API exfiltering攻击的文章.

这解决的问题

Anthropic的Claude产品(Claude Code,Cowork)容易受到即时注入攻击,这些攻击可以将敏感文件泄漏到攻击者的API密钥。攻击链的工作原理如下:

  1. 用户将Claude连接到包含敏感文件的文件夹
  2. 攻击者植入了一个带有隐藏提示注入的文档
  3. 当Claude处理文件时,注入的提示符会触发
  4. Claude通过文件API将文件上传到攻击者的Anthropic帐户

此MCP服务器提供了Anthropic尚未实现的安全层。

关键安全功能

1.API密钥验证(validate_api_destination)

拦截出站API调用,并验证目标API密钥是否与经过身份验证的用户密钥匹配。 这是关键的遗漏支票 -任何文件上载到不匹配的API密钥都会被阻止并触发安全警报。

2.快速注射检测(scan_for_injection, secure_read_file)

扫描所有文件内容,查找30多种提示注射模式,包括:

  • 直接指令操作(“忽略之前的指令”)
  • 命令执行模式(curl、wget、exec、eval)
  • API凭证模式(API密钥、令牌、授权头)
  • 文件泄漏命令(上传、发送、传输)
  • 壳体注射模式
  • Base64编码命令
  • 人类API特定模式

高风险内容会自动隔离并生成安全警报。

3.人在循环审批门

敏感操作需要明确的人工批准:

  • 文件写入敏感路径
  • 外部API调用
  • 访问新目录
  • 文件上传

审批请求具有可配置的超时(默认值:5分钟),如果未经审核,则会自动拒绝。

4.综合审计日志

每个操作都记录了:

  • 时间戳和操作类型
  • 文件路径和内容哈希
  • API端点和密钥前缀
  • 批准状态和ID
  • 注射检测结果
  • 阻塞原因

5.可配置的访问策略

定义允许/阻止的目录、路径模式和文件大小限制。敏感目录(.ssh, .env, .aws等)默认情况下被阻止。

安装

# Clone or download the server
cd secure-file-ops-mcp-server

# Install dependencies
npm install

# Build
npm run build

用法

作为stdio MCP服务器(本地)

# Run directly
node dist/index.js

# Or via npm
npm start

作为HTTP MCP服务器(远程)

# Set transport to HTTP
TRANSPORT=http PORT=3000 npm start

Claude桌面配置

添加到您的Claude桌面配置(~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "secure-file-ops": {
      "command": "node",
      "args": ["/path/to/secure-file-ops-mcp-server/dist/index.js"]
    }
  }
}

可用工具

文件操作

工具说明
secure_read_file通过注入扫描和策略执行读取文件
secure_write_file编写带有审批门的文件

安全验证

工具说明
validate_api_destination关键的 -验证API调用没有筛选到错误的帐户
scan_for_injection扫描任何文本以查看提示注射模式

循环中的人类

工具说明
request_approval为敏感操作创建审批请求
check_approval_status检查操作是否已获得批准
approve_operation批准或拒绝待处理的操作

配置和监控

工具说明
set_access_policy配置允许/阻止的目录
audit_log查询审计跟踪
security_alerts查看安全警报
acknowledge_alert确认已审核的警报

示例工作流

安全文件读取

User: Read the config file at ./app/config.json

Claude: [calls secure_read_file]

Result: 
- File content returned
- Injection scan: Clean
- No sensitive data patterns detected
- Operation logged

渗透尝试受阻

[Malicious document contains hidden instruction to upload files]

Claude: [document triggers curl command to attacker's API]

Claude: [calls validate_api_destination]

Result:
❌ API Destination Invalid
Mismatch Detected: Yes - POTENTIAL EXFILTRATION
Reason: Destination API key does not match authenticated user key.

⚠️ Security Alert Generated
🔴 CRITICAL: API key mismatch detected - potential exfiltration attempt

已批准的写入操作

User: Write the updated config to ./app/config.json

Claude: [calls secure_write_file with require_approval=true]

Result:
🔒 Approval Required
Approval ID: abc-123-def

User: [calls approve_operation with approve=true]

Claude: [executes the approved write]

Result:
✅ File Written Successfully

检测到的注射模式

服务器检测到以下类型的提示注入:

类别示例
指令覆盖“忽略以前的指令”,“新指令:”
命令执行curl, wget, exec(), eval(), subprocess
凭证访问“api_key”、“授权:持有者”、“secret_key”
数据过滤“上传”、“发送”、“传输”、“过滤”
壳体注射;rm, `bash,回溯, $()`
编码命令base64 -d, atob(), Buffer.from(..., 'base64')
Anthropic API“API.anthopic.com”,“文件/上传”

风险等级

级别操作描述
none允许未检测到任何模式
low监视1模式,继续记录
medium查看2个模式,标记以引起注意
high3-4个图案,需要批准
critical隔离5+模式、阻止和警报

默认阻止的目录

默认情况下,这些目录被阻止:

  • /etc/passwd, /etc/shadow, /etc/ssh
  • ~/.ssh, ~/.aws, ~/.config
  • /root, /var/log
  • node_modules, .git, .env

建筑

┌─────────────────────────────────────────────────────────────────┐
│                        MCP Client                               │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                 Secure File Ops MCP Server                      │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐          │
│  │  Injection   │  │   Access     │  │   Approval   │          │
│  │   Scanner    │  │   Policy     │  │    Gates     │          │
│  └──────────────┘  └──────────────┘  └──────────────┘          │
│         │                 │                 │                   │
│         ▼                 ▼                 ▼                   │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │                    Audit Logger                          │   │
│  └─────────────────────────────────────────────────────────┘   │
│         │                                                       │
│         ▼                                                       │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │                  Security Alerts                         │   │
│  └─────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                      File System                                │
└─────────────────────────────────────────────────────────────────┘

与现有工作流集成

此服务器设计为 插入安全层.将直接文件系统访问替换为对此MCP服务器的调用:

// Before (vulnerable)
const content = fs.readFileSync(path);
await anthropic.files.upload(content);

// After (secure)
const result = await mcpClient.call('secure_read_file', { path });
if (result.injectionScan?.isClean) {
  const validation = await mcpClient.call('validate_api_destination', {
    destination_url: 'https://api.anthropic.com/v1/files',
    destination_api_key: destinationKey,
    source_api_key: authenticatedKey
  });
  if (validation.isValid) {
    await anthropic.files.upload(result.content);
  }
}

局限性

  • 内存存储:审计日志和警报存储在内存中。对于生产,与持久存储集成。
  • 单一流程:审批门在单个服务器流程中工作。对于分布式系统,使用共享审批存储。
  • 基于模式的检测:注射检测使用模式匹配,这可能会产生假阳性/阴性。定期更新模式。

贡献

欢迎投稿!优先领域:

  • 其他注射模式
  • 持久存储后端
  • 集成测试
  • 客户端SDK

许可证

麻省理工学院

致谢

目录标签

目录标签

访问控制TypeScriptClaude审计日志文件安全本地部署API安全注入检测

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP