營運與維護 · 實作指南
AI 整理完資料,CSV 導出仍需一道邊界
沿着一份虛構客戶跟進表,分清文字、數值和獲准使用的公式。
AAHouse 原創解說影片,採用 AI 輔助概念畫面、合成旁白及原創音樂。
簡體中文普通話逐字稿 · 英文逐字稿 · 台灣華語逐字稿 · 香港粵語逐字稿 · 澳門粵語逐字稿
下載按鈕之後
假設一家美國維修公司用 AI 整理諮詢內容,員工再下載表格跟進。網頁中的客戶備註只是文字,進入電子表格後卻可能被解釋為公式。風險不只在模型回答裏,也在導出邊界。熟悉的公司標誌和下載頁面,並不能證明其中每個單元格都可信。以下是虛構流程的設計評審,不是客戶事故報道,也沒有實測成效。

同一串字符,兩種含義
用無害的“=1+1”說明區別:作為備註,應顯示原文;若被當作公式,可能顯示結果二。OWASP 將不可信輸入進入 CSV 後被表格解釋為公式的風險稱為 CSV 注入,MITRE 也收錄了對應弱點。[1][2] 本文不提供外聯或執行命令的測試內容。

先決定每列是什麼
給導出列一份小契約:客戶備註和工單編號是文字;工時是經過校驗的數值;公式只來自明確批准的模板。不要讓 AI 猜哪一行可以執行公式。微軟說明,直接打開 CSV 會按當前默認格式解釋各列;導入路徑和列類型因此值得核對。[3]

不要把加引號當成保證
CSV 的字段分隔與公式解釋是兩個問題。OWASP 提醒,保存再打開可能改變引號或轉義處理,而且沒有適合所有表格軟件及下游系統的通用清洗方法。[1] 因此,開發評審應明確目標應用和版本,不能只憑首次打開沒有異常就宣佈完成。複核人員還需要知道哪些操作尚未測試,才能判斷例外是否可以接受。

兩種用途,分別交付
給員工閱讀的工作簿,可考慮由導出器明確寫入文字類型;給系統交換的 CSV,則保留約定的數據語義並說明解析規則。這是設計建議,不是說某種擴展名天然安全。需要改變顯示內容時,另存顯示值,避免悄悄改壞原始客戶備註或編號。交付說明應讓同事知道文件是用於閱讀還是系統交換,避免兩條路徑混用。

把保存再打開放進測試
用虛構備註、帶前導零的編號、負數、逗號、引號和換行組合成測試集。核對打開、保存、關閉、再打開,以及再次導入的結果。記錄目標應用、版本、設置和預期文字或數值。驗收既要檢查沒有意外公式,也要檢查內容與列邊界沒有損壞。

讓導出器承擔規則
模型可以幫助整理描述,卻不該成為導出安全判斷的唯一防線。建議把列契約、固定序列化邏輯與迴歸樣例放在導出層維護。模板改變或更換表格工具後重跑測試。遇到不支持的目標應用,先提供可審閱的替代展示,不要求員工忽略安全警告。

一次小範圍驗收
從一個常用導出開始,由業務負責人確認每列含義,開發者提交測試記錄,實際使用者檢查閱讀與後續導入。通過的範圍應寫明支持哪些工具與操作路徑,而不是籠統標註“已安全”。更少的人工重做是值得測量的目標,但上線前不能把它寫成已經取得的收益。
