用途:当核心问题是某条 VTEX IO 路由、集成或服务边界是否安全时使用本技能,判断哪些数据和输入可以安全跨越应用边界。它不负责决定用哪个策略或令牌授权调用,那属于 vtex-io-auth-and-policies 与 vtex-io-auth-tokens-and-context。
主要能力:把每条公共路由视为显式信任边界;在 service.json 中把路由从 public: false 改为 public: true 视为边界变更,应触发安全审查。public: true 用于必须从 VTEX IO 外部调用的路由,如合作方 webhook 或外部消费的集成端点,按互联网暴露边界对待;public: false 仅用于 VTEX 内部流程或其他 IO 应用,但仍需校验和限定假设。不要依赖晦涩路径或看似内部的 URL 作为安全措施。
使用方式:尽早校验外部输入,在进入领域逻辑或下游集成前完成。webhook 类路由需同时校验结构与真实性,例如必填字段加共享密钥或签名头。不要因为请求来自其他 VTEX 服务或内部路径就假定安全。读写限定数据时显式保留账号、工作区、用户上下文;需限定到特定工作区时显式检查 ctx.vtex.workspace 并拒绝其他工作区调用。响应只返回调用方所需数据,避免返回原始下游载荷。密钥、令牌和敏感头不得进入日志与响应;生产路由不要用 console.log 或 console.error,应使用 ctx.vtex.logger 记录结构化对象,仅在有意转发到合作方系统时使用专用外部日志客户端。避免暴露返回内部配置、密钥或完整下游载荷的调试路由;确需保留时应设为非公开且仅含最少非敏感信息。
适用场景:审查公共与私有路由暴露、校验服务边界外部输入、处理令牌与账号上下文、防止跨账号/跨工作区/跨用户泄露、加固暴露或消费敏感数据的集成。
限制:不适用于 manifest.json 的策略声明语法、服务运行时规格、日志与可观测性策略、前端浏览器安全,以及决定哪个 VTEX 认证令牌调用端点。硬性约束包括公共路由必须在边界校验不可信输入、敏感数据不得意外跨越路由边界、服务间调用仍须保持显式信任边界。审查可从谁可调用、什么数据进入、需立即校验什么、什么数据离开、上下文是否可能泄露入手。