Spatial AI 安全是一组边界,用来防止位置感知系统把不可信的地点文本、私有记录、工具或地图操作当作权限。system prompt 可以引导回答,但它不能决定谁可以查看某条记录、工具可以调用哪个 host,或哪个预订可以真正提交。这些检查必须放在模型之外,由身份、策略以及真正拥有数据的系统来拒绝不允许的请求。
下面的内容先把提示词与其余架构分开,然后讨论信任区域、检索到的指令、上下文之前的授权、工具权限、操作检查、网络范围以及记忆。Kaleidr Enterprise 和 Kaleidr Chat 位于这些宿主控制旁边。它们不会替代宿主的身份提供方、租户策略或交易系统。
Spatial AI 安全要点
- 不要让提示词进入权限路径: 安全指令可以影响回答形式,但不能授予记录、工具或网络目标的权限。
- 先授权,再检索: 在私有数据行进入模型上下文之前,先完成租户、对象和字段检查。
- 拆分工具权限: 读取、地图、草稿和写入能力不能共享同一个权限级别。
- 把可达性与批准分开: 由提示词之外的 allowlist 决定工具可以调用哪些 host。
- 给记忆单独的门: 检索到的文本不能自动成为下一次会话的策略。
什么是 Spatial AI 安全?
Spatial AI 安全是围绕一种产品建立的控制系统,这种产品把地图与私有上下文、路径规划、推荐和操作结合在一起。传统地图可以绘制公共地理信息。Spatial 产品还可能读取供应商记录、计算沿途取货点并提出时间安排建议。每一步都有自己的边界。安全问题在于:任何输入、检索到的记录、工具结果或过期权限,是否能够越过产品并未授予的边界。
OWASP 在 2025 年 12 月 9 日发布的 Top 10 for Agentic Applications 文章中,把 agent goal hijack、tool misuse、identity and privilege abuse、memory and context poisoning 等列为系统开始执行操作后出现的风险 (OWASP, 2025)。在地图场景中,同样的模式会转化为地理问题。地点描述可能试图把推荐引向别处。拥有过宽凭证的路径工具可能访问调用者无权使用的位置。持久记忆还可能把恶意的位置指令带到后续会话中。封面图把这条路径画成一个流程:左侧是不可信输入,中间从身份到执行,右侧是地图结果。图中的业务影响文字只是示意,不是 Kaleidr 的实测结果。
真正需要守住的不变量很窄。用户绝不会收到另一个租户的私有位置记录。浏览器绝不会收到服务器密钥。检索到的文档绝不会授予授权。地点描述绝不会重写允许的网络列表。模型可以提出下一步。但提议不是授权。
为什么 system prompt 不是安全边界?
只依赖提示词的路径会从用户进入安全指令,再进入语言模型,然后直接通向数据库、工具和操作。这种设计把“模型是否听话”当成控制手段。OWASP 在 2026 年 10 月 8 日发布、覆盖 2026 年 7 月 1 日至 9 月 30 日的 exploit roundup 中指出,仅靠 prompt-level instructions 并不能建立安全边界 (OWASP, 2026)。该 roundup 是对部分披露案例的汇总,不是 Kaleidr 的事故报告。

左侧把安全提示词当作唯一边界,让语言模型直接走向数据、工具和操作。右侧则在执行之前加入身份、授权、已批准数据、受约束工具和验证。工具范围、网络范围、记忆策略和可观测性位于这条路径旁边。图中的示例提示词仅用于说明。
一个真正受控的路径会先对输入分类,解析身份,对记录和工具进行授权,然后才让模型在该范围内解释意图。跨层控制仍然放在提示词之外:有哪些工具、工具可以访问哪些目标、记忆可以保存什么、trace 必须记录什么。被操纵的回答仍可能出错。但错误回答不应该能够自行扩大权限。
信任边界应该放在哪里?
先画区域,再列攻击。一个实用的拆分方式有七个边界:不可信输入、身份与策略、业务系统、空间服务、AI 层、操作层,以及证据。用户文本、地点文本、文档和合作伙伴 feed 都作为不可信输入进入。身份与策略负责判断谁在调用、适用哪个租户、具有什么角色与对象权限。库存、预订、CRM 和私有设施保留在真正拥有它们的业务系统中。路径规划、地理编码、几何计算和搜索则属于各自独立的空间服务。

