<< All versions

Skill v1.0.0

currentAutomated scan100/100
haibo3434358/scareaisec/sampling-inference
──Details
PublishedOctober 21, 2026 at 09:04 AM
Content Hashsha256:b1f4f58d7d653ed8...
Git SHA9560f9092c9f
──Files
Files (1 file, 2.9 KB)
SKILL.md2.9 KBactive
SKILL.md · 90 lines · 2.9 KB

version: "1.0.0" name: sampling-inference description: "采样验证与归纳推断策略。当发现大量同类接口/功能需要测试同一种漏洞时,通过采样验证少量接口推断全局结论,避免穷举浪费时间。适用于:统一鉴权检测、CSRF 防护检测、CORS 配置检测、响应头安全检测等批量场景。" metadata: tags: "采样,归纳,效率,批量,sampling,inference,鉴权,全局机制" category: "strategy" authority: "expert"


采样验证与归纳推断策略

核心原则:如果连续 N 个同类测试结果一致,说明是全局机制,不需要穷举。

什么时候用

发现以下情况时触发此策略:

  • 100 个 API 需要测未授权访问
  • 20 个 POST 接口需要测 CSRF
  • 多个接口需要测 CORS
  • 多个输入点需要测同一种注入

采样规则

接口总数采样数量连续一致即可结论
< 10全测-
10-30测 5-8 个连续 5 个一致
30-100测 8-10 个连续 8 个一致
> 100测 10-15 个连续 10 个一致

采样选取原则

不要随机选,要有代表性:

  1. 选不同模块的接口(如用户模块、订单模块、管理模块各挑几个)
  2. 选不同 HTTP 方法(GET、POST、PUT、DELETE 各挑)
  3. 选不同权限级别的接口(公开/用户/管理员各挑)
  4. 一定包含 /admin/ 或管理类接口(最容易遗漏鉴权的地方)

可归纳的测试方向

统一鉴权(最常用)

测 10 个接口去掉 Token → 全部 401/403
→ 结论:系统使用统一鉴权中间件,所有接口默认需要认证
→ 跳过其余接口的未授权测试
→ 但 /admin/ 类接口仍需单独测垂直越权

CSRF 防护

测 5 个 POST 接口 → 全部有 CSRF token 且去掉 token 请求失败
→ 结论:框架级 CSRF 防护(如 Spring Security / Django)
→ 跳过其余接口的 CSRF 测试

CORS 配置

测 5 个接口带 Origin: evil.com → 全部不反射
→ 结论:CORS 配置正确
→ 跳过其余

SQL 注入(ORM 框架)

确认技术栈是 Spring Data JPA / Django ORM / SQLAlchemy
测 3-5 个参数加单引号 → 全部无报错无异常
→ 结论:ORM 参数化查询,全局防护
→ 跳过常规 SQLi 测试(但仍关注原生 SQL 的接口,如搜索/报表)

不可归纳的测试方向

以下漏洞必须逐点测试,不能采样推断:

  • IDOR 越权 — 每个接口的 ID 校验逻辑不同
  • 业务逻辑漏洞 — 每个业务流程独特
  • 文件上传 — 每个上传点的校验不同
  • 支付逻辑 — 必须逐步验证

记录方式

采样验证后用 checklist_mark 记录结论时,在 detail 中说明:

checklist_mark(
vuln_type="未授权访问",
result="not_vuln",
detail="采样验证 10/10 个接口均需鉴权(统一中间件),跳过其余"
)
All versions