OWASP / OWASP/owasp-java-encoder

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

Ouverte
#94 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

enhancement
Langage dominant
Java
Étoiles
543
Forks
122
Merge moyen
9 h 9 min
PR mergées (30 j)
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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par esapi/pom.xml et les tests de l’adaptateur ESAPI, puis examinez #90 ainsi que les issues historiques #31, #63 et #74. Définissez la base stable fixe, les affirmations de compatibilité et le mécanisme d’override avant de modifier le périmètre de l’adaptateur. C’est terminé lorsque les tests couvrent les versions revendiquées et que les builds avec un cache vierge ainsi que les POMs publiés sélectionnent la même dépendance stable prévue, sans plage ni version prerelease involontaire.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
build-system, documentation, security, testing
Type d'issue
Refactorisation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.