先说我们的建议。 Proxy Mail QA 是我们做的,所以我们并不中立。对于银行、借贷、投资、保险或支付类注册,我们建议只在审查的一小部分中使用它:邮件(验证、邮件验证码和密码重置)、用于资格规则的指定年龄和国家的测试账号,以及用于表单字段的特殊名字和密码。金融注册中真正困难的部分它做不了:短信验证码、身份核验(KYC)、支付和银行账户关联。它不是合规审查,也不是法律建议,并且尚未通过 SOC 2 等独立审计。请只在预发布环境中使用,且只用虚构的测试数据。
金融注册有什么不同
- 资格要求。 通常需年满 18 岁,且只限你持有牌照的国家。
- 真实姓名。 账号上的姓名之后要与身份证件一致,所以表单必须接受人们真实的姓名。
- 更强的登录。 更长的密码、第二重验证,有些地区法律要求强客户认证。
- 邮件容易被仿冒。 你的品牌是钓鱼攻击的目标,所以邮件必须明显是真的,链接只能指向你的域名。
- 不泄露信息。 表单不应确认某人是否已有账号。
- 留存记录。 会有人问注册是怎么测试的。
Proxy Mail QA 能帮你检查的内容
年龄和国家规则
create_address 可以生成指定年龄(under18、turns18tomorrow、turned18today、adult、over21)和 country(如 GB、DE 或 US)的测试人设,出生日期和国家相互匹配。检查:
- 未满 18 岁的人被拒绝,给出清楚的理由,且不留下半成品账号。
- 明天满 18 岁的人今天被拒绝;今天刚满 18 岁的人被接受。
- 每个你不服务的国家都被拒绝,每个你服务的国家都显示正确的条款。
Proxy Mail QA 插件中的 age-and-region-testing 技能会运行这些检查,并为每个账号打上标签供下次运行使用。
人们真实的姓名
get_name_variants 提供应接受的名字(O'Brien、Smith-Jones、Søren、Łukasz、李、محمد、प्रिया)、应拒绝的名字(空、只有空格、超过最大长度),以及必须按文本存储的 HTML 或 SQL。拒绝 D'Angelo 的表单要么把真实客户拒之门外,要么迫使他们输入一个日后与证件不符的名字。
密码策略
用 get_password_variants 测试你选定的规则:恰好最小和最大长度、少一位、多一位、各类符号、中间带空格,以及当最大长度超过 72 时,前 72 字节相同的两个密码(使用 bcrypt 哈希的应用只读取前 72 字节,所以第二个密码不能登录第一个账号)。如何选择规则,参见注册表单的密码应该多长?
明显是真的邮件
check_email 会检查收到的每封邮件:
- SPF、DKIM 和 DMARC 通过,让收件箱能区分你的邮件和仿冒邮件。
- 验证或重置链接指向你的域名(
expect_host),预发布环境不会指向生产环境,也没有链接指向localhost或纯http。 - 写明有效期。 当验证码或链接邮件没有说明何时失效时,检查会给出警告。服务器是否遵守所说的有效期需要你自己测试:等过期后再试验证码。
不泄露信息的文案
- 用已注册的地址注册:页面显示的内容应与新地址相同,例如“请查看你的邮箱”。
- 为没有账号的地址申请重置密码:页面显示的内容应与有账号的地址相同。
expect_no_email或count_emails会显示是否发送了邮件以及内容。
不能重复使用的链接和验证码
auth-regression-pack 技能(或 auth_regression_pack 提示词)会第二次打开验证或重置链接,并在发送新的重置链接后打开旧的。两者都应失败。wait_for_code 配合 unused: true 可以获取第二个验证码,而不会再次取到第一个。
测试记录
start_run 和 finish_run 会为每次会话生成 Markdown 报告,可用于拉取请求或变更记录;应用中的 QA 报告可下载为 CSV 或打印为 PDF。
Proxy Mail QA 做不了的事
| 注册环节 | 替代方案 |
|---|---|
| 短信验证码、验证器应用、通行密钥 | 短信服务商的测试号码或测试模式;验证器库的测试辅助工具 |
| 身份核验(KYC) | KYC 服务商的沙盒,配合其测试证件和测试人员 |
| 银行卡、支付和银行账户关联 | 支付或开放银行服务商的测试模式和测试账号。Proxy Mail QA 从不填写银行卡、银行或证件字段 |
| 合规(反洗钱、消费者责任、牌照) | 你的合规团队或律师。这里的内容都不是法律建议 |
| 安全测试 | 渗透测试。检查 HTML 是否按文本存储只是一个信号,不是测试 |
| 欺诈和滥用规则 | 欺诈防控工具的测试模式 |
在金融公司使用之前
- 只用测试数据。 人设都是虚构的。不要把真实客户的姓名、出生日期或地址填入测试账号。
- 数据存储位置。 测试邮件和账号存储在美国(AWS us-east-2),由托管方静态加密,但不是端到端加密。请把测试收件箱当作测试数据对待。
- 尚未提供的功能。 Proxy Mail QA 账号的两步验证登录,以及 SOC 2 等独立安全审计或认证。如果你的安全团队要求测试工具具备其中任一项,请先查看安全页面了解最新情况。
- 用于预发布环境,而非线上。 它适用于你开发的或获准测试的应用。PayPal、Coinbase、Binance 等少数大型服务被直接屏蔽。
- 你的邮件服务商在预发布环境中必须能发送到任意地址。 在沙盒或测试模式下,例如获得生产权限之前的 Amazon SES,只能发送到你验证过的地址。
给智能体的提示词
在 Qoder 中连接 Proxy Mail QA 后(Marketplace):
Review the sign-up at https://staging.acme-bank.dev/open-account with Proxy Mail QA,for an account that must be 18 or over and in GB or IE. Start a run.1. Sign up as an adult in GB and finish the email verification. check_email with expect_host: staging.acme-bank.dev.2. Try ages under18, turns18tomorrow and turned18today, and country DE. Each should be refused before an account exists, except turned18today.3. Try get_name_variants in the name fields and get_password_variants with the password field's limits. Use a plus tag on the address for each new account.4. Sign up again with the first address, and request a reset for a new address that has no account: the page should say the same as for a real one.5. Open the verification link a second time: it should fail.Stop at any SMS, ID or payment step and tell me it's there. Finish the run and give methe report.