内容加密,代码可运行:ailatch——AI 时代安全锁

项目:https://github.com/lo2589/AILatch.git

假设你正在用 Coding Agent 开发一个项目。

项目里有两样东西你不希望 AI 随便看到:

OPENAI_API_KEY=sk-xxxxxx

以及一段真正有价值的核心代码:

core_algorithm.py

但问题是,它们又必须被程序使用。

API Key 要在运行时传给服务,核心代码要被 Python import、调用和执行。

于是就会出现一个很现实的矛盾:

程序需要使用这些信息,但 AI 并不一定需要看到这些信息。

可今天的大多数开发环境里,这两件事往往没有被真正分开。

只要内容以明文存在于文件系统,Coding Agent 就可能通过文件遍历、搜索、repository indexing 或主动读取,把它们放进自己的 Context。

这在 AI 时代意味着:

程序可访问≠AI 应该可见

 AILatch这个项目提供了一种新的思路:

敏感内容可以保持加密,但授权程序仍然可以使用和执行

代码加密了,Python 还能正常运行

例如:

ailatch lock core_algorithm.py

执行后,core_algorithm.py 在磁盘上已经变成密文。

这时候:

cat core_algorithm.py
grep "algorithm" .
看到的都只是密文。

Coding Agent 如果通过普通文件系统读取它,也只能拿到密文。

但代码仍然可以运行:

ailatch run main.py

AILatch 会在 Python 进程内部解密需要的代码,并直接执行。

整个过程不需要先把明文恢复到工作目录。

所以真正发生的变化是:

代码是否能够执行,不再等于代码是否必须以明文暴露在文件系统里。

加密模块也可以正常 import

假设程序是:

from secret_module import algorithm

result = algorithm(data)

如果 secret_module.py 已经被 AILatch 加密,它在磁盘上仍然保持密文。

但在命令行输入:

ailatch run main.py

启动的 runtime 时,AILatch 会处理 encrypted Python module 的加载。

程序仍然可以:

from secret_module import algorithm

正常 import、调用。

对于应用代码来说,不需要为了 AILatch 改写一套特殊接口。

这意味着核心模块可以保持:

磁盘上:加密

运行时:解密

不只是代码,数据文件也可以这样使用

AILatch runtime 同时处理:

open()
Path.read_text()
Path.read_bytes()

例如:

import json

with open("config.json") as f:
    config = json.load(f)

即使 config.json 在磁盘上已经被锁定,程序运行时仍然可以读取里面的内容。

于是 API Key、配置文件、私有数据和核心代码实际上可以采用同一种模型:

AI / grep / indexer
        ↓
    ciphertext

Authorized Runtime
        ↓
   plaintext in memory
        ↓
      use it

这就是 AILatch 最核心的设计:

Disk 是密文视图,Runtime 是明文视图。

开发者自己仍然可以编辑

如果代码加密以后只能运行、不能修改,也没什么实际意义。

所以 AILatch 还提供:

ailatch open <开发目录>

它会打开一个 plaintext viewport。

开发者可以查看和编辑被锁定的文件。

保存时,写回工作目录的仍然是加密内容。

也就是说,明文可以出现在开发者正在使用的受控视图里,但不需要重新长期落回 repository。

还可以直接:

ailatch show secret.py

临时查看一个文件。

从“文件权限”到“信息可见性”

我觉得 Coding Agent 出现以后,一个很重要的变化是:

过去我们通常默认:

文件存在
→ 开发工具可以读
→ 程序可以用

这三件事基本绑在一起。

但 Agent 会主动搜索、读取、索引整个代码库以后,这种默认关系开始出现问题。

程序需要使用某段代码,不代表 Agent 一定需要知道它的实现。

程序需要使用 API Key,不代表模型需要看到 API Key 本身。

所以可以重新拆成:

Information exists
        ↓
Who can see it?

Information is executable
        ↓
Who can use it?

这其实是两个不同的问题。

AILatch 做的事情,就是把它们拆开。

Information Available ≠ Information Visible

从这个角度看,AILatch 不只是一个“Python 文件加密工具”。

它在尝试建立一种新的信息边界:

信息可以存在于系统中,也可以被程序使用,但不需要默认 materialize 给 AI。

比如:

core_algorithm.py
API keys
private config
internal data

它们都可以存在。

程序也可以使用。

但 Coding Agent 没必要因为能够访问 repository,就自动获得这些信息。

所以AI Agent 时代真正需要控制的不只是:

谁能访问文件?

还包括:

什么信息应该对 AI 可见?

一句话概括:

Keep code encrypted on disk, decrypt it only in memory, and still run it normally.

posted @ 2026-08-14 15:34  九里九里  阅读(27)  评论(0)    收藏  举报