SuperAPI AI 工具集

authenticated-session-acquisition

安全与审计

查看项目

更新于 10-16 01:10

技能介绍

用途:在金融与多租户目标上,登录常受短信 OTP/TOTP MFA 保护,自动化运行无法满足,导致登录后攻击面(BOLA/IDOR/批量赋值、数据 API 注入、会话处理、API 横向移动)无法测试。该技能只做一件事:取得一个合法已认证会话,并作为可复用制品交给执行器。它不攻击认证机制,认证机制由 authentication 处理。

制品约定:向 OUTPUT_DIR 输出两种制品,并以名称引用而非内联密钥:OUTPUT_DIR/<asset>/session/storageState.json(Playwright 存储状态,含 cookies 与 localStorage)和 OUTPUT_DIR/<asset>/session/bearer.txt(原始 access/ID token 及 expires_at)。令牌不写入提示词、experiments.md 或 attack-chain.md。令牌过期后重跑,存在刷新令牌时刷新而非重新登录。

模式:TOTP-from-seed(客户端提供 Base32 种子,用 tools/totp_now.py 生成当前码)、Explicit-OTP(操作员在运行时读取一次性验证码)、Human-in-the-loop resume(OTP 带外到达时暂停,人工完成挑战后恢复并捕获 storageState)。

提供方配方:reference/session-acquisition.md 含 Auth0、Okta、Amazon Cognito(SRP 认证与 UNSIGNED 未认证姿态检查)、Descope 的逐步流程,均以导出 storageState.json 与 bearer.txt 结束。

无法获取时诚实延迟:若无测试账号/OTP 种子且无法转达 OTP,应提交客户输入请求 reports/client-input-requests/CIR-NNN.md,在 attack-chain.md 设置领域级 BLOCKED_REASON,并在 coverage.json 将该领域登录后覆盖单元格标记为 deferred,附 deferral_reason 与 client_input_request。由父编排器通过 coverage_gate.py --accept-deferrals 才能最终确认实质性延迟。完全被认证门控的范围永不完成。

工作流:读范围与 creds_env;识别 IdP(登录重定向主机、/.well-known/openid-configuration、SDK 包)并选择配方;获取会话并写出两个制品;用一次最小认证请求验证返回已授权响应;将路径交给登录后执行器;失败时走延迟路径。

反模式:不要内联令牌、种子或 cookies;不要在此暴力破解或绕过 OTP/MFA;不要把被 MFA 阻塞的单元格标记为已覆盖/NA;不要测试给定租户之外的资产,遵守 roe.reversible_writes。

限制:依赖客户提供测试账号、OTP 种子或人工转达;无这些条件则该领域登录后测试不可行,只能记延迟。本技能不涉及破解或绕过认证。