Identify and apply Java secure coding practices to reduce vulnerabilities, protect sensitive data, and harden application behaviour against common attack vectors.
Prerequisites: Run ./mvnw compile or mvn compile before applying any changes. If compilation fails, stop immediately — do not proceed until the project is in a valid state.
Core areas: Input validation with type, length, format, and range checks; SQL/OS/LDAP injection defence via PreparedStatement and parameterized APIs; attack surface minimisation through least-privilege permissions and removal of unused features; strong cryptographic algorithms for hashing (passwords with BCrypt/Argon2), encryption (AES-GCM), and digital signatures while avoiding deprecated ciphers (MD5, SHA-1, DES...
Da utilizzare quando è necessario applicare le migliori pratiche di codifica sicura Java, tra cui la convalida di input non attendibili, la difesa dagli attacchi injection con query parametrizzate, la riduzione al minimo della superficie di attacco tramite privilegi minimi, l'applicazione di algoritmi crittografici avanzati, la gestione sicura delle eccezioni senza esporre dati sensibili, la gestione dei segreti in fase di runtime, l'evitare la deserializzazione non sicura e la codifica dell'output per prevenire XSS. Parte del progetto skills-for-java Fonte: jabrena/cursor-rules-java.