Skip to content

Latest commit

 

History

History
132 lines (88 loc) · 4.53 KB

File metadata and controls

132 lines (88 loc) · 4.53 KB

安全策略 — MSCodeBase Intelligence

🇬🇧 English🇷🇺 Русский🇨🇳 中文

负责任的披露

如果您在 MSCodeBase Intelligence 中发现安全漏洞,请以负责任的方式报告。

如何报告

  1. GitHub 安全公告创建公告
  2. 在主题行中,包含:[SECURITY] + 问题的简要描述

需要提供的信息

  • 漏洞描述(类型、组件、利用条件)
  • 复现步骤
  • 影响评估(机密性、完整性、可用性)
  • 概念验证(如适用)
  • 修复建议(可选)

响应时间线

严重程度 首次响应 修复
严重 7 天 30 天
14 天 90 天
14 天 90 天
30 天 180 天

支持的版本

版本 支持状态
3.2.x ✅ 当前(混合 LSP+MCP)
2.x ⚠️ 仅关键补丁
< 2.0 ❌ 否

安全架构

混合架构(LSP + MCP)

从 2.0.0 版本开始,MSCodeBase Intelligence 使用结合语言服务器协议(LSP)和模型上下文协议(MCP)的混合架构:

  • LSP 服务器:通过 Tree-sitter 处理代码解析,向编辑器提供符号
  • MCP 服务器:提供语义搜索、embeddings 和 AI 代理交互
  • 交互方式:两个组件均在本地工作,通过 stdio/SSE 交换数据

哪些数据会离开本机

默认情况下 — 没有任何数据离开。 所有组件完全在本地运行:

组件 数据 发送至
LanceDB 向量索引,代码块 本地(.codebase_indices/
Tree-sitter AST 解析 本地,进程内存中
SafePathManager 路径验证 本地,无网络
MCP 工具 搜索/分析请求 本地,stdio/SSE

唯一的例外:如果配置了 LM Studio 或 Ollama 集成来生成 embeddings — 请求发送到本地端点(LM Studio 为 localhost:1234,Ollama 为 localhost:11434)。不使用云 API。

输入保护

  • 所有 MCP 工具验证:每个工具检查输入参数的类型、长度和格式
  • 路径遍历保护SafePathManager 阻止访问项目目录之外的内容(../,项目外的绝对路径)
  • SQL 注入:LanceDB 使用参数化查询,用户输入从不插入到查询中
  • 输入大小限制:对查询长度和索引文件大小有限制

数据保护

  • 本地存储:整个索引存储在项目内的 .codebase_indices/
  • 路径哈希:项目路径经过哈希处理以隔离索引
  • 过滤.gitignore 中的文件和二进制文件被排除在索引之外
  • 加密:数据在磁盘上未加密(假定文件系统受操作系统保护)

访问控制

  • 文件系统:访问仅限于项目目录
  • 权限:无需提升权限(不需要 sudo/管理员权限)
  • 网络访问:操作不需要网络访问(本地 LM Studio/Ollama 除外)

混合架构安全(2.0.0+)

风险与缓解措施

风险 描述 缓解措施
LSP 服务器可通过网络访问 如果在 SSE 模式下运行,可能被外部访问 默认:stdio;SSE 仅在 localhost
MCP 工具接受任意输入 恶意代理可能传入无效数据 每个工具进行验证
通过 embeddings 泄露代码 代码被发送到 LM Studio 进行索引 仅本地 LM Studio;不支持云服务
索引期间的竞态条件 并发写入 LanceDB 块版本控制,原子更新

部署建议

  1. 如果不需要远程访问,请对 LSP 和 MCP 使用 stdio 模式
  2. LM Studio/Ollama:确保服务器仅监听 127.0.0.1,而非 0.0.0.0
  3. 防火墙:阻止 MSCodeBase 进程的出站连接(如果不使用云服务)
  4. 更新:通过 Dependabot 监控依赖更新

依赖项

漏洞扫描

  • GitHub Dependabot:自动依赖扫描
  • Dependabot 警报:依赖项中关键 CVE 的通知

关键依赖项

依赖项 用途 安全说明
LanceDB 向量数据库 本地存储,无网络访问
Tree-sitter 代码解析 沙箱化,无任意代码执行
LM Studio SDK Embeddings 仅本地端点
Ollama SDK 备选 embeddings 仅本地端点

致谢

我们感谢帮助使 MSCodeBase Intelligence 更加可靠的安全研究人员。


最后更新:2026-06-28