先講結論
線上 JSON、YAML、CSV 轉換工具是否安全,取決於一件事:你貼上去的資料有沒有被傳送到伺服器、有沒有被存下來。如果所有處理都發生在瀏覽器端 (browser-side),資料根本不會離開你目前的分頁。但市面上也有工具會把貼上的內容悄悄上傳、寫入日誌,甚至公開給外人看。只看首頁是分辨不出來的,所以貼上機密資料之前,自己動手確認一下,才是安全的基本功。
這篇文章會教你:一套適用於任何轉換工具的檢查清單、一個 30 秒就能完成的 DevTools 驗證步驟、以及哪些類型的資料絕對不該貼到沒驗證過的網頁工具上。
判斷的準則很簡單:
- 公開的、不涉機密的範例資料,用任何評價好的格式化工具都行。
- 含有認證憑證、API 金鑰、客戶資料或內部設定的東西,只用在瀏覽器端處理經過驗證的工具,或者離線處理。
- 拿不定的話,當作危險來處理,改用本機方案。
需要一個現在就能確認是瀏覽器端處理的轉換工具的話,FormatArc JSON Formatter 斷網也能正常運作,因為它根本不會把輸入傳到任何地方。
為什麼現在這個問題特別重要
2025 年 11 月,資安研究機構 watchTowr 發表了一份調查報告,對象是兩個廣受使用的線上格式化工具 JSONFormatter 和 CodeBeautify。這兩個網站都提供了「儲存並分享」功能,以及一個「Recent Links」頁面。分享用的連結遵循可預測的 URL 模式,意思是只要寫個簡單的爬蟲做總攻擊 (enumeration),就能讀到所有使用者存下來的內容。
研究過程中收集到超過 80,000 筆提交、超過 5GB 的資料。裡面包含 Active Directory 認證、資料庫和雲端存取金鑰、私人金鑰、CI/CD 管線的密鑰、JWT 和 API Token、支付閘道認證,甚至還有 AWS Secrets Manager 的完整匯出檔案。受影響的組織橫跨政府、銀行、醫療、保險、航太、電信等行業。完整內容可參考 watchTowr 的調查報告在新分頁中開啟。
有一個細節讓這件事的教訓非常明確:研究團隊上傳了設定為 24 小時後失效的 Canary Token,結果在連結已過期 48 小時後,仍有人存取了那些 Token。攻擊者已經在持續爬取這些平台,並即時嘗試他們找到的憑證。
所以重點不是「那兩個網站特別爛」。重點是:只要你把資料貼到一個會傳送或儲存輸入的工具裡,就可能在資料洩漏、設定錯誤、被入侵、或者一個你根本不知道存在的功能中,以同樣的方式暴露。解決方法是用架構上根本不可能洩漏的工具,並學會分辨它們。
三種資料處理模型
線上轉換工具依據資料的處理和儲存方式,可以分為三種模型。這個結構上的差異就是安全性的核心。
| 處理模型 | 處理位置 | 是否存到伺服器 | 典型風險 |
|---|---|---|---|
| 伺服器處理型 (上傳式) | 傳送到服務商的後端伺服器 | 通常會,至少暫時會 | 高:傳輸攔截、伺服器日誌、入侵、資料保留 |
| 儲存分享型 | 傳送到伺服器後,以 URL 形式刻意保留 | 設計上就是永久儲存 | 極高:公開連結、可預測 URL、無限期保留 |
| 瀏覽器端完結型 (client-side) | 在你的瀏覽器分頁內部 | 不儲存 | 低:什麼都不傳、什麼都不存 |
伺服器處理型必須收到你的資料才能處理。即使服務商很誠信,資料也會在傳輸途中、記憶體中、存取日誌中、暫存檔案中留下痕跡。一個設定失誤就足以讓所有東西暴露。
儲存分享型更危險,因為儲存你的輸入是這個功能的「目的」而不是「意外」。前面提到的 watchTowr 調查中洩露的就是這個模型。「用連結分享格式化的 JSON」這個便利功能,就是讓 80,000 筆提交變成公開可讀的同一個機制。
瀏覽器端完結型則是載入一次程式碼之後,所有轉換都在你瀏覽器內的 JavaScript 引擎上執行。輸入的資料不會跨越網路。伺服器上沒有東西可以洩漏,因為從來就沒有傳送過任何東西。
洩露的真正原因:「傳送」和「儲存」
精確理解什麼才會真正導致資料暴露,有助於避開風險。很多人以為的安全機制,其實跟防止洩露一點關係都沒有。
資料被傳送。工具把你的輸入 POST 到伺服器去做處理的那一刻,資料的管控權就離開你的手中了。之後伺服器怎麼處理,你無法控制。
資料被儲存。就算工具宣稱「處理完馬上刪除」,web 伺服器的存取日誌、含有 payload 的錯誤日誌、快取系統中仍可能留有資料。儲存分享功能則是刻意、甚至永久地保留。
存在分享 URL。工具如果會生成一個指向轉換結果的連結,代表結果存放在伺服器上。如果 URL 格式可以猜測,就能被大量列舉。
條款許可再利用。一些免費工具和許多 AI 整合工具,在條款中保留了將提交內容用於分析或模型訓練的權利。一旦密鑰進入了訓練資料集或分析管線,就再也取不回來了。
注意這個清單上「沒有」什麼。HTTPS 不在上面。HTTPS 加密的是瀏覽器與伺服器之間的通訊,可以防止途中的竊聽。但資料到達伺服器之後發生的儲存、記錄、分享、管理者檢視,全都在加密的另一側。一個有完美 HTTPS 憑證的網站,仍然可以把你貼上的所有內容洩漏出去。
怎麼自己確認工具是瀏覽器端處理
這部分是多數線上工具不會教你、但對開發者最有用的技能。你不需要相信隱私政策,可以自己查。
在瀏覽器中打開轉換工具,開啟開發者工具 (按 F12,或右鍵選「檢查」),切到 Network 分頁。
步驟一:離線模式驗證
- 在 Network 分頁上方的節流 (Throttling) 下拉選單中選取「Offline」。這樣頁面就與網路完全斷開了。
- 貼上要轉換的資料,執行轉換。
- 觀察結果。如果斷網後轉換仍能正常執行,代表轉換邏輯是在瀏覽器端運行的。伺服器處理型的工具會因為連不到後端而停住或報錯。
步驟二:線上狀態的網路請求驗證
離線能動代表轉換邏輯在本地,但不能完全排除「恢復連線後在背景偷偷上傳」的可能。所以還要在線上狀態再確認一次。
- 保持網路連線,清空 Network 分頁的記錄。
- 貼上資料,點擊轉換。
- 檢視新出現的請求。真正瀏覽器端完結的工具不會產生包含你輸入資料的新請求。如果看到 POST 請求或 payload 中包含了你貼上的內容,不管宣傳文案怎麼寫,這個工具就是在外傳資料。
用 FormatArc JSON Formatter 跑這個測試,離線模式下轉換照常運作,線上模式也不會產生包含輸入資料的請求。因為整個網站就是靜態檔案加瀏覽器 JavaScript,根本沒有後端可以呼叫。
適用於任何轉換工具的 5 項檢查
第一次使用某個網頁工具、要貼上工作資料或設定之前,花 1 分鐘確認以下 5 點:
- 是否明確定義了 client-side 處理。「你的資料是安全的」這種模糊說法沒有意義。要看到明確說明處理在瀏覽器端完成、不會傳送到伺服器,然後自己驗證。
- 是否通過 DevTools 驗證。用上面離線和 Network 日誌的步驟,親自確認資料沒有被傳送。
- 是否有儲存或分享功能。有「儲存」「分享連結」「最近項目」這類功能,代表輸入可能被存在伺服器上。2025 年那起外洩就是這個功能造成的。機密資料絕對不要用。
- 是否有第三方追蹤器或廣告。廣告網路和外部分析腳本跟你的資料跑在同一個頁面裡。第三方腳本越少,攻擊面越小。
- 載入後斷網是否還能用。載入頁面後切斷網路,確認轉換功能仍然正常。需要網路才能完成轉換的工具,代表有伺服器端在處理。
| 安全性項目 | 應該確認的事 |
|---|---|
| 瀏覽器端處理 | 轉換在瀏覽器中執行,可用 DevTools 驗證 |
| 不需要上傳檔案 | 只有貼上,或本機讀取檔案但不離開頁面 |
| 沒有儲存分享 URL | 不在伺服器端保留輸入 |
| 無追蹤器與廣告 | 頁面上的第三方腳本降到最低 |
| 離線可運作 | 載入後斷網仍能正常使用 |
| 開源且靜態部署 | 任何人都可以檢視和稽核前端程式碼 |
這些條件都滿足、且通過 DevTools 驗證的工具,處理機密資料時可以比較放心。
瀏覽器端比較安全,但不是自動安全
瀏覽器端工具比伺服器處理型安全是確定的,但不能宣稱零風險。即使轉換是在本地執行,同一個頁面上的其他程式碼仍然可能讀到你貼上的內容:
- 廣告和分析腳本在頁面中執行,可以存取頁面內容。
- 從外部 CDN 載入的第三方腳本具有與頁面相同的執行權限。
- 瀏覽器外掛 (extension) 可以讀取和修改你造訪的所有頁面。
- XSS (跨網站腳本) 漏洞或第三方 npm 套件被污染,可以讓原本在本地運作的工具外傳資料。
所以「第三方腳本少」是實質的安全特性,不是裝飾。開源工具之所以重要,是因為頁面實際行為可以被稽核。以純靜態檔案部署、沒有分析工具、沒有廣告網路、沒有儲存功能的轉換工具,攻擊面遠比塞滿追蹤器的工具小——即使兩邊都是在瀏覽器裡做轉換。另外,瀏覽器本身和外掛也要保持可信,因為惡意外掛可以無效化其他所有防護。
機密資料的安全替代方案
如果對網頁工具的安全性沒有把握,或者資料機密到不想賭的時候,本機有不少選擇。
1. 已驗證的瀏覽器端網頁工具
確認過只在本地瀏覽器運作的工具,即使處理機密輸入也沒問題,因為什麼東西都不會離開你的機器。FormatArc 的所有工具都是這個設計。JSON Formatter 不需要上傳檔案、完全在瀏覽器內執行、斷網也照常運作。機密的 Notion 頁面要轉成 Markdown 的話,Notion 匯出 Markdown 整理 中 HTML 匯出到瀏覽器內轉換的路徑也適用同一原則,全程不需要上傳。
2. 命令列 CLI 工具 (jq、yq)
jq是處理 JSON 資料的標準 CLI 工具,可以做格式化、過濾、查詢。yq支援 JSON 和 YAML 之間的相互轉換。
兩者都是單一執行檔,完全在你的機器上運行,不會有任何網路通訊。JSON 與 YAML 互轉的實務用法可參考 JSON 轉 YAML 比較 與 YAML 轉 JSON 指南。但有件事要注意:工具本身安全,不代表 shell 歷史 (~/.zsh_history、~/.bash_history)、作業系統剪貼簿、CI/CD 建置日誌中不會留下明文密鑰。處理完機密資料後記得清理這些痕跡。
3. 程式編輯器內建功能
VS Code 用一個快捷鍵 (Windows/Linux: Shift + Alt + F,macOS: Shift + Option + F) 就能即時格式化 JSON 和 YAML。IntelliJ、Sublime Text 等主要編輯器也內建格式化功能,不需要任何網路通訊。
4. 用佔位值代替真實資料
如果只是要找 JSON 語法錯誤或理解結構,沒有必要把真實的憑證貼上去。把重要的密碼或 Token 值替換成 test_token、example_password 之類的字串,效果一樣。常見的 JSON 解析錯誤原因與修法在 JSON 解析錯誤的原因與修法 中整理,安全地練習排版技巧則可用 JSON 排版線上工具 的公開範例。
FormatArc 為什麼是架構上安全的
FormatArc 的設計不是「降低洩漏可能性」,而是讓洩漏在架構上不可能發生。每個主張都可以用開發者工具自己驗證:
- 100% 瀏覽器端:所有轉換都在你分頁內的 JavaScript 中執行,輸入不會傳到任何伺服器。
- 沒有上傳步驟:只有貼上,不存在把資料傳到別處的上傳 API。
- 沒有後端伺服器:整個網站是 CDN 上的靜態檔案 (HTML、CSS、JS)。沒有接收、處理、儲存輸入的伺服器,就沒有可以洩漏、記錄日誌或被入侵的目標。
- 沒有儲存分享功能:沒有「Recent Links」頁面,不會生成資料的分享 URL。2025 年外洩的根本原因,在設計上就被排除了。
- 可驗證:在 DevTools 中切到離線模式,工具照常運作;看 Network 分頁,看不到任何包含輸入資料的請求。
FormatArc 不要求你只憑信任,而是提供你可以自己技術確認的安全性。
貼上前的最後確認
- 這份資料是機密的嗎 (認證憑證、API 金鑰、客戶資料、內部設定)?是的話,不要貼到未驗證的工具上。
- 你用 DevTools 做過離線和 Network 日誌的測試嗎?沒做就當作未驗證。
- 工具有儲存、分享或「最近項目」功能嗎?有的話,機密資料不要用。
- 可以用本機方案代替嗎 (已驗證的瀏覽器端工具、jq/yq、編輯器)?可以的話優先用本機。
「能不能確認資料沒有被傳送到伺服器?」如果你能對這個問題自信地回答「能」,那線上轉換工具就是快速、方便且安全的工具。如果不能,就當作最壞情況,離線處理。
常見問題
我不小心把機密資訊貼到線上工具了,怎麼辦?
當作已經洩漏處理,立即輪換 (rotate):重新產生 API 金鑰、修改密碼、重新簽發 Token、撤銷並重新發行憑證。watchTowr 的研究顯示攻擊者會即時爬取這些平台的資料,所以要假設資料已經被擷取。密鑰離開你手中之後,唯一確定的對策就是棄用和重新發行。
公司要不要全面禁用線上轉換工具?
一刀切禁用很難執行到位,反而會讓同仁轉向更不可控的 shadow IT。更好的做法是:機密資料使用已驗證的瀏覽器端工具和本機方案 (jq、yq、編輯器功能),教導 DevTools 驗證方法讓每個人可以自己確認,未驗證的線上工具只限公開的非機密資料。
有 HTTPS 的網站就安全了嗎?
沒有。HTTPS 加密的是傳輸途中的通訊,防止竊聽。但資料到達伺服器之後的儲存、記錄、生成分享連結、管理者檢視,HTTPS 完全管不到。完美的 HTTPS 網站仍然可以把你貼上的所有內容洩漏出去。真正保護你的是資料從來沒有被傳送。
離線能運作就代表 100% 安全嗎?
離線能運作代表轉換邏輯在本地執行,這是必要條件但不是充分條件。理論上存在「本地處理完之後、恢復連線時在背景把副本傳上去」的頁面。完整的驗證要在線上狀態看 Network 分頁,確認沒有包含輸入資料的請求。兩項測試都通過、且沒有儲存分享功能的工具,才可以信任。
jq 或 yq 這類 CLI 工具是不是比網頁工具安全?
就轉換處理本身而言是的。jq 和 yq 完全在你的機器上執行,不傳送任何東西。但 CLI 環境中 shell 歷史、剪貼簿、CI 日誌可能留存機密資料的明文,處理真正機密的資料時要記得清理。已驗證的瀏覽器端工具不需要額外安裝軟體就能達到類似的安全性。
總結
- 線上轉換工具的安全性取決於:輸入資料有沒有被傳送到伺服器。
- 2025 年 watchTowr 事件中,儲存分享功能加上可預測的 URL,導致大規模資料洩露。
- 用 DevTools 的離線模式和 Network 分頁,30 秒就能自己驗證工具是否是瀏覽器端處理。
- FormatArc 的轉換工具沒有後端伺服器、不傳送資料,是 100% 瀏覽器端完結的設計,斷網也能正常運作。

