跳轉至
資源版本5.7.3伺服器版本1.20.1 · Forge

🔒 安全與隱私稽核:Verity JE#

本頁由 src/security_audit.py 對 jar 做純靜態分析自動草擬([jar靜態][反編譯])。 標「未確認」者需人工實測或反編譯確認。

風險等級:⚠️ 高 標記:麥克風擷取、雲端 API 外聯、本機服務端點 (可離線)、內含原生程式庫 (8 個)

  • 授權All Rights Reserved
  • 更新檢查 URL:無

能力總覽#

能力 偵測 嚴重度 出現於模組自身程式碼
麥克風/音訊輸入擷取 ✔️(2 類) high ✅ 是
主動 HTTP 連線 ✔️(1 類) high ✅ 是
載入原生程式庫 ✔️(2 類) medium (僅相依庫)
解壓/寫入暫存檔 ✔️(2 類) medium ✅ 是
Runtime 存取 ✔️(3 類) low ✅ 是
音訊輸出播放 ✔️(1 類) info ✅ 是
作業系統語音合成 (Narrator) ✔️(1 類) info ✅ 是

外部端點#

雲端 API 端點

  • https://api.groq.com/openai/v1/
  • https://openrouter.ai/api/v1/
  • https://api.groq.com/openai/v1/audio/transcriptions

本機服務端點(可離線/自架)

  • http://127.0.0.1:4000/v1/
  • http://127.0.0.1:8880/v1/
  • http://127.0.0.1:9000/v1/
其他未分類 URL
  • https://youtu.be/_i4O7pyMlks ×2

原生程式庫(8 個,共 118.7 MB)#

原生 .so/.dll/.dylib 會在執行期被解壓到暫存目錄並以 System.load 載入執行。

檔案 平台 大小
sherpa-onnx/native/linux-x64/libonnxruntime.so linux-x64 23.9 MB
sherpa-onnx/native/linux-x64/libsherpa-onnx-jni.so linux-x64 4.9 MB
sherpa-onnx/native/osx-aarch64/libonnxruntime.1.24.4.dylib osx-aarch64 33.8 MB
sherpa-onnx/native/osx-aarch64/libsherpa-onnx-jni.dylib osx-aarch64 4.0 MB
sherpa-onnx/native/osx-x64/libonnxruntime.1.24.4.dylib osx-x64 28.3 MB
sherpa-onnx/native/osx-x64/libsherpa-onnx-jni.dylib osx-x64 4.3 MB
sherpa-onnx/native/win-x64/onnxruntime.dll win-x64 15.3 MB
sherpa-onnx/native/win-x64/sherpa-onnx-jni.dll win-x64 4.3 MB

打包的大型二進位/模型#

檔案 大小
assets/verity/tts/piper.zip 64.3 MB
assets/verity/sherpa-model.zip 59.2 MB

反編譯查證:實際行為與預設值#

以下每條都對照反編譯原始碼,標出檔案與行號。[反編譯]

出廠預設不會把你的資料送出去#

設定 預設 意義
apiKey 空字串 沒有金鑰 → 所有雲端呼叫失敗。VerityConfig.java:58
useLocalTts true 語音合成走本機 Piper,不外送。:56
useLocalStt false 語音辨識指向雲端(但無金鑰即無效)。:57
aiProvider GROQ 對話大腦預設指向 Groq。:60

要讓它真的運作,你必須自己去申請 Groq API 金鑰並貼進設定。這是使用者的主動選擇,不是安裝就發生。

貼上金鑰之後,會送出什麼#

以下三項皆為反編譯逐條核對 [反編譯]

  1. 麥克風:按住 Talk to Verity 才錄、放開才送,不是常時監聽。KeybindHandler.java:38-49 音訊送 Groq whisper-large-v3-turbo 轉錄。AiAPI.java:386,445-450
  2. 打字聊天:Verity 在世界中生成後(hasSpawned),每一則聊天都會送給 AI——requireVerity 預設 false,代表不必提到它的名字ModEvents.java:863-866VerityConfig.java:49
  3. AI 可以回頭索取遊戲狀態再送第二輪:座標、背包、玩家名、生命值、光照、難度、附近實體,以及 get_players_mods(你裝了哪些模組)。完整動作清單寫在它的 system prompt 裡。AiAPI.java:138ModEvents.java:1198

⚠️ 多人伺服器:玩家不會知道#

聊天外送發生在伺服器端、用主機設定的金鑰。伺服器主人貼了金鑰,全服所有人的聊天都會流向 Groq,玩家端沒有任何提示。想收斂就把 requireVerity 設為 true(只有含 "verity" 的句子才送)。麥克風則是 client-only,各玩家用自己的設定。

兩個會嚇到人的預設值#

  • canCrash = true — Verity 可以把你踢出伺服器VerityConfig.java:47
  • killVillagers = true — 它會殺村民VerityConfig.java:52

(這兩項是刻意的恐怖演出,不是 bug;但開服前請先知道。)

怎麼設定成全離線#

use_ollama = true(本機 LLM,:63)+ useLocalStt = true(用內建的 sherpa whisper tiny.en,:57)+ useLocalTts 本來就預設本機(:56)。三項都設好後,上表的雲端端點不會被使用;模組改打本機服務 :4000 LiteLLM/:8880 Kokoro TTS/:9000 Whisper。

沒有發現的東西(也重要)#

  • 遙測/analytics SDK、 Runtime.execProcessBuilder反射濫用。
  • 原生程式庫解到作業系統暫存目錄執行,用完清除;模型檔解到 config/verity/sherpa-model/

一個衛生問題#

API 金鑰以明文存在 config/verity-client.toml(Forge TOML)。分享設定檔或截圖前記得先移除。

結論#

Verity JE 會存取麥克風、在你提供金鑰後會把語音與聊天送到第三方雲端(Groq)、並打包 8 個原生程式庫。但它出廠預設不外送(無金鑰)、提供完整的全離線路徑、且沒有任何遙測——是可以放心安裝、但安裝前該知道自己在同意什麼的模組。

開伺服器的人請特別注意:金鑰貼在伺服器上,等於替全服玩家做了「聊天送雲端」的決定。

本頁機器草稿由 src/security_audit.py 靜態分析產生 [jar靜態];上方查證段為反編譯逐條核對 [反編譯]。互動與敘事行為尚未實機驗證,待 L3 真玩後補徽章。