超越提示詞的 Spatial AI 安全

作者 The Kaleidr Team · 發布於 2026年10月9日 · 15 分鐘讀完

一條 Spatial AI 安全流程,從不可信任的提示詞、地點文字、文件與工具結果,經過身分、授權、核准資料、受限制工具、動作驗證,最後進入執行。

Spatial AI 安全是一組邊界,用來防止具備位置感知能力的系統把不可信任的地點文字、私人紀錄、工具或地圖動作當成權限。system prompt 可以引導回答,但它不能決定誰能查看某筆紀錄、工具可以呼叫哪個 host,或哪一筆預約可以正式提交。這些檢查必須放在模型之外,由身分、政策,以及真正擁有資料的系統來拒絕不允許的要求。

以下內容先把提示詞與其餘架構分開,再依序處理信任區域、檢索內容中的指令、建立 context 前的授權、工具權限、動作檢查、網路範圍與記憶。Kaleidr Enterprise 與 Kaleidr Chat 會位在這些 host 端控制旁邊。這些產品不會取代 host 的身分提供者、租戶政策或交易系統。

Spatial AI 安全重點

  • 讓提示詞離開權限路徑: 安全指令可以影響回答方式,但不能授予紀錄、工具或網路目的地的權限。
  • 先授權,再檢索: 私人資料列進入模型 context 前,先完成租戶、物件與欄位檢查。
  • 拆分工具權限: 讀取、地圖、草稿與寫入能力不能共用同一個權限層級。
  • 把可到達性與核准分開: 由提示詞外部的 allowlist 決定工具可以呼叫哪些 host。
  • 替記憶設置獨立 gate: 檢索到的文字不會自動成為下一次 session 的政策。

什麼是 Spatial AI 安全?

Spatial AI 安全是圍繞一種產品建立的控制系統,這類產品把地圖與私人 context、路線規劃、推薦與動作結合在一起。傳統地圖可以呈現公開地理資訊。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)。放到地圖情境裡,同樣的模式會變成地理風險。地點描述可能試圖把推薦導向別處。擁有過度寬鬆憑證的 routing 工具可能碰觸呼叫者無權使用的位置。持久記憶也可能把惡意的位置指令帶到後續 session。封面圖把這條路徑畫成:左側是不可信任輸入,中間從身分一路到執行,右側是地圖結果。圖中的商業影響文字只是示意,不是 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 與私人設施留在真正擁有它們的業務系統。路線規劃、地理編碼、幾何運算與搜尋則屬於各自獨立的空間服務。

七個信任區域,從不可信任輸入經過身分、業務系統、空間服務、AI 層與動作,最後到 trace、稽核、拒絕與結果。

圖中在每個區域之間都設置信任邊界,從不可信任輸入一路到證據。業務系統保存庫存、預約、CRM 與私人設施。空間服務處理路線規劃、地理編碼、幾何運算與搜尋。區域名稱與範例系統標籤只是架構草圖,不是 Kaleidr 產品清單。

AI 層可以解讀意圖、從已核准工具中選擇並解釋結果。動作層必須分開:地圖更新、草稿、寫入與交易不是同一種操作。證據層會記錄 trace、政策檢查、拒絕與結果。身分驗證、授權、資料隔離與稽核都適用於圖中的每一個邊界。跳過某個區域,只叫模型「小心一點」,等於把這些控制壓縮成一句指令。

為什麼檢索到的地點文字可以攜帶攻擊?

間接 prompt injection 會從使用者沒有直接輸入的內容進入系統。地點描述、上傳文件、合作夥伴 feed 或工具結果,都可能包含一條指令,要求新的權限、新工具或新的目的地。同時,這段文字也可能包含地址、營業時間等有用事實。host 應該擷取事實並丟棄指令。檢索到的文字是資料。檢索到的文字不是政策。

地點描述、文件、合作夥伴 feed 與工具輸出被標記為不可信任內容;授予權限、新增工具或變更目的地的嘗試被阻擋,而允許路徑只擷取事實並使用已授權工具。

左欄顯示四類不可信任來源,每一類都帶有範例指令。被阻擋的路徑拒絕授予權限、新增工具與變更目的地的要求。允許路徑只擷取事實、驗證事實,並維持在已授權工具範圍內。圖中的範例句子與範例 host 僅供示意,不是實際記錄的 Kaleidr 事故。

對公開地點內容,也應該像對合作夥伴文件一樣保持警覺。地理事實可以是真的,但旁邊仍可能有惡意指令。工具輸出重新回到系統時,也需要相同處理。聲稱「任務已完成」的結果,只是下一步檢查的資料。它不能新增目的地,也不能略過核准。真正負責拒絕的是結構化控制:工具 allowlist、schema 檢查,以及不會把檢索文字解讀成授權的權限系統。

為什麼要在模型看到紀錄前完成授權?

