TgWitness / 文件說明

參考資料 / 安全性與專案

安全性與資料處理

威脅模型、存取模型、靜態機密資料、網路暴露風險、會話匯入,以及如何回報漏洞。

TgWitness 可在您的電腦或伺服器上運行。帳戶連線、公開代理伺服器清單維護以及可選的外部服務均設有 明確的路由政策。通知、時間戳記、異地副本及見證人 皆可分別進行設定。本頁面列出受保護的內容、保護方式,以及哪些事項 需由操作者自行處理。

領域 簡而言之
存取 管理員金鑰加上對帳戶/聊天室的範圍式存取權限、七項權限設定及可撤銷的連線;預設為 localhost
靜態資料的隱私 會話、API 配對、簽名金鑰及代理伺服器設定均採用 Fernet 進行加密
訊息與媒體 資料以未加密形式儲存:請啟用磁碟加密並設定嚴格的存取權限
完整性 每筆記錄均附有 SHA-256 雜湊鏈及 Ed25519 數位簽名
未涵蓋 系統管理員、外洩的控制面板憑證、擷取的完整性

有關漏洞通報,請參閱安全政策。

存取模式#

主控制面板憑證賦予完全控制權。其他使用者可獲得其專屬的 範圍限定存取權限:包含指定的工作區與聊天室、權限設定、有效期限、 IP 限制、登入次數限制以及可撤銷的連線。若存取權限僅限於特定聊天室, 即使已勾選相關權限,亦無法執行整個工作區的操作。 工作區共用同一個執行程序,且資料不會與主機管理員隔離。

該面板預設在 localhost 上監聽。透過瀏覽器登入時,系統會將存取 令牌兌換為會話憑證;瀏覽器會將其作為承載者令牌傳送。該令牌儲存於 sessionStorage 中,而非認證 Cookie。鎖定/登出會清除 瀏覽器會話。關閉瀏覽器或結束會話並不會停止資料收集。

已發行的憑證與會話憑據會以雜湊值形式儲存於加密保管庫中。 撤銷憑證將終止相關會話;權限變更則會影響後續 請求。已下載的檔案無法被收回。管理員亦可限制 自身的瀏覽器會話,但直接使用主控制面板憑證的腳本仍可 保留完整存取權限,並繞過這些瀏覽器會話限制。

驗證失敗會根據客戶端位址進行速率限制。IP 限制採用 應用程式所偵測到的位址;在依賴此機制前,請先確認 反向代理伺服器的運作行為。Witness 憑證仍為獨立的唯讀檢查點/狀態憑證。

試用存取#

/api/demo-access 是一個刻意未經身份驗證的引導程式,專用於明確 啟動且隔離的合成示範環境。它會發出一個獨立於進程生命週期的權限, 絕不會發出真實的面板代幣或 TGWITNESS_TOKEN 覆寫代幣。 其發行與使用需具備 迴路對等節點及主機,不得包含轉發標頭,亦不得進行跨來源請求。若存在 其他工作區或已授權的會話,則此路徑將被停用。活躍工作區絕不會 發行此權能。此示範無法連結帳戶或變更資料蒐集設定。

面板內容與匯出功能#

本頁面未使用任何外部字型、分析工具、CDN 資源或嵌入式遠端媒體。 來自 Telegram 的文字以純文字形式插入,而非 HTML。下載的附件 以二進位附件形式提供。JSONL 匯出檔保留原始字串;HTML 則會對其進行 轉義;可能成為公式的 CSV 儲存格會加上單引號作為前綴。

匯出檔案不包含驗證與簽署密鑰,但會刻意保留 所收集的來源元資料、識別碼,以及可能包含的個人或敏感內容。 原始來源元資料中可能包含 Telegram 存取雜湊值與檔案參照。

靜態資料的隱私#

Telegram API 憑證、StringSession 以及 Ed25519 私鑰均採用 Fernet 進行加密。預設情況下,其金鑰儲存於同一受保護的資料目錄中。 此舉可降低意外洩露明文的風險;但無法防範 能讀取整個目錄的攻擊者。TgWitness 不會對訊息內容及媒體檔案進行加密 。請使用磁碟加密並設定嚴格的作業系統權限。Unix 私鑰 檔案以權限模式 0600 建立;新建立的資料目錄則採用權限模式 0700。 現有目錄的權限不會被變更。Windows 會繼承目錄的存取控制清單 (ACL):請將其 限制為服務帳戶及經授權的管理員。

外部主金鑰#

