OWASP / OWASP/www-project-api-security-testing-framework

Stretch goal: generic numeric boundary/sign-manipulation test case (unlocks crAPI rows 5/8/9/10)

Open
#121 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
150
Forks
41
Avg merge
2d 5h
Merged PRs (30d)
3

Description

Tracked in docs/TRACEABILITY.md, crAPI rows 5/8/9/10 and "why the numbers look like this" section.

crAPI's business-logic misses (negative-quantity exploit inverting a debit into a credit, balance manipulation, undocumented-field leaks) are currently tagged "technically unreachable by any generic scanner" — but two of them are actually a generalizable pattern, not crAPI-specific:

  1. Numeric boundary/sign-manipulation testing: try negative, zero, and extreme values on any numeric request field (quantity, amount, count, price), then check whether the response indicates the value inverted expected behavior (e.g. a balance/credit field increased instead of decreased). Not crAPI-specific — a real new generic test case.
  2. Undocumented-field mass assignment: extend the existing BOPLA mass-assignment logic to try submitting values for any field observed in a GET/read response, not just a fixed guess-list (isAdmin/role/etc.) — catches "update internal properties" style bugs generically.

This is ambitious, not guaranteed — flagging as a stretch goal, not a quick fix. If it works, it's a genuinely new capability, not just a crAPI-specific patch, and would need unit tests + live verification against crAPI same as everything else on this project.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docs/TRACEABILITY.md, the crAPI rows 5/8/9/10, and the “why the numbers look like this” section, then inspect the existing BOPLA mass-assignment logic. Define unit-test coverage and live verification against crAPI for numeric boundary/sign manipulation and observed-field mass assignment; done means the generic cases work without relying on crAPI-specific guesses.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, security, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.