兩層驗證
我們結合了攻擊自己的內部審查與獨立的外部評估。
內部對抗性審查
獨立團隊以真實的攻擊情境分多輪探查程式碼,並在資料庫與伺服器層面從結構上堵住發現的問題。
外部審查——AEGISonar
透過 WebEASM 的 AEGISonar,對我們的攻擊面與網頁弱點進行獨立的外部評估。
內部對抗性審查——我們怎麼做
不是「我們寫程式很小心」——而是真的試著闖進去。採用不同方法的獨立團隊分多輪並行審查程式碼,每項發現都要經過獨立的反駁嘗試、確認確實可被觸及之後才成立。
我們的方法
我們測試過的攻擊情境
我們實際嘗試了以下攻擊,並確認它們在資料庫與伺服器程式碼層面都會被擋下。
✓繞過租戶隔離
試圖讀取或寫入另一家事務所的客戶、文件或請求。不只是讀取——寫入(INSERT/UPDATE)也綁定在事務所↔客戶關係上並被擋下。
✓垂直權限提升
試圖從員工升為負責人,或從客戶變成事務所成員。角色判定與邀請認領都在伺服器與資料庫強制執行。
✓劫持邀請連結
試圖用不相符的電子郵件認領邀請。登入電子郵件必須與受邀電子郵件一致。
✓繞過 MFA
試圖只憑密碼存取資料。一旦設定了驗證因素,資料庫就會要求 aal2(雙重驗證)工作階段。
✓濫用通知/郵件轉發與注入釣魚連結
試圖透過通知路徑注入偽造的登入連結。寄件者身分與連結網域都固定為可信任的值。
✓濫用註冊流程
匿名大量呼叫註冊 API 來癱瘓服務或搶占事務所網址。透過伺服器路由、頻率限制與付款工作階段綁定來阻擋。
✓機密外洩、XSS、開放式重新導向
檢查伺服器機密是否外洩到瀏覽器、使用者輸入是否被當成指令碼執行,以及重新導向是否遭濫用。
✓偽造簡訊接收 webhook
試圖偽造接收 webhook 來變更簡訊同意狀態。透過強制簽章驗證來阻擋。
確認屬實的問題都在資料庫政策與伺服器程式碼層面被堵住,大多是在真正的客戶加入之前。
坦誠的界線
安全是沒有「完成」的持續過程。我們的內部審查以靜態分析與攻擊情境為基礎,並輔以外部的 AEGISonar 評估。隨著客戶增加,我們會持續擴大測試範圍。與其宣稱完美,我們選擇坦誠說明驗證了什麼、又是怎麼驗證的。