该仓库包含一个 Jupyter notebook,用于配合学术论文《使用信息流控制保护 AI 智能体》。该 notebook 以教程形式组织,引导读者理解论文中介绍的概念。它展示了在智能体任务中确定性执行安全策略的机制的实际实现,并将概念转化为可执行的代码,供读者实验。
该 notebook 已使用 Azure OpenAI Chat Completions API 针对 GPT-4o 和 GPT-4.1 进行了测试,但也可以轻松适配为使用 OpenAI 端点。代码通过 .env 配置文件(包含 AZURE_ENDPOINT、API_VERSION 和 AZURE_DEPLOYMENT 的定义)在客户端设置模型端点。请将提供的 .env.example 文件复制为 .env 并根据需要编辑。该 notebook 使用 Microsoft Entra ID 对 Azure OpenAI 服务进行身份验证,但如果需要,也可以简单地适配为使用基于密钥的身份验证。
为了方便,我们提供了一个已完全评估的 notebook 以说明预期输出,但我们鼓励读者设置自己的端点以进行动手实验并重现我们的输出。
如果您希望引用此项工作,请按以下方式引用
@misc{securing_ai_agents_with_ifc,
title = {Securing {AI} Agents with Information-Flow Control},
author = {Costa, Manuel and
K{\"o}pf, Boris and
Kolluri, Aashish and
Paverd, Andrew and
Russinovich, Mark and
Salem, Ahmed and
Tople, Shruti and
Wutschitz, Lukas and
Zanella-B{\'e}guelin, Santiago},
year = {2025},
eprint = {2505.23643},
archivePrefix = {arXiv},
primaryClass = {cs.CR},
doi = {10.48550/arXiv.2505.23643}
}
本项目欢迎贡献和建议。大多数贡献需要您同意一份贡献者许可协议(CLA),声明您有权且确实授予我们使用您贡献的权利。详细信息请访问贡献者许可协议。
当您提交拉取请求时,CLA 机器人会自动确定您是否需要提供 CLA,并适当装饰 PR(例如状态检查、评论)。只需按照机器人提供的说明操作即可。您只需要在所有使用我们 CLA 的仓库中执行一次。
本项目采用了微软开源行为准则。更多信息请参阅行为准则常见问题解答,或通过 [email protected] 联系我们。
本项目可能包含项目、产品或服务的商标或徽标。经授权的微软商标或徽标的使用必须遵守微软商标与品牌指南。在本项目的修改版本中使用微软商标或徽标不得引起混淆或暗示微软赞助。任何第三方商标或徽标的使用均需遵守相应第三方的政策。