一键导入
notification-abuse
通知滥用/邮箱短信轰炸检测 — 检测短信、邮件、验证码、IM 推送等触达通道的轰炸与反滥用缺陷,统一分诊连续发送/冷却时间/多维限流/人机挑战/多目标资源消耗。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
通知滥用/邮箱短信轰炸检测 — 检测短信、邮件、验证码、IM 推送等触达通道的轰炸与反滥用缺陷,统一分诊连续发送/冷却时间/多维限流/人机挑战/多目标资源消耗。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
白盒建模——一次深度建模产出五张共享模型:项目架构(技术栈/分层/框架自有封装/闭源依赖位置)、 入口点(路由/中间件信任边界)、认证与权限(会话/角色/多租户/归属字段)、业务(实体/流程状态机/ 业务不变量/高价值资产)、全局威胁(攻击面×漏洞类别的适用性映射,供下游逐一全测)。本能力不做漏洞判定,为后续 漏洞维度分析建立共享底图。
OS 命令注入综合检测——覆盖直接命令拼接 / shell 元字符 / 参数注入 / 间接 RCE,按回显 / 时间 / 带外通道分诊。 流量中参数值含主机名 / URL / 文件名 / 命令片段、响应里出现 shell 错误关键字(`/bin/sh` / `cmd.exe` / `command not found`)、注入 `sleep N` 耗时增加、上传后异步处理链路时使用。
文件上传多策略综合检测——覆盖扩展名 / MIME / 魔术数 / 解析漏洞 / 上传链组合(LFI / Zip Slip / SVG XSS / SVG XXE)。 流量含 multipart/form-data 上传、响应回显落盘路径、上传后文件可被 GET 解析、上传字段含 filename / path 可控时使用。
IDOR 水平越权检测 — 通过替换资源标识符(ID/UUID/路径)访问他人资源的风险;适用于用户资料、订单、文档、租户隔离场景。
检测路径穿越和本地文件包含(LFI)风险;当目标存在文件读取/下载/预览功能且含路径参数时触发;适用于文件下载、日志查看、模板加载等场景。
黑盒建模 — 迭代式攻击面建模,按站点级 / 页面级 / 功能级三粒度推进;进入新页面即触发一次页面级建模、切换新身份各刷新一次,产出端点账本与页面语义模型,为后续漏洞维度的适用性判断提供依据。
| name | notification-abuse |
| description | 通知滥用/邮箱短信轰炸检测 — 检测短信、邮件、验证码、IM 推送等触达通道的轰炸与反滥用缺陷,统一分诊连续发送/冷却时间/多维限流/人机挑战/多目标资源消耗。 |
| when-to-use | 当目标存在短信/邮件/验证码发送接口,需评估通知轰炸与反滥用防护时 |
| allowed-tools | bash,read_file,list_files,rg |
| user-invocable | false |
通知滥用成因:source(注册 / 发送 / 触发请求)→ sink(短信 / 邮件 / IM 触达系统:实际下发通道、运营商 API、邮件 SMTP 队列、IM 推送 worker)。无速率限制 / 无验证码 / 无目标白名单 / 无每用户额度,业务命名不可作筛选——无论端点是"注册短信"、"密码找回邮件"、"验证码重发"、"邀请同事"、"订阅推送",sink 语义都是"用户输入触发服务端向某目标地址发出真实通知",属同一范围。详见同根目录 pentest/web-security-testing/SKILL.md 漏洞成因图谱 · 通知滥用行(不在本 skill 重复成因)。
关键 sink 形态:服务端在接收请求后,**未做有效的"按用户/按 IP/按目标地址多维限流"+"挑战二次校验"**就把通知投递任务下发到外部通道——攻击者可对某用户/海量用户构造大量真实通知(短信轰炸 / 邮件骚扰 / 密码找回邮件群发)。
以下是已知的常见通知滥用触发线索,作为基线起点而非必检硬清单。结合目标代码与上下文动态调整:
[x] done[-] n/a (原因),原因要具体到代码事实[+] added (来源)基线触发线索按"sink 语义"分类(不按业务命名):
/forgot-password / /reset 等触达用户邮箱的端点sms.Send(phone) / mailer.Send(to) / push.Send(targetUid) 直接调用、上层无 rate-limit / no challenge 校验加载本 skill 时按这些问题思考:
phone、mobile、email、receiver、account;业务场景参数:scene、bizType、action;反滥用相关参数:captcha、ticket、nonce、device_id、session;来源识别链:X-Forwarded-For、X-Real-IP、Forwarded。X-Forwarded-For / X-Real-IP / Forwarded%20 / %09)+86、0086、空格、横杠、括号等sms.Send(req.Phone) 调用前无任何 rate-limit / captcha 校验,每次请求都触发真实短信下发(register-phone-sms-no-ratelimit-notify-abuse)/forgot-password 接收任意邮箱即调 mailer.Send(email, resetLink),无人机挑战,可对任意目标用户群发密码找回邮件(forgot-password-email-no-captcha-notify-abuse)/resend-otp 端点只按 IP 限流,攻击者用不同 IP(或伪造 XFF)即可对同一手机号 / 不同手机号大量发送(otp-resend-target-multiuser-no-quota-notify-abuse)/invite 接收邮箱列表数组,循环对每个邮箱发送邀请邮件且无总量上限(invite-coworker-email-fanout-notify-abuse)以下是通知滥用维度的典型窄化误判:
为什么这里是「必须」:反例义务属于交付契约——"该子系统通知滥用已防护"结论是覆盖完整性的产物声明,缺失反向验证清单会让下游误信"该维度全站安全"。
写"未发现通知滥用"或"已防护"前,产物必须包含:
清单不完整 → 结论降级为 partial-coverage 并显式声明未覆盖范围。
特别警示:只测了"注册短信"而未覆盖"密码找回邮件 / 邀请同事 / 偏好确认"等其他触达入口,不能下"全站无通知滥用"结论。
通用闭环口径见同根目录 common/closure-verification.md(技能表 path 列同一抽取根下,需要时 read_file 读取)。核心:结论须形成「输入 → 处理 → 真实危害 → 可复核证据」完整证据链;仅凭接口返回 success 等中间信号最多判 suspected,证明实际触发了超额或未授权的真实通知下发才判 confirmed。
confirmed| 现象 | 判定 |
|---|---|
| 在预算内对单/多目标形成真实通知下发,未触发有效冷却、挑战或多维限流;或绕过单一维度后真实发送能力恢复 | confirmed |
| 接口返回成功 / 文案变化提示限流缺口,但未取得真实下发证据(无流水/无收件) | suspected |
| 服务端真正强制冷却 + 多维限流 + 服务端校验的挑战,且预算内难以触发真实超额下发 | not vulnerable |
| 只测了部分子系统 / 部分通知端点 / 部分维度变体 | partial-coverage(不得宣称 safe) |
X-Forwarded-For 等可伪造头