私人位置紀錄在任何資料列進入模型 context 之前,都應該通過租戶、角色、物件與欄位檢查。Kaleidr 的 private-location 指南建議先驗證使用者、解析租戶與允許物件,只檢索最少量的紀錄與欄位,並讓語言模型退出存取路徑 (Kaleidr, 2026)。同一份指南也警告,不要先取回整套私人資料,再讓模型決定哪些資料列可以查看。授權是一條查詢限制。授權不是提示詞中的一段文字。

一條授權路徑從已驗證使用者開始,經過租戶、角色、允許物件、允許欄位與最少紀錄後進入 Spatial AI;旁邊則是一條把完整私人資料庫送給模型的阻擋路徑。

上方路徑會在最少紀錄集進入模型前,完成使用者、租戶、角色、物件與欄位授權。下方路徑把完整私人資料庫送給模型,再要求模型判斷存取權限,圖中把這種做法標記為不安全。身分標籤與範例地圖僅供說明。正式環境中的檢查應使用 host 真正的身分系統與欄位政策。

平台憑證是和這條使用者路徑不同的控制。Kaleidr 的 Map API authentication 指南會把瀏覽器端可公開憑證與必須留在 client 之外的 server credential 分開,並說明 API capability scope 並不等同於應用程式的使用者授權或資料列授權 (Kaleidr, 2026)。有效的組織憑證不代表客戶 A 可以讀取客戶 B 的門市。host backend 仍需要解析終端使用者、租戶、物件與欄位。不要把 server secret 放進提示詞、trace 或瀏覽器程式碼。

為什麼工具不應該共用同一種權限?

只提供目前工作真正需要的最小工具集合,不要讓每一個工具擁有相同權限。讀取工具可以回傳地點、可用性或路線。地圖工具可以顯示地點、繪製路線或選取地點,而不修改業務狀態。草稿工具可以準備預約或派遣提案,並在 commit 前停止。寫入工具則會真正確認預約、送出派遣或修改紀錄。動作越難撤銷,驗證、授權、確認與稽核就應該越嚴格。

四個工具層級:讀取、地圖、草稿與寫入;從左到右,驗證、授權、確認與稽核逐步提高。

讀取層回傳地點、可用性與路線資訊。地圖層顯示地點、繪製路線並選取地點。草稿層準備預約或派遣提案,寫入層則正式提交預約、派遣或紀錄變更。圖中的工具名稱只是範例。正式工具目錄應該只公開 host 真正核准的操作。

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)。像完成預約這樣的 host 結果,仍然留在真正擁有交易的系統中。

模型提議依序經過 schema、使用者與租戶授權、政策、資料新鮮度、確認、執行與結果,每一個 gate 都有拒絕出口。

流程從不可信任的模型提議開始,在任何執行前檢查 schema、身分、政策與新鮮度。高影響動作可以要求確認。每個 gate 都有拒絕路徑,包括無效工具、schema 失敗、缺少授權、政策阻擋、資料過期或缺少確認。圖中的工具 arguments 只是範例。

在 commit 前立即重新驗證。可用性、價格、指派與權限可能在草稿與寫入之間發生變化。確認畫面應該顯示精確動作與精確目標,而不是模糊摘要。執行後,回傳一個 trace 可以保存、又不會複製密鑰或不必要座標的結果。任何檢查失敗都應該停止動作,並維持先前業務狀態不變。

為什麼可到達的 host 不等於已授權的 host?

網路範圍本身就是一項控制。Agent 可能嘗試呼叫 routing 服務、庫存服務、預約服務,或檢索文字中出現的任意 URL。只有提示詞外部強制執行的 allowlist 中的目的地才應該成功。任何可以抓取任意 URL 的工具,最後都可能被導向任務從未核准的 host。可到達表示網路路徑存在。已授權表示政策明確允許該工具前往該目的地。

一個 Spatial AI agent 被允許連到 routing 工具、庫存工具與預約工具,同時任意 URL、未知 API 與外部 host 都被阻擋。

圖中的核准路徑分別前往 routing host、庫存 host 與預約 host。任意 URL、未知 API 與其他外部 host 都會被阻擋。下方說明網路範圍應在提示詞外部強制執行。圖中的 host 名稱、內部名稱與範例地址僅供說明,不是 Kaleidr allowlist。

對推薦新 endpoint 的工具結果,也應套用相同規則。這種推薦屬於不可信任內容。文件要求加入新伺服器,不會自動更新 allowlist。如果真的需要新目的地,應由營運人員透過負責網路政策的變更流程加入。模型不能在一次執行過程中修改這份清單。

為什麼記憶需要自己的邊界?

持久 context 會延續到建立它的 turn 之後。地點備註、偏好或之前的路線,在下一次 session 可能很有用。同時,隱藏在檢索文字中的句子,也可能試圖變成長期政策,例如要求忽略授權。記憶寫入需要自己的 gate:允許的 writer、租戶檢查、可信來源,以及誰在什麼時間儲存該項目的紀錄。當前安全政策必須留在記憶之外。已核准的記憶可以為下一次回答提供資訊,但不能覆寫目前的授權檢查。