對於新的資料目錄,TGWITNESS_VAULT_KEY_FILE 可提供外部隨機 主金鑰。 系統會透過 HKDF-SHA256 及獨立的隨機鹽值,為每個工作區衍生出不同的 Fernet 金鑰。 為進行復原,必須保留 vault.external.json 檔案。若主金鑰遺失或 錯誤,系統將無法運作。現有的本地金庫不會被靜默遷移。 正在執行的程序可存取該金鑰;此非 HSM 隔離機制。控制面板會 顯示所選模式,並明確說明訊息/媒體儲存內容不會 由應用程式進行加密。完整威脅模型請參閱「連線」、「代理伺服器」及「資料保護」 章節。

代理伺服器與網路路由#

代理伺服器設定會加密儲存於金庫中。密碼及 MTProxy 機密資訊 不會透過 API 傳回,也不會寫入證據記錄中。每個工作區皆可自行選擇 其 Telegram 路由及 IP 模式。

「隱藏 IP」模式會拒絕直接使用 Telegram 備用連線,並要求透過代理伺服器處理外部 HTTP 請求。明確選取的「備用連線」模式則允許在延遲後直接存取 Telegram; 「隧道/VPN」模式則允許直接連線。 選擇隧道 模式並不會安裝或驗證 VPN。這些設定不會控制所有裝置 流量、瀏覽器、套件管理員或由本地代理主機進行的 DNS 解析。

MTProxy 僅傳輸 Telegram 流量。外部請求可使用獨立的 SOCKS5/HTTP 代理、工作區的 SOCKS5/HTTP 路由,或允許的直接路由; 亦可將其停用。獨立見證器擁有其專屬的傳輸設定。 一般 SOCKS5/HTTP CONNECT 認證並不會由這些代理 協定本身進行加密。偽造的 TLS MTProxy 密鑰目前仍不被支援。

登入與會話匯入#

轉換後的 .tgwitness-session 檔案在 載入並儲存至金庫之前,會包含明文授權密鑰。離線命令列介面 (CLI) 接受經過審核的 Telethon 資料結構。 面板匯入功能另支援 Pyrogram SQLite、現代單一帳戶 TData ZIP, 以及已建檔的 JSON 輸入格式。此功能需經身份驗證,限四個檔案/8 MiB, 並在記憶體中處理上傳內容,無需解壓縮存檔或儲存原始檔案。 正規化的憑證僅會回傳給發出請求且已驗證的瀏覽器; 在 Telegram 授權成功後,這些憑證會儲存於加密的保管庫中。 請保護原始檔案與轉換後的檔案,並避免多個客戶端同時複製同一組授權憑證。

資料處理過程會驗證容器校驗和、本地解密雜湊值以及結構 長度。系統會暫時使用使用者提供的桌面版本地通行碼,且不會儲存該密碼。 此有限解析器無法保證所有桌面版皆相容。 QR 圖像在本地端生成,包含短效期的 Telegram 登入憑證,且 絕不會傳送至外部渲染服務。鎖定裝置、切換工作區、重新登入, 以及路由變更都會取消待處理的 QR 嘗試。重新載入或關閉分頁可能會導致 該嘗試維持待處理狀態直至過期。成功的 QR 登入仍會強制執行帳戶綁定。 一般 API 請求體仍限制為 16 KiB;經認證的匯入路徑接受 最多 12 MiB 的編碼 JSON,並會另行強制執行較小的解碼檔案限制。

登入代碼及 Telegram 兩步驟驗證密碼均不會被永久儲存。電話號碼/代碼雜湊狀態僅在 授權期間暫存於記憶體中。Telegram 連線會話賦予帳戶存取權限;切勿 將資料目錄、會話、憑證、金庫金鑰或私人簽署金鑰上傳至 GitHub。

日誌與傳輸#

預設的 API 驗證回應已進行替換,以避免回傳憑證 值。應用程式存取記錄功能已停用。請勿設定反向代理伺服器 以記錄 Authorization 標頭或請求正文。HTTP 會以明文傳輸憑證 和登入密鑰:只要連線離開 localhost,請務必使用 HTTPS 或 SSH 隧道。

完整性限制#

哈希鏈、資料庫觸發器及簽名機制可偵測特定修改; 但無法阻止本地系統管理員重寫並重新簽署日誌。 請將簽名檢查點及公鑰指紋儲存於獨立系統中。 「證據模式」與「異地副本」(兩者預設皆為關閉)會將檢查點雜湊值傳送至 時間戳記服務,並將加密副本傳送至 S3 相容儲存空間;詳見證 據格式說明。透明度日誌、HSM 支援的簽名以及正式 證據鏈認證功能尚未實作。

若您懷疑有問題#

請保留原始資料目錄,並使用另一份副本進行分析。請勿 在公開問題中包含私人的 Telegram 資料或憑證。本工具未聲稱 具備任何獨立的安全認證。