# Telegram · 秘密聊天：實作與示範

Canonical page: https://phishdestroy.github.io/TgWitness/zh-Hant/docs/reference/secret-chats/

請理解「秘密聊天」的獨立實作方式，試用虛構的介面，並檢視尚未解決的缺陷。

[Project context and measured scale](https://phishdestroy.github.io/TgWitness/docs/reference/overview/)

[Documentation index](https://phishdestroy.github.io/TgWitness/zh-Hant/llms.txt)

請理解「秘密聊天」的獨立實作方式，試用虛構的介面，並檢視尚未解決的缺陷。

[TgWitness](https://github.com/phishdestroy/TgWitness/blob/main/README.md) / [文件說明](https://github.com/phishdestroy/TgWitness/blob/main/docs/README.md)

**2026年11月6日狀態確認：**目前正開發一套獨立的「秘密聊天」實作 ，該實作尚未合併至已發布的 `main` 分支（版本 `3d23e52b647b`）。 一般收集器與 Takeout 匯出功能不會收集「秘密聊天」內容。 互動式網站示範使用虛構資料展示介面； 該示範無法啟用 Telegram 通訊功能。

## 實作位置

提交 `0e60f88e` 在本地開發分支 `fix/panel-routes-sessions` 中新增了「**來源 → 偽密鑰」**。已驗證的快照為 `bb8788fb685c`。 其實作包含 `tgwitness/secret_chats.py`、應用程式路由、 `tgwitness/static/views/secret-chats.js` 以及專用測試。

該分支中的可選 `secret-chats` 附加元件使用 [KiaroSama/Telethon-Secret-Chat](https://github.com/KiaroSama/Telethon-Secret-Chat)， 並固定於 `d87bf037b90060383c7b704d8a06ebb98c621c6f`。該函式庫在帳戶現有的 Telethon 授權基礎上， 實作 Telegram 的端對端聊天協定。 僅安裝該函式庫並不會為 `main` 補足缺失的整合功能。

## 開發介面的功能說明

| 操作說明 | 記錄的行為 |
| --- | --- |
| 透過使用者名稱或使用者 ID 建立聊天 | 發送請求；另一位參與者必須接受該請求。 |
| 接受傳入的請求 | TgWitness 將成為該聊天室的接收端點。自動接受為一項獨立設定，預設為關閉狀態。 |
| 傳送或接收訊息 | 新增一則發送或接收的 `secret_chat.message` 記錄，並在對話串中顯示該記錄。 |
| 接收附件 | 請對其進行解密，並依 SHA-256 儲存其位元組，同時記錄 `secret_chat.file`。 |
| 接收計時器或刪除通知 | 記錄該通知並保留先前擷取的內容。 |
| 檢視對話內容 | 顯示訊息、檔案、通知及金鑰視覺化圖表。開啟的分頁每四秒自動重新整理一次。 |

在包含此整合功能的開發版本中，操作員會針對 選定的帳號啟用該模組並進行連線。開始、接受及傳送操作均需 具備互動權限，且該帳號的唯讀保護必須關閉。另一位 參與者必須接受新的外發聊天。在上述版本的 已發布應用程式中，並未包含這些控制機制。

本文件僅涵蓋由此 TgWitness 會話所建立或接受的聊天室。手機上現有的 「秘密聊天室」仍保留於該裝置中。匯入會話並不會提供 其獨立的加密金鑰。「秘密聊天室」的金鑰資料與計數器儲存 於工作區金庫中；已保留的訊息與解密檔案則遵循一般 工作區儲存保護機制。

## 網站示範

該網站的「**嘗試秘密聊天**」情境展示了一段虛構的對話。它讓 讀者能夠發起請求、模擬其接受過程、發送範例訊息、接收 預設的回覆與檔案，並檢視計時器與刪除通知。收到的 請求亦可被接受。控制項會明確標示模擬的對等方動作。

此情境在瀏覽器記憶體中執行。重置或重新載入將清除其內容。它不會登入、 聯繫 Telegram、建立真實的加密金鑰，也不會變更已簽名的範例下載檔案。 其顯示的訊息並非經簽名的證據。此情境僅用於展示預期的 互動方式；並不代表開發實作已準備就緒。

## 檢查項目與待解決缺陷

現有的五項測試涵蓋加密金鑰的持久性、生命週期與訊息 記錄、傳入訊息接受政策、唯讀傳送及附件匯出。 這些測試在 11 月 6 日的審查中，針對固定版本的函式庫均通過測試。另外三項 合成檢查在同一快照中重現了缺陷：

| 發現 | 後果 |
| --- | --- |
| 關閉時會繞過 `read_only` | 當應阻擋互動時，「關閉路徑」可執行遠端操作。 |
| 重複檢測僅搜尋最近的 500 筆記錄 | 較舊的重播在重新啟動後可能會產生重複項目。 |
| 附件下載失敗會移除其待處理項目 | 暫時性故障會導致重試工作失效。 |

這些是已知缺陷，亦記錄於 [已發布的審計](https://github.com/phishdestroy/TgWitness/blob/main/website/validation/audit/REPORT.md)報告中。五項通過的測試並未 涵蓋這些失敗情況。本次審查使用了合成工作區並模擬了 Telegram 的操作；並未重現實際的握手過程，亦未驗證生產環境的部署情況。