session 一阻止檢索到的指令成為記憶;session 二只使用目前安全政策與已核准記憶。

session 一顯示檢索文字嘗試寫入記憶,但未通過來源檢查。被阻擋的指令不會進入持久記憶。session 二把目前安全政策與已核准、限制在租戶範圍內的記憶結合使用。圖中的範例指令與地址僅供說明。

OWASP 在 2026 年 5 月 13 日的文章中把記憶視為攻擊面,並說明一般 agent 工作如何可能演變成 persistent prompt injection (OWASP, 2026)。實用控制包括限制 writer、租戶隔離、provenance、審查與刪除機制。不要讓每一個工具結果都自動追加到長期 context。應該用惡意紀錄、惡意工具結果,以及後續仍必須執行原始政策的 session 來測試這條路徑。

Spatial AI 安全應該如何放在 Kaleidr 旁邊?

把使用者身分、租戶授權、私人業務資料、網路政策、交易與事故回應留在 host 端。Kaleidr Enterprise 是提供 inference APIs、ranking systems 與 analytics 的 location-intelligence infrastructure,用於 Spatial 產品 (Kaleidr, 2026)。Kaleidr Chat 是建立在 host 已經渲染的地圖上的對話層。Map / Spatial APIs、語意地圖動作與 analytics context 屬於平台能力。如果整合使用 publishable browser credential 與 server credential,也仍然必須遵循前述的驗證分離。平台 scope 不能取代 host 對終端使用者的授權。

host 擁有一欄控制:身分、租戶授權、私人資料、網路政策、交易與事故回應;中間是 Kaleidr Spatial 層;下游是 host 的庫存、預約、CRM 與營運 API 系統。

左欄列出 host 擁有的控制,包括身分、租戶授權、私人資料、網路政策、交易與事故回應。中間欄列出 Kaleidr Enterprise、Chat、Map / Spatial APIs、語意地圖動作與 analytics context。下方說明平台 scope 不會取代 host 的終端使用者授權。這張圖只是架構示意,不代表 Kaleidr 經營 host 的身分提供者或預約系統。

NIST 在 2026 年 5 月 18 日發布的一份報告,整理了關於 AI agent 安全考量資訊徵詢所收到的回覆 (NIST, 2026)。該報告是意見摘要,被引用為 NIST Trustworthy and Responsible AI 800-5。它既不是控制 baseline,也不是 Kaleidr 認證。可以把它視為一個提醒:agent 安全仍在公開領域持續被定義,而真正的邊界仍需要落實到實際交付的產品中。

在給予真正的 agency 之前,先建立停止路徑。host 應該能夠停止一次執行、撤銷該執行正在使用的憑證、切斷它被允許的 egress,並取消尚未 commit 的寫入。保留 trace:誰發起呼叫、套用哪個租戶、執行哪項政策、提出哪些工具、哪些目的地被允許或拒絕、結果是什麼。不要把密鑰與不必要的精確座標放進這些紀錄。把 indirect injection、cross-tenant read、out-of-scope host、tool misuse、memory poisoning 當成接近正式環境的測試案例。通過提示詞測試,並不能證明這些案例都安全。

如需了解 location-intelligence stack,請查看 Kaleidr Enterprise;如需了解瀏覽器憑證與伺服器憑證的文件化分離,請閱讀 Map API Authentication。即使地圖動作看起來正確,也要把 host 授權、網路政策與交易檢查放在模型之外。

註:Kaleidr 在創意與開發工作流程中使用 AI 輔助工具進行圖像建立、內容優化與研究。

常見問題

prompt injection 是 Spatial AI 安全唯一的風險嗎?

不是。隱藏指令很重要,身分、私人紀錄授權、工具範圍、網路目的地、記憶、密鑰,以及停止執行的能力同樣重要。一個安全提示詞無法涵蓋這整份清單。

system prompt 能阻止藏在地點描述中的指令嗎?

不能。檢索到的地點文字、文件、合作夥伴 feed 與工具結果都可能攜帶指令。應擷取事實,並在模型之外強制執行權限、工具與目的地控制。

Kaleidr 會取代 host 授權嗎?

不會。平台憑證與 Spatial 能力不是終端使用者授權或租戶授權。要求可以使用哪個人員、租戶、物件與欄位,仍由 host 決定。

一個可到達的 URL 應該被視為已核准嗎?

不應該。工具只能呼叫 allowlist 允許的目的地,而且 allowlist 應該在提示詞外部強制執行。文件中出現一個新的 host,不會自動把它加入允許清單。

References

  1. 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/
  2. 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/
  3. 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
  4. 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
  5. 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/
  6. 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
  7. 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
  8. 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/
  9. 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
  10. 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}
}