AuthProbe 是一个基于 OpenAPI 的多身份扫描器,通过登录多个用户、枚举对象 ID 并对比响应差异,检测 BOLA/IDOR 漏洞。

Stars

144

7 天增长

暂无数据

Fork 数

90

开放 Issue

0

开源协议

Apache-2.0

最近更新

2026-07-14

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它针对 OWASP 排名第一的 API 风险(BOLA),这类漏洞 WAF 和单身份扫描器无法捕获,并且它设计为通过非零退出码集成到 CI 构建流程中。

适合谁使用

  • HR 科技与 API 开发团队
  • 安全工程师与渗透测试人员
  • 合规与 DevSecOps 团队
  • 开源安全社区

典型使用场景

  • 扫描招聘或多租户 API 是否存在授权缺陷
  • 集成到 CI 流水线中,在生产前捕获 IDOR 回归
  • 对 OpenAPI 定义的端点进行自动化安全审计
  • 验证 API 授权控制在不同身份间是否正常运作

项目优势

  • 使用真实的多身份响应比对,避免误报
  • 自动从 OpenAPI 规范中检测资源对
  • 提供 JUnit XML 输出和非零退出码,便于 CI 集成
  • 基于 Apache 2.0 开源,附带演示环境可快速测试

使用前须知

  • 需要两个或更多受控身份及有效凭据
  • 仅适用于暴露 OpenAPI 规范的 API
  • 非本地目标需要显式授权标志才能运行
  • 仅检测 BOLA/IDOR 及相关缺陷(不涵盖其他 API 漏洞)

README 快速开始

AuthProbe

An OpenAPI-driven, multi-identity BOLA/IDOR scanner for recruitment (and other) APIs. AuthProbe logs in as two or more identities you control, walks and enumerates object IDs, and diffs the responses to detect when one identity can read another's records — the Broken Object Level Authorization (BOLA/IDOR) flaw class behind incidents like McHire. It's driven by the target's OpenAPI spec and returns a non-zero exit code so it can gate your CI build.

⚠️ Authorized use only. Run AuthProbe against APIs you own or are explicitly permitted to test. It refuses non-local targets unless you pass --i-have-authorization. See SECURITY.md.


Why this exists

Broken Object Level Authorization has been the #1 OWASP API risk since 2019, and it is precisely the class of flaw that WAFs and single-identity scanners cannot catch — a BOLA request is a syntactically valid request. Finding it requires contextual, multi-identity, object-level testing: log in as A, try to read B's object, and see if it leaks. AuthProbe automates exactly that, from an OpenAPI spec, in CI.

Quickstart (30 seconds, no external target)

git clone https://github.com/jbarach2012/AuthProbe
cd AuthProbe
pip install -e ".[test]"

python -m authprobe.demo     # spins up a vulnerable + a secure demo ATS and scans both
pytest -q                    # 11 tests

Demo output:

=== Scanning VULNERABLE target ===
  [HIGH] Broken Object Level Authorization (BOLA)   alice retrieved object '2' owned by 'bob'
  [HIGH] Broken Object Level Authorization (BOLA)   bob retrieved object '1' owned by 'alice'
  [HIGH] IDOR via sequential-ID enumeration         alice reached non-owned objects [2] ...
  [MED ] Enumerable (sequential/numeric) identifiers
  summary: 4 finding(s) [high=3, medium=1]

=== Scanning SECURE target ===
  AuthProbe: no authorization findings.

Scan a real target

# 1. write a config (see examples/config.example.yaml)
# 2. run:
authprobe scan --config myconfig.yaml --format console json junit --out out/
echo "exit code: $?"   # non-zero if findings at/above fail_on

Minimal config:

target:
  base_url: "http://127.0.0.1:8000"
  spec: "auto"                       # fetch {base_url}/openapi.json
identities:
  - name: alice
    headers: { Authorization: "Bearer alice-token" }
  - name: bob

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

lopopolo
精选
lopopolo GitHub avatar

harness-engineering

Harness Engineering is a methodology for improving coding agent outputs by carefully crafting the environment around them—providing curated context, tools, and executable constraints that encode an organization’s nonfunctional requirements and cumulative lessons.

AI 与机器学习AI 智能体
2,390
slvDev
精选
slvDev GitHub avatar

esp32-ai

A 28.9 million parameter language model runs on an $8 ESP32-S3 microcontroller entirely on-device, generating simple stories at about 9.5 tokens per second.

AI 与机器学习大语言模型
1,960
littledivy
精选
littledivy GitHub avatar

mimic

mimic captures traffic from any iOS or web app and automatically generates a Python client library that lets you call the app's API like a regular library.

AI 与机器学习
1,482