![]()
2024年AI Agent爆发式增长时,一个尴尬的现实是:用户让Agent订机票,它可能顺手把你的日历全删了——不是恶意,是没人告诉它边界在哪。
开发者kkdai最近给开源项目linebot-adk提交了一个PR,内容只有一份YAML文件。但这可能是2026年AI Agent走向"工业级安全"的第一个路标。
当README不够用了:Agent安全的真空地带
linebot-adk是一个基于Google ADK(Agent开发套件)的LINE Bot开发工具,支持Tool Use(函数调用)能力。用户最频繁的质疑很具体:"这个Agent会不会擅自发指令?能碰我哪些数据?"
传统做法是在README里写满免责声明。但kkdai在PR里直言:那是给人看的,不是给系统验的。
Agent之间的交互正在井喷。一个"旅行规划Agent"需要对接酒店预订、航班查询、支付系统——每个都是独立开发的黑箱。用户怎么知道A Agent把身份证传给B Agent时,B会不会转手卖给C?
A2AS(Agent-to-Agent Security)就是冲着这个痛点来的。圈内有人叫它"AI世界的HTTPS",但kkdai的比喻更实在:这是Agent的"数字签名",让代码逻辑从"自述"变成"可验证"。
解剖a2as.yaml:一份证书如何锁死权限边界
PR #1的核心改动是新增a2as.yaml。文件结构很直白:
manifest区块标记主体信息:项目名kkdai/linebot-adk,作用域锁定main.py和multi_tool_agent/agent.py两个文件。签发方是A2AS.org,证书URL可公开查验。
agents区块才是重头戏。root_agent被定义为实例类型,绑定模型gemini-2.5-flash,工具清单只有两个:get_weather和get_current_time。
这意味着什么?证书与代码严格挂钩。在multi_tool_agent/agent.py里,这两个函数有具体实现:
![]()
def get_weather(city: str) -> dict:
# 天气查询逻辑
def get_current_time(city: str) -> dict:
# 时间查询逻辑
A2AS证书把这些函数注册进tools块,相当于给Agent能力画了红圈。如果运行时出现delete_database调用,安全监控系统能立即识别——这不在证书白名单里。
main.py里的Runner启动逻辑也被纳入监管:
runner = Runner(
agent=root_agent,
app_name=APP_NAME,
session_service=session_service,
)
manifest.subject.scope标记了main.py,整个启动流程(包括FastAPI的Webhook处理)都在A2AS合规范围内。不是"我说我安全",是"证书和代码互相背书"。
BASIC模型:五个字母拆解信任链
A2AS不是拍脑袋起的名字,背后有完整的BASIC安全模型:
Binding(绑定):证书与代码哈希绑定,篡改即失效。linebot-adk的证书明确关联main.py和agent.py,文件任何变动都会触发验证失败。
Attestation(证明):第三方机构A2AS.org签发,不是开发者自说自话。URL https://a2as.org/certified/agents/kkdai/linebot-adk 可供任何人查验。
Scope(范围):工具清单精确到函数名。get_weather和get_current_time是明示授权,未列出的功能默认禁止。
Isolation(隔离):Agent实例与运行环境隔离。root_agent的类型标记为instance,意味着生命周期和权限受控。
Compliance(合规):持续监控而非一次性认证。证书不是终身制,代码迭代需要重新验证。
![]()
这套模型的设计意图很明显:把"信任"从人际关系转移到技术机制。就像HTTPS用证书链替代了"这个网站看起来正规"的直觉判断。
场景推演:跨Agent协作怎么验明正身
设想一个具体场景:你的"旅行助手Agent"要和"酒店预订Agent"对话。
没有A2AS时,流程是:A直接发请求,B直接执行,用户只能祈祷双方开发者都靠谱。出问题后扯皮:是A越权请求,还是B过度采集?
引入A2AS后,流程变成"先验证,再执行":
1. A出示证书,B查验其tools列表是否包含"查询酒店"权限
2. B回传自身证书,A确认其数据处理方式符合声明
3. 双方均在对方证书scope内,交互才建立
4. 任何超出证书边界的行为触发告警或阻断
这就是A2AS想构建的信任网络。不是基于品牌声誉的盲目相信,而是基于密码学验证的权限对账。
kkdai在PR描述里提到一个细节:A2AS证书直接链接到main.py的内容。这意味着证书不是装饰,是运行时安全策略的源头。监控系统和审计日志都能以这份YAML为基准,判断Agent行为是否"越界"。
2026年的安全基建:从单点工具到行业标准
linebot-adk的这次提交是个信号。单个开源项目采纳A2AS,价值有限;但如果Google ADK生态、LangChain、AutoGen等主流框架陆续跟进,就会形成事实标准。
kkdai的选择有代表性:作为ADK用户,他率先把A2AS集成进实际项目。这种"吃螃蟹"的行为,往往比标准文档更能推动行业共识。
目前A2AS.org的认证体系还在早期,但设计思路已经清晰——解决Agent经济的"信任成本"问题。当每个Agent都携带可验证的"能力说明书",用户授权就从"全盘托付"变成"精准许可",开发者也从"自证清白"的负担中解脱。
一个值得观察的指标是:接下来三个月,有多少ADK项目会跟进提交a2as.yaml?这个数字可能比任何白皮书都更能说明,2026年的Agent安全标准是否真的在落地。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.