图中在每个区域之间都放置了信任边界,从不可信输入一直到证据。业务系统持有库存、预订、CRM 和私有设施。空间服务负责路径规划、地理编码、几何计算和搜索。区域名称与示例系统标签只是架构草图,不是 Kaleidr 产品清单。
AI 层可以解释意图、从已批准工具中进行选择,并解释结果。操作层必须独立:地图更新、草稿、写入和交易并不是同一种操作。证据层记录 trace、策略检查、拒绝和结果。身份认证、授权、数据隔离和审计都适用于图中的每一道边界。跳过一个区域,只让模型“谨慎一点”,等于把这些控制压缩成一句指令。
为什么检索到的地点文本会携带攻击?
间接 prompt injection 会通过用户并未输入的内容进入系统。地点描述、上传文档、合作伙伴 feed 或工具结果,都可能包含一条指令,要求新的权限、新工具或新的目标。与此同时,这段文本也可能包含有用事实,比如地址或营业时间。宿主应该提取事实,并丢弃指令。检索到的文本是数据。检索到的文本不是策略。

左列展示了四类不可信来源,每类都带有一条示例指令。被阻止的路径拒绝“授予权限”“添加工具”和“更改目标”请求。允许路径只提取事实、验证事实,并保持在已授权工具范围内。图中的示例句子和示例 host 仅用于说明,并不是一次真实的 Kaleidr 事故。
对公共地点内容,也应该像对合作伙伴文档一样保持警惕。一个地理事实可以是真的,但它旁边仍可能出现恶意指令。工具输出在重新进入系统时也需要同样处理。一个声称“任务已完成”的结果,只是下一步检查的数据。它不能新增目标,也不能跳过批准。真正负责拒绝的是结构化控制:工具 allowlist、schema 检查,以及不会把检索文本当作授权的权限系统。
为什么要在模型看到记录之前完成授权?
私有位置记录在任何一行进入模型上下文之前,都应通过租户、角色、对象和字段检查。Kaleidr 的 private-location 指南建议先认证用户、解析租户和允许对象,只检索最少量的记录和字段,并让语言模型退出访问路径 (Kaleidr, 2026)。同一指南也警告,不要先检索整套私有数据,再让模型决定哪些行允许访问。授权是一条查询约束。授权不是提示词中的一段文字。

上方路径在最少记录集到达模型之前,对用户、租户、角色、对象和字段完成授权。下方路径把完整私有数据库发送给模型,再让模型决定访问权限,图中将其标记为不安全。身份标签和示例地图仅用于说明。生产环境中的检查应使用宿主真实的身份系统与字段策略。
平台凭证是与这条用户路径不同的控制。Kaleidr 的 Map API authentication 指南把浏览器端可发布凭证与必须留在客户端之外的服务器凭证分开,并指出 API capability scope 并不等同于应用用户或行级授权 (Kaleidr, 2026)。有效的组织凭证不意味着客户 A 可以读取客户 B 的门店。宿主 backend 仍需解析终端用户、租户、对象和字段。不要把服务器密钥放进提示词、trace 或浏览器代码。
为什么工具不应该共享同一种权限?
只给当前工作分配完成任务所需的最小工具集,不要让每个工具拥有相同权限。读取工具可以返回地点、可用性或路径。地图工具可以显示地点、绘制路线或选择地点,而不修改业务状态。草稿工具可以准备一个预订或调度提案,并在 commit 前停止。写入工具则会真正确认预订、发送调度或修改记录。操作越难撤销,验证、授权、确认和审计就应该越严格。

