安全性
Parla 會使用你的麥克風,因此在設計上就力求難以被濫用。你的聲音絕不會離開你的裝置,擴充功能只要求盡可能少的權限,我們發布的每一段程式碼在送到你手上之前都經過版本鎖定、掃描和測試。
在你使用 Parla 時
- 你的聲音在你的裝置上、在瀏覽器內完成降噪。Parla 沒有接收音訊的伺服器,也沒有可能被盜的帳號或密碼。
- 引擎是我們自己的程式碼,以 Rust 撰寫,不使用第三方程式庫,並以 WebAssembly 形式在瀏覽器的沙箱中執行。AI 模型是資料(數字),而不是程式:模型作者的任何程式碼都不會在你的電腦上執行。
- 擴充功能只要求清理麥克風聲音所需的權限:儲存自己的設定,以及在你使用麥克風的網頁中執行。它自己的頁面只執行自己的指令碼(嚴格的內容安全政策,Content Security Policy)。
- 網頁只能透過一個狹窄的管道存取擴充功能:它們只能取得引擎的檔案,別無其他;它們傳送的所有內容都會經過檢查並限制大小。
- 報告預設為關閉,除非你主動開啟。報告是匿名的,每個欄位都列在我們的文件中。
從我們的程式碼到你的瀏覽器
- 建置所用的一切都鎖定到確切版本,並以指紋驗證:GitHub actions 依提交,容器映像檔依摘要,下載檔案依 SHA-256,npm 和 Python 套件依鎖定檔。
- 發布未滿 3 天的版本一律不用。大多數惡意套件版本會在幾天內被發現並移除,所以我們先讓它們被揪出來。自動更新會等待一週,每次更新都要先建置並測試才會被接受。
- 絕不允許套件執行安裝指令碼,每次建置都會驗證 npm 登錄檔的簽章。
- 只有我們的自動化流程會從主分支建置發布版本。商店和 npm 的憑證保存在受保護的環境中,只有發布步驟可以使用,而且建置過程不會保留存放區的存取權杖。
每次變更都會檢查
- 靜態分析:CodeQL 檢查 TypeScript、Rust 引擎和建置工作流程;zizmor 稽核工作流程。
- 每次變更時以及每週對網站進行動態掃描(OWASP ZAP)。
- 加入含已知漏洞套件的變更會被封鎖,Dependabot 警示會監看每個鎖定檔。
- 啟用推送保護的祕密掃描:GitHub 會拒絕任何包含密碼或金鑰的提交。
- 嚴格型別的程式碼(TypeScript 和 Python),並在每次發布前於 Chrome 和 Firefox 中進行自動化測試。
發現問題?
請私下告訴我們:在 GitHub 上回報漏洞。這樣就能在公開之前修正。
本頁的一切都可以查證:程式碼、建置流程和安全性檢查都是開放原始碼。發布版本如何建置和檢查