OWASP / OWASP/owasp-java-encoder

Replace the ESAPI version range with a deterministic, tested dependency policy

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

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
541
Forks
122
Avg merge
9h 9m
Merged PRs (30d)
1

Description

Follow-up to #90 (reviewed at 31588e1). This tracks work intentionally kept separate from the modernization PR.

Problem and evidence

esapi/pom.xml declares org.owasp.esapi:esapi:[2.5.1.0,3). During the review this resolved to 2.7.0.1-RC1, meaning a fresh build can select a prerelease without any repository change. The range is also part of the published consumer POM.

Related historical failures from changing ESAPI APIs or resolution: #31, #63, and #74. This issue is not a claim that the currently resolved release is vulnerable.

Acceptance criteria

  • Select and document a supported, fixed stable ESAPI baseline; retain a deliberate override mechanism if needed.
  • Document the supported ESAPI compatibility range separately from Maven's dependency selection.
  • Add build/runtime tests for the selected baseline and any other versions claimed as supported, including delegated adapter methods.
  • Validate dependency convergence and the security/runtime implications of the transitive graph; preserve compatibility claims or explicitly document any necessary change.
  • Confirm fresh-cache builds select the same intended stable dependency.
  • Verify the generated/published POM does not retain an unintended open-ended range or prerelease selection.
  • Coordinate the chosen dependency/module identity with the separate JPMS adapter issue.

Limit changes to the ESAPI adapter and its tests/documentation; do not add ESAPI dependencies to the core encoder.

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 esapi/pom.xml and the ESAPI adapter tests, then review #90 and the historical issues #31, #63, and #74. Define the fixed stable baseline, compatibility claims, and override mechanism before changing the adapter scope. Done means tests cover the claimed versions and fresh-cache builds and published POMs select the same intended stable dependency without an unintended range or prerelease.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, documentation, security, testing
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.