Larger, mentor-backed projects suitable for Google Summer of Code, semester
capstones, or anyone who wants to own a meaningful chunk of AuthzProbe. For
small first tasks, see GOOD_FIRST_ISSUES.md.
How to apply / propose: open a
Discussion describing your
approach and timeline, and tag a mentor. Read
ARCHITECTURE.md first. For GSoC, follow the program's
official proposal process — this list is our ideas page.
Sizes follow GSoC conventions: 🟢 ~90 hrs · 🟡 ~175 hrs · 🔴 ~350 hrs.
- Size: 🔴 ~350 hrs · Difficulty: Hard
- Skills: TypeScript, HTTP, OpenAPI, security testing
- Mentor:
- Problem: Today ownership is declared in
identities.yaml. That's precise but manual. Many APIs let you create a resource and get its id back. - Deliverables:
- A
--discovermode that, per identity, calls create/list endpoints (--include-unsafe) to learn which object ids each identity legitimately owns, then runs BOLA cross-access using those. - Safeguards: dry-run planning, teardown of created resources, opt-in only.
- Tests against the mock server extended with create/list endpoints.
- A
- Outcome: AuthzProbe works on real APIs with near-zero manual config.
- Size: 🟡 ~175 hrs · Difficulty: Medium
- Skills: TypeScript, OAuth2/OIDC, HTTP auth
- Mentor:
- Problem: Real credentials rarely come as static bearer tokens.
- Deliverables:
- An auth-provider abstraction: OAuth2 client-credentials & password grants, login-endpoint token capture, cookie/session auth, refresh handling.
- Reads the spec's
securitySchemesand validates the config against them. - Docs + examples for 2–3 common setups.
- Outcome: Point AuthzProbe at APIs behind standard auth without hand-minting tokens.
- Size: 🟡 ~175 hrs · Difficulty: Medium
- Skills: TypeScript, CI/CD, GitHub Actions, a little frontend
- Mentor:
- Deliverables:
- Pluggable reporters: JUnit XML, SARIF (so findings show in GitHub code scanning), and a self-contained HTML report with remediation guidance.
- A published
ScalerOpenSourceLabsOrg/authzprobe-actionso any repo can add a scan step. - Baseline/diff mode: fail CI only on new findings vs. a saved baseline.
- Outcome: AuthzProbe becomes a first-class CI security gate.
- Size: 🟢 ~90 hrs · Difficulty: Beginner–Medium
- Skills: TypeScript, testing, OpenAPI edge cases
- Mentor:
- Deliverables:
- Query-param and header object references (not just path params).
- Body-based allow/deny detection (200-with-error-body).
- Rate-limit/429 handling with backoff;
--ratecap. - A coverage report: which operations were probed vs. skipped, and why.
- Outcome: Fewer false negatives/positives; users trust the results.
- Size: 🟢 ~90 hrs · Difficulty: Beginner
- Skills: TypeScript, CLI UX
- Mentor:
- Deliverables: An interactive command that reads a spec, enumerates path
params and security schemes, and generates a well-commented
identities.yamlskeleton for the user to fill in. - Outcome: First-run time drops from "read the docs" to "answer a few prompts".
Mentors: keep this list current each program cycle — adjust sizes, claim ideas, and mark ones already in progress. New ideas welcome via PR.