Skip to content

Security: Master-Frank/XmindMcp

Security

SECURITY.md

安全更新日志

修复的安全问题

1. 路径遍历漏洞 (Path Traversal)

问题: 文件上传功能直接使用用户提供的文件名,可能导致路径遍历攻击 修复: 使用 _sanitize_filename() 方法清理上传文件名 影响文件: xmind_mcp_server.py 中的 /ai-optimize-structure/batch 端点

2. 输入验证不足

问题: AI生成功能缺乏输入验证,可能导致服务滥用 修复: 添加主题非空验证、数量限制(1-1000)、风格参数白名单验证 影响文件: xmind_mcp_server.py 中的 /ai-generate-topics 端点

3. 输出目录安全

问题: 批量转换功能的输出目录参数未验证,可能创建危险路径 修复: 添加路径规范化、防止相对路径遍历、默认安全目录 影响文件: xmind_mcp_server.py 中的 /batch 端点

安全最佳实践

文件上传安全

  • ✅ 文件名清理和验证
  • ✅ 文件类型白名单检查
  • ✅ 临时文件自动清理
  • ✅ 文件大小限制

输入验证

  • ✅ 参数类型和范围验证
  • ✅ 字符串长度和格式检查
  • ✅ 枚举值白名单验证
  • ✅ 空值和异常处理

错误处理

  • ✅ 统一的异常捕获
  • ✅ 安全的错误信息返回
  • ✅ 敏感信息隐藏
  • ✅ 日志记录但不泄露

配置安全

  • ✅ 默认安全配置
  • ✅ 敏感配置分离
  • ✅ 访问权限控制
  • ✅ 环境变量支持

建议的安全增强

  1. API认证: 考虑添加API密钥或JWT认证
  2. 速率限制: 实现请求频率限制防止滥用
  3. 文件扫描: 上传文件病毒扫描
  4. HTTPS支持: 生产环境使用SSL/TLS加密
  5. 审计日志: 记录重要操作和安全事件
  6. CORS配置: 限制跨域请求来源

测试验证

所有安全修复已通过测试验证:

  • ✅ 路径遍历攻击防护测试
  • ✅ 输入验证边界测试
  • ✅ 文件上传安全测试
  • ✅ 错误处理完整性测试

There aren’t any published security advisories