TaxPinTaxPin

安全验证

为安全而建—— 再像攻击者一样测试

TaxPin 的安全不止于「我们做好了」。我们一次又一次站在攻击者的角度试图攻破它,并请外部机构做了独立审查。

租户隔离权限提升绕过 MFA劫持邀请滥用注册XSS · 机密攻击面

两层验证

我们把攻击自己的内部审查和独立的外部评估结合起来。

🧪

内部对抗性审查

独立团队用真实的攻击场景分多轮探查代码,并在数据库和服务器层面从结构上堵住发现的问题。

🛰️

外部审查——AEGISonar

通过 WebEASM 的 AEGISonar,对我们的攻击面和网页漏洞做了独立的外部评估。

内部对抗性审查——我们是怎么做的

不是「我们写代码很小心」——而是真的试着闯进去。使用不同方法的独立团队分多轮并行审查代码,每个发现都要经过独立的反驳尝试、确认确实能被利用之后才算成立。

我们的方法

多角度团队RLS 和授权(租户隔离)、服务器逻辑(STRIDE)、客户端和网页(OWASP)、数据/存储回归——四个角度同时从不同视角审查。
反复多轮不是一次,而是多轮的审查 → 修复 → 再审查。每一项新功能(自助注册、计费、免费试用)都会再跑一轮。
对抗性验证每个发现都由多位审查者独立质疑,只有真正能被利用的问题才会被确认,夸大的问题会被筛掉。
结构性修复不是打补丁——问题在结构层面被堵住:行级安全(RLS)、触发器和服务器端关卡,并保留可追踪的审查与修复记录。

我们测试过的攻击场景

我们实际尝试了以下攻击,并确认它们在数据库和服务器代码层面都会被拦住。

✓绕过租户隔离

试图读取或写入另一家事务所的客户、文件或请求。不只是读取——写入(INSERT/UPDATE)也绑定在事务所↔客户关系上并被拦住。

✓纵向权限提升

试图从员工升为负责人,或从客户变成事务所成员。角色判定和邀请认领都在服务器和数据库强制执行。

✓劫持邀请链接

试图用不符的邮箱认领邀请。登录邮箱必须与受邀邮箱一致。

✓绕过 MFA

试图只凭密码获取数据。一旦设置了验证因素,数据库就要求 aal2(两步验证)会话。

✓滥用通知/邮件转发和注入钓鱼链接

试图通过通知路径注入伪造的登录链接。发件人身份和链接域名都固定为可信的值。

✓滥用注册流程

匿名大量调用注册 API 来破坏服务或抢占事务所地址。通过服务器路由、频率限制和付款会话绑定来拦截。

✓机密泄露、XSS、开放重定向

检查服务器机密是否泄露到浏览器、用户输入是否被当作脚本执行,以及重定向是否被滥用。

✓伪造短信回调

试图伪造短信入站回调来改变短信同意状态。通过强制签名验证来拦截。

确认属实的问题都在数据库策略和服务器代码层面被堵住了,大多是在真正的客户使用之前。

坦诚的界线

安全是一个没有「完成」的持续过程。我们的内部审查基于静态分析和攻击场景,并辅以外部的 AEGISonar 评估。随着客户增多,我们会继续扩大测试范围。与其声称完美,我们选择坦诚说明验证了什么、是怎么验证的。

外部审查——WebEASM AEGISonar

只靠内部审查可能会有盲点,所以我们做了独立的外部评估。WebEASM 的 AEGISonar 独立检查了我们对外暴露的攻击面和网页漏洞。

5

外部审计结果 · 综合评级 5 级(安全)

严重/高危/中危问题为 0,SSL/TLS 安全,外部链接威胁为 0——查看完整结果

→