读取层返回地点、可用性和路径信息。地图层显示地点、绘制路线并选择地点。草稿层准备预订或调度提案,写入层则真正提交预订、调度或记录变更。图中的工具名称只是示例。生产目录应该只暴露宿主实际批准的操作。
OWASP 的 Excessive Agency 条目 LLM06:2025 描述了由意外、含糊或被操纵的模型输出引发的破坏性操作,并把 excessive functionality、excessive permissions 和 excessive autonomy 列为常见诱因 (OWASP, 2025)。工具越窄,功能越少。凭证分离可以减少权限。确认步骤可以降低写入操作的自主性。地图操作应保持语义化。Kaleidr 的 map-aware assistant 指南建议使用 show places、fit places 之类的小型语义词表,通过验证和 renderer adapter 执行,而不是让模型输出任意 renderer code (Kaleidr, 2026)。地图更新不是预订,预订草稿也不是已提交的预订。
为什么提议必须通过检查后才能执行?
模型可以提出带 arguments 的 tool call。提议不是授权,授权也不是执行。Kaleidr 的 Observability 指南划出了同样的边界:记录工具名称、schema 结果、授权决定、策略检查与执行状态,并把拒绝出口也作为 trace 的一部分 (Kaleidr, 2026)。像完成预订这样的宿主结果,仍然留在真正拥有交易的系统里。

流程从不可信模型提议开始,在任何执行之前检查 schema、身份、策略和新鲜度。高影响操作可以要求确认。每个 gate 都有拒绝路径,包括无效工具、schema 失败、缺少授权、策略阻断、数据过期或缺少确认。图中的示例工具 arguments 仅用于说明。
在 commit 前立即重新验证。可用性、价格、分配和权限可能在草稿与写入之间发生变化。确认界面应展示精确操作和精确目标,而不是模糊摘要。执行之后,返回一个 trace 可以保存、且不会复制密钥或不必要坐标的结果。任何检查失败都应该中止操作,并保持之前的业务状态不变。
为什么可达的 host 不等于已授权的 host?
网络范围本身就是一项控制。Agent 可能尝试调用路径服务、库存服务、预订服务,或检索文本里出现的任意 URL。只有提示词之外强制执行的 allowlist 中的目标才应该成功。一个可以抓取任意 URL 的工具,迟早会被指向任务从未批准过的 host。可达意味着网络路径存在。已授权意味着策略明确允许该工具访问该目标。

图中的批准路径分别指向路径 host、库存 host 和预订 host。任意 URL、未知 API 和其他外部 host 都被阻止。底部说明网络范围应在提示词之外强制执行。图中的 host 名称、内部名称和示例地址仅用于说明,不是 Kaleidr allowlist。
对推荐新 endpoint 的工具结果,也应用同样规则。这种推荐属于不可信内容。文档要求添加新服务器,不会自动更新 allowlist。如果确实需要一个新目标,应由运维人员通过负责网络策略的变更流程添加。模型不能在一次运行内部修改这份列表。
为什么记忆需要自己的边界?
持久上下文会延续到创建它的 turn 之后。地点备注、偏好或之前的路线,可能在下一次会话中有用。与此同时,隐藏在检索文本里的句子,也可能试图成为长期策略,例如要求忽略授权。记忆写入需要自己的 gate:允许的 writer、租户检查、可信来源,以及谁在什么时候保存该项的记录。当前安全策略必须留在记忆之外。已批准记忆可以为下一次回答提供信息,但不能覆盖当前的授权检查。

会话一展示检索文本尝试写入记忆,但未通过来源检查。被阻止的指令不会进入持久记忆。会话二把当前安全策略与已批准、按租户限定的记忆结合使用。图中的示例指令和地址仅用于说明。
OWASP 在 2026 年 5 月 13 日的文章中把记忆视为攻击面,并说明普通 agent 工作如何可能演变成 persistent prompt injection (OWASP, 2026)。实用控制包括限制 writer、租户隔离、provenance、复核和删除机制。不要让每个工具结果都自动追加到长期上下文。应该用恶意记录、恶意工具结果以及后续仍需执行原始策略的会话来测试这条路径。
Spatial AI 安全应该如何放在 Kaleidr 旁边?
把用户身份、租户授权、私有业务数据、网络策略、交易以及事故响应留在宿主一侧。Kaleidr Enterprise 是面向 Spatial 产品的 location-intelligence infrastructure,提供 inference APIs、ranking systems 和 analytics (Kaleidr, 2026)。Kaleidr Chat 是建立在宿主已经渲染的地图之上的对话层。Map / Spatial APIs、语义地图操作和 analytics context 属于平台能力。如果集成使用 publishable browser credential 与 server credential,它们仍应遵循前面所述的认证分离。平台 scope 不能替代宿主对终端用户的授权。

左列列出宿主拥有的控制,包括身份、租户授权、私有数据、网络策略、交易和事故响应。中间列列出 Kaleidr Enterprise、Chat、Map / Spatial APIs、语义地图操作与 analytics context。底部说明平台 scope 不会替代宿主的终端用户授权。该图只是架构示意,并不表示 Kaleidr 运营宿主的身份提供方或预订系统。
NIST 在 2026 年 5 月 18 日发布的一份报告,总结了关于 AI agent 安全考虑事项信息征询所收到的反馈 (NIST, 2026)。该报告是评论汇总,被引用为 NIST Trustworthy and Responsible AI 800-5。它既不是控制 baseline,也不是 Kaleidr 认证。可以把它视为一个提醒:agent 安全仍在公开环境中持续被定义,而真正的边界仍需落实到实际交付的产品中。
在赋予真正的 agency 之前,先设计停止路径。宿主应该能够停止一次运行、撤销该运行正在使用的凭证、切断其被允许的 egress,并取消尚未 commit 的写入。保留 trace:谁发起了调用、适用了哪个租户、执行了哪项策略、提出了哪些工具、哪些目标被允许或拒绝、最终结果是什么。不要把密钥和不必要的精确坐标放入这些记录中。把 indirect injection、cross-tenant read、out-of-scope host、tool misuse、memory poisoning 当作接近生产形态的测试用例。通过提示词测试,并不能证明这些场景都安全。
如需了解 location-intelligence stack,请查看 Kaleidr Enterprise;如需了解浏览器凭证与服务器凭证的文档化分离,请阅读 Map API Authentication。即使地图操作看起来正确,也要把宿主授权、网络策略和交易检查放在模型之外。
注:Kaleidr 在创意和开发工作流中使用 AI 辅助工具进行图像创建、内容优化和研究。
常见问题
prompt injection 是 Spatial AI 安全唯一的风险吗?
不是。隐藏指令固然重要,身份、私有记录授权、工具范围、网络目标、记忆、密钥以及停止运行的能力同样重要。一个安全提示词无法覆盖这些内容。
system prompt 能阻止藏在地点描述中的指令吗?
不能。检索到的地点文本、文档、合作伙伴 feed 和工具结果都可能携带指令。应提取事实,并在模型之外强制执行权限、工具和目标控制。
Kaleidr 会替代宿主授权吗?
不会。平台凭证和 Spatial 能力不是终端用户授权或租户授权。请求可以使用哪个人员、租户、对象和字段,仍由宿主决定。
一个可达 URL 应该被视为已批准吗?
不应该。工具只能调用 allowlist 允许的目标,而且 allowlist 应在提示词之外强制执行。文档中出现一个新的 host,并不会自动把它加入允许列表。
References
- OWASP GenAI Security Project. OWASP Top 10 for Agentic Applications. John Sotiropoulos, December 9, 2025. Names agent goal hijack, tool misuse, identity and privilege abuse, and memory and context poisoning among agentic risks. Accessed October 9, 2026. https://genai.owasp.org/2025/12/09/owasp-top-10-for-agentic-applications-the-benchmark-for-agentic-security-in-the-age-of-autonomous-ai/
- OWASP GenAI Security Project. GenAI and Agentic AI Exploit Roundup Q3 2026. October 8, 2026. Coverage period July 1, 2026 through September 30, 2026. States that prompt-level instructions alone do not establish a secure boundary. Accessed October 9, 2026. https://genai.owasp.org/2026/10/08/genai-and-agentic-ai-exploit-roundup-q3-2026/
- Kaleidr. Private Location Data for AI Map Workflows. Authorize the user and retrieve the minimum records before the language model sees private location data. https://kaleidr.com/blog/private-location-data-for-ai-map-workflows
- Kaleidr. Map API Authentication. Separates a publishable browser credential from a server credential, and states that capability scopes are not application user or row authorization. https://kaleidr.com/blog/map-api-authentication
- OWASP GenAI Security Project. LLM06:2025 Excessive Agency. Describes damaging actions that follow unexpected, ambiguous, or manipulated model output, including excessive functionality, permissions, and autonomy. Accessed October 9, 2026. https://genai.owasp.org/llmrisk/llm062025-excessive-agency/
- Kaleidr. Map-Aware AI Assistant: How to Build One. Recommends a small semantic map-action vocabulary validated before the renderer runs. https://kaleidr.com/blog/how-to-build-a-map-aware-ai-assistant
- Kaleidr. Spatial AI Observability. Separates a model proposal from authorization and execution, and keeps the host outcome in the system that owns the transaction. https://kaleidr.com/blog/spatial-ai-observability
- OWASP GenAI Security Project. Memory Is a Feature. It Is Also an Attack Surface. May 13, 2026. Treats persistent context as an attack surface. Accessed October 9, 2026. https://genai.owasp.org/2026/05/13/memory-is-a-feature-it-is-also-an-attack-surface/
- Kaleidr. Location Intelligence APIs and Map SDK. Describes location-intelligence infrastructure with inference APIs, ranking systems, and analytics for spatial products. Accessed October 9, 2026. https://kaleidr.com/enterprise
- National Institute of Standards and Technology. Summary Analysis of Responses to the Request for Information Regarding Security Considerations for AI Agents. NIST Trustworthy and Responsible AI 800-5, May 18, 2026. An overview of responses, not a control baseline. Accessed October 9, 2026. https://www.nist.gov/publications/summary-analysis-responses-request-information-regarding-security-considerations-ai
@misc{owasp_agentic_top10_2025,
title = {OWASP Top 10 for Agentic Applications},
author = {{OWASP GenAI Security Project}},
year = {2025},
url = {https://genai.owasp.org/2025/12/09/owasp-top-10-for-agentic-applications-the-benchmark-for-agentic-security-in-the-age-of-autonomous-ai/}
}
@misc{owasp_q3_2026_roundup,
title = {GenAI and Agentic AI Exploit Roundup Q3 2026},
author = {{OWASP GenAI Security Project}},
year = {2026},
url = {https://genai.owasp.org/2026/10/08/genai-and-agentic-ai-exploit-roundup-q3-2026/}
}
@misc{kaleidr_private_location_2026,
title = {Private Location Data for AI Map Workflows},
author = {{Kaleidr}},
year = {2026},
url = {https://kaleidr.com/blog/private-location-data-for-ai-map-workflows}
}
@misc{kaleidr_map_api_auth_2026,
title = {Map API Authentication},
author = {{Kaleidr}},
year = {2026},
url = {https://kaleidr.com/blog/map-api-authentication}
}
@misc{owasp_llm06_2025,
title = {LLM06:2025 Excessive Agency},
author = {{OWASP GenAI Security Project}},
year = {2025},
url = {https://genai.owasp.org/llmrisk/llm062025-excessive-agency/}
}
@misc{kaleidr_map_aware_2026,
title = {Map-Aware AI Assistant: How to Build One},
author = {{Kaleidr}},
year = {2026},
url = {https://kaleidr.com/blog/how-to-build-a-map-aware-ai-assistant}
}
@misc{kaleidr_observability_2026,
title = {Spatial AI Observability},
author = {{Kaleidr}},
year = {2026},
url = {https://kaleidr.com/blog/spatial-ai-observability}
}
@misc{owasp_memory_2026,
title = {Memory Is a Feature. It Is Also an Attack Surface},
author = {{OWASP GenAI Security Project}},
year = {2026},
url = {https://genai.owasp.org/2026/05/13/memory-is-a-feature-it-is-also-an-attack-surface/}
}
@misc{kaleidr_enterprise_2026,
title = {Location Intelligence APIs and Map SDK},
author = {{Kaleidr}},
year = {2026},
url = {https://kaleidr.com/enterprise}
}
@misc{nist_ai_800_5_2026,
title = {Summary Analysis of Responses to the Request for Information Regarding Security Considerations for AI Agents},
author = {{National Institute of Standards and Technology}},
year = {2026},
url = {https://www.nist.gov/publications/summary-analysis-responses-request-information-regarding-security-considerations-ai}
}