- 引入 基于对AI安全问题的思考
禁止 AI 访问特定文件夹,通常有两种思路:一种是白名单模式 (只允许访问特定工作区,其他一律禁止),另一种是黑名单/忽略模式(明确告诉 AI 忽略某些文件夹)。
基于本人常用的 OpenCode 以及通用的 AI 工具(如 Cursor、Copilot),基于全网了解,整理了以下4种禁止方法:
方法一:使用 .aiignore 文件(最通用,推荐)
这是目前最主流的方法,适用于 OpenCode、Cursor、GitHub Copilot 等大多数 AI 编程工具。它的用法和 .gitignore 几乎一样。
操作步骤:
- 在你的项目根目录 下,创建一个名为
.aiignore的文件。 - 在文件中写入你想禁止 AI 访问的文件夹或文件模式。
示例内容 (.aiignore):
gitignore
# 禁止访问敏感数据文件夹
secrets/
private-data/
credentials.json
# 禁止访问构建产物
node_modules/
dist/
build/
# 禁止访问特定文件类型
*.log
*.env
效果:AI 在扫描上下文时,会完全跳过这些文件和文件夹,就像它们不存在一样。
方法二:配置 OpenCode 的"路径白名单" (最彻底)
如果你使用的是 OpenCode(或类似的 Agent 工具),最安全的做法是限制它的工作空间。如果不把它加入白名单,AI 根本无法"看到"该文件夹。
操作步骤:
- 找到 OpenCode 的配置文件(通常在
~/.config/opencode/opencode.json或项目根目录的.opencode/opencode.json)。 - 配置
allowedPaths(允许的路径)或blockedPaths(禁止的路径)。
配置示例:
json
{
"security": {
"allowedPaths": ["/Users/yourname/Projects/MyApp/src"],
"blockedPaths": [
"/Users/yourname/Projects/MyApp/secrets",
"/Users/yourname/Documents/Private"
]
}
}
效果:
- 白名单模式 :AI 只能读取
allowedPaths里的内容,即使你问它"读取 D 盘的文件",它也会拒绝,因为它没有权限。 - 黑名单模式:明确禁止访问某些路径,即使它们在工作区内。
方法三:利用 .cursorignore 或 .codeiumignore
如果你同时也使用 Cursor 或 Codeium,它们通常支持通用的忽略文件。
- Cursor :创建
.cursorignore文件,语法同.gitignore。 - 通用 :很多 AI 工具也会自动读取
.gitignore文件。如果你的敏感文件夹已经在.gitignore里(比如node_modules或.env),很多 AI 工具默认就不会去索引它们。
方法四:企业级/系统级管控 (IP-guard 等)
如果你是在公司环境,或者需要更底层的禁止(防止 AI 把文件上传到云端),可以使用系统级工具。
- 文档透明加密:使用如 IP-guard 等工具,对特定文件夹加密。AI 读取时只能读到乱码,无法解析内容。
- 网络阻断:在防火墙层面禁止 AI 工具访问互联网,或者禁止访问特定的 AI 服务器域名。
总结建议
方法取决具体需求
| 需求 | 推荐方法 | 操作难度 |
|---|---|---|
| 不想让 AI 读取某些代码/文档 | 方法一 (.aiignore) |
|
| 彻底隔离,只让 AI 碰特定项目 | 方法二 (白名单配置) | |
| 防止文件被上传到云端 AI | 方法四 (加密/断网) |