TaxPinTaxPin

安全驗證

為安全而打造—— 再像攻擊者一樣測試

TaxPin 的安全不止於「我們做好了」。我們一次又一次站在攻擊者的角度試圖攻破它,並請外部機構進行獨立審查。

租戶隔離權限提升繞過 MFA劫持邀請濫用註冊XSS · 機密攻擊面

兩層驗證

我們結合了攻擊自己的內部審查與獨立的外部評估。

🧪

內部對抗性審查

獨立團隊以真實的攻擊情境分多輪探查程式碼,並在資料庫與伺服器層面從結構上堵住發現的問題。

🛰️

外部審查——AEGISonar

透過 WebEASM 的 AEGISonar,對我們的攻擊面與網頁弱點進行獨立的外部評估。

內部對抗性審查——我們怎麼做

不是「我們寫程式很小心」——而是真的試著闖進去。採用不同方法的獨立團隊分多輪並行審查程式碼,每項發現都要經過獨立的反駁嘗試、確認確實可被觸及之後才成立。

我們的方法

多角度團隊RLS 與授權(租戶隔離)、伺服器邏輯(STRIDE)、用戶端與網頁(OWASP)、資料/儲存回歸——四個角度同時從不同視角審查。
反覆多輪不是一次,而是多輪的審查 → 修正 → 再審查。每一項新功能(自助註冊、計費、免費試用)都會再跑一輪。
對抗性驗證每項發現都由多位審查者獨立質疑,只有真正可被觸及的問題才會被確認,誇大的項目會被篩除。
結構性修正不是貼 OK 繃——問題在結構層面被堵住:列層級安全(RLS)、觸發程序與伺服器端關卡,並保留可追蹤的審查與修正紀錄。

我們測試過的攻擊情境

我們實際嘗試了以下攻擊,並確認它們在資料庫與伺服器程式碼層面都會被擋下。

✓繞過租戶隔離

試圖讀取或寫入另一家事務所的客戶、文件或請求。不只是讀取——寫入(INSERT/UPDATE)也綁定在事務所↔客戶關係上並被擋下。

✓垂直權限提升

試圖從員工升為負責人,或從客戶變成事務所成員。角色判定與邀請認領都在伺服器與資料庫強制執行。

✓劫持邀請連結

試圖用不相符的電子郵件認領邀請。登入電子郵件必須與受邀電子郵件一致。

✓繞過 MFA

試圖只憑密碼存取資料。一旦設定了驗證因素,資料庫就會要求 aal2(雙重驗證)工作階段。

✓濫用通知/郵件轉發與注入釣魚連結

試圖透過通知路徑注入偽造的登入連結。寄件者身分與連結網域都固定為可信任的值。

✓濫用註冊流程

匿名大量呼叫註冊 API 來癱瘓服務或搶占事務所網址。透過伺服器路由、頻率限制與付款工作階段綁定來阻擋。

✓機密外洩、XSS、開放式重新導向

檢查伺服器機密是否外洩到瀏覽器、使用者輸入是否被當成指令碼執行,以及重新導向是否遭濫用。

✓偽造簡訊接收 webhook

試圖偽造接收 webhook 來變更簡訊同意狀態。透過強制簽章驗證來阻擋。

確認屬實的問題都在資料庫政策與伺服器程式碼層面被堵住,大多是在真正的客戶加入之前。

坦誠的界線

安全是沒有「完成」的持續過程。我們的內部審查以靜態分析與攻擊情境為基礎,並輔以外部的 AEGISonar 評估。隨著客戶增加,我們會持續擴大測試範圍。與其宣稱完美,我們選擇坦誠說明驗證了什麼、又是怎麼驗證的。

外部審查——WebEASM AEGISonar

只靠內部審查可能會有盲點,所以我們進行了獨立的外部評估。WebEASM 的 AEGISonar 獨立檢查了我們對外暴露的攻擊面與網頁弱點。

5

外部稽核結果 · 綜合評等 5(Safe)

Critical/High/Medium 問題 0 項,SSL/TLS 安全,外部連結威脅 0 項——查看完整結果

→