Automated TEE Adaptation with LLMs: Identifying, Transforming, and Porting Sensitive Functions in Programs

本文提出了 AUTOTEE,这是首个利用大语言模型自动识别、转换并将敏感函数移植到可信执行环境(TEE)中的方法,通过构建包含 385 个敏感函数的基准数据集,在 Java 和 Python 语言上分别实现了 91.8% 和 84.3% 的高成功率,显著降低了开发者适配 TEE 的门槛。

Ruidong Han, Zhou Yang, Chengyan Ma, Ye Liu, Yuqing Niu, Siqi Ma, Debin Gao, David Lo

发布于 2026-03-06
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一个名为 AUTOTEE 的新技术,你可以把它想象成一位**“超级智能的代码搬家工”**。

为了让你更容易理解,我们把整个故事分成几个生动的场景:

1. 背景:为什么需要“搬家”?

想象一下,你的电脑或手机是一个繁忙的大城市(我们叫它“普通世界”)。在这个城市里,虽然大部分地方很安全,但总有一些小偷和黑客在到处乱窜,试图偷走你的秘密(比如密码、指纹、银行卡号)。

为了保护自己,你建了一个坚固的地下金库(这就是 TEE,可信执行环境)。这个金库有厚厚的防弹玻璃和复杂的安保系统,外面的小偷根本进不去,甚至连操作系统管理员都看不见里面的东西。

问题来了:
虽然金库很安全,但把原本住在“普通城市”里的贵重物品(敏感代码,比如加密算法)搬进金库非常麻烦:

  • 语言不通: 普通代码是用高级语言(像 Java、Python)写的,像“普通话”;而金库只接受低级语言(像 C、Rust),像“古拉丁语”。
  • 手续繁琐: 开发者需要 manually(手动)把代码拆开,找出哪些是秘密,然后重新翻译、重新包装,还要确保搬进去后功能完全一样。这就像让你把一座房子拆了,用不同的砖头在地下重建,还不能让住户觉得房子变了样。

2. 主角登场:AUTOTEE(智能搬家工)

为了解决这个麻烦,作者们请来了大语言模型(LLM),也就是像 GPT-4 这样的 AI,给它起名叫 AUTOTEE。它的工作流程就像一位经验丰富的**“智能管家”**:

第一步:找东西(识别敏感功能)

AUTOTEE 会先拿着放大镜(代码分析工具)在原来的代码里转悠。它会问 AI:“嘿,这里面哪段代码在偷偷摸摸处理密码或加密数据?”

  • 比喻: 就像管家在整理房间,一眼就能认出哪些是“传家宝”(加密函数),哪些是“普通杂物”(普通计算)。它专门找那些**“叶子节点”**(Leaf Functions),也就是代码树最末端、不依赖其他复杂功能的独立小模块,这样搬起来最安全、最轻便。

第二步:翻译和改造(代码转换)

找到这些“传家宝”后,AUTOTEE 开始工作。它把原本用“普通话”(Java/Python)写的代码,翻译成金库专用的“古拉丁语”(Rust)。

  • 比喻: 这不仅仅是简单的翻译。就像把一辆燃油车(普通代码)改造成电动车(TEE 代码),不仅要换引擎,还要确保刹车、方向盘和空调都能正常工作。
  • ReAct 策略(自我纠错): 如果 AI 第一次翻译错了(比如漏了个零件),它不会死板地继续。它会像人类一样思考:“哎呀,编译报错了,是不是少引了个库?”然后它会自动修改代码,再次尝试,直到完美为止。这就像一位不知疲倦的工匠,不断打磨作品,直到它无懈可击。

第三步:验货(测试与验证)

搬进金库前,必须确保新做的东西和原来的一模一样。

  • 比喻: AUTOTEE 会准备一堆**“测试题”**(比如输入各种奇怪的密码),让原来的代码和新代码同时做。如果两个代码给出的答案完全一致,那就说明搬家成功了!如果不一样,AI 就会回去重新修改,直到完全一致。

第四步:建立连接(安全通道)

最后,AUTOTEE 会在“普通城市”和“地下金库”之间修一条加密的地下隧道

  • 比喻: 当普通程序需要处理敏感数据时,它不会自己处理,而是通过这条隧道,把数据加密后传给金库里的新代码。金库处理完后,再把结果加密传回来。这样,外面的小偷即使截获了数据,也只是一堆乱码。

3. 成果:它做得怎么样?

作者们找来了 68 个真实的软件项目(包含 385 个敏感功能),让 AUTOTEE 大显身手。结果非常惊人:

  • 找得准: 它能准确识别出 94% 的敏感代码(Java)和 87% 的敏感代码(Python)。
  • 搬得好: 在使用最强的 AI 模型(GPT-4o)时,91.8% 的 Java 代码和 84.3% 的 Python 代码被成功改造并搬进了金库,而且功能完全没变。
  • 省人力: 以前这需要几个专家花几天时间手动搞,现在 AUTOTEE 几乎全自动搞定。

4. 总结

AUTOTEE 的核心价值在于:它让普通开发者也能轻松地把软件中最敏感的部分,安全地“搬”进高科技金库里。

  • 以前: 只有懂深奥安全技术的专家才能做,门槛极高。
  • 现在: 有了这个 AI 助手,就像有了自动翻译和自动装修机器人,让软件变得更安全,而开发者只需要按个按钮(或者写几行配置)就行。

这就好比以前只有特种部队能进入地下掩体,现在 AUTOTEE 给每个人发了一套自动穿戴的防弹衣和隐形斗篷,让普通人的日常软件也能拥有“金库级”的安全防护。