跳转到内容

应用程序和代理的安全操作

AetherEdge将每个浏览器、CLI、AI 助手和生成的后端视为不受信任的应用程序客户端。读取操作和命令使用相同的应用程序边界,但命令还需要经过身份验证的参与者、显式权限、声明的确认策略和持久的审计证据。对 HTTP 路由或 MCP 工具的访问绝不是设备权限。

远程客户端仅连接到经过身份验证的 aether-api:6005 路由和网关 WebSocket。 IO、自动化、历史、上行和报警进程端口是内部环回接口。请勿公开它们、从产品 UI 代理它们或通过编写 SHM、SQLite、Pack 文件或外部镜像来绕过应用程序API。

实时点状态来自 SHM。数据库、缓存、历史适配器、浏览器存储或 AI 上下文可能会延迟,并且不得默默地替换该权限。每当合约提供拓扑纪元、源时间戳、新鲜度、运行状况和配置修订时,都会保留这些内容。

  • MCP 忽略写入工具,除非故意选择 --allow-write
  • 生成的应用程序应忽略命令控制,直到用例和权限明确为止。
  • 默认情况下拒绝设备控制。查看者令牌永远不会成为命令身份,因为客户端发送角色或参与者标头。
  • 网关转发签名凭据和确认,但会删除调用者提供的参与者身份标头。每个下游应用服务独立验证签名身份。

在发出命令之前,验证其当前的 OpenAPI 或 MCP 元数据:

  • 查询或命令分类;
  • 风险级别和所需权限;
  • 幂等性和重试策略;
  • 确认要求;
  • 预期修订或拓扑围栏;
  • 审核和关联字段。

仅在操作员确认具体目标和效果后发送confirmed: truex-aether-confirmed: true。在日志和 UI 状态中保留 request_idcommand_id 以及生成的修订值。

在超时、已接受的审核不完整的响应、降级的运行时投影或丢失连接后,不要自动重试非幂等命令。持久的变化可能已经存在。先查询命令接收、审计记录、配置修改、协调状态。

命令接受是指本地命令面接受了请求。它并不能证明物理执行。在报告闭环结果之前,使用反馈遥测以及匹配的拓扑生成和新鲜度策略。

AI 可以提出、解释或调用受治理的应用程序功能。它不得参与协议轮询、采集计时、SHM 发布、安全联锁或硬实时控制。当每个人工智能客户端断开连接时,边缘运行时和委托规则必须保持确定性。

能源特定限制、设备语义和调试策略属于活动域 Pack。有关官方能源实施的信息,请阅读 AetherEMS Energy Pack 安全指南