OWASP / OWASP/owasp-java-encoder

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

Offen
#94 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement
Vorherrschende Sprache
Java
Sterne
541
Forks
122
Ø Merge
9 Std. 9 Min.
Gemergte PRs (30 T.)
1

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit esapi/pom.xml und den ESAPI-Adaptertests und prüfe anschließend #90 sowie die historischen Issues #31, #63 und #74. Definiere die feste stabile Baseline, die Kompatibilitätsaussagen und den Override-Mechanismus, bevor du den Umfang des Adapters änderst. Erledigt ist die Aufgabe, wenn die Tests die behaupteten Versionen abdecken und Builds mit leerem Cache sowie veröffentlichte POMs dieselbe beabsichtigte stabile Abhängigkeit auswählen, ohne einen unbeabsichtigten Bereich oder eine Pre-Release-Version.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
build-system, documentation, security, testing
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.