diff --git a/docs/codacy-rules.yaml b/docs/codacy-rules.yaml index 9c67766..67f9967 100644 --- a/docs/codacy-rules.yaml +++ b/docs/codacy-rules.yaml @@ -85,6 +85,29 @@ rules: - javascript impact: HIGH confidence: MEDIUM + - id: codacy.kotlin.security.hard-coded-password + severity: ERROR + languages: + - kotlin + patterns: + - pattern-either: + - pattern: 'val $PASSWORD = "$VALUE"' + - pattern: 'var $PASSWORD = "$VALUE"' + - pattern: 'val $PASSWORD: String = "$VALUE"' + - pattern: 'var $PASSWORD: String = "$VALUE"' + - metavariable-regex: + metavariable: "$PASSWORD" + regex: "(?i).*(password|motdepasse|heslo|adgangskode|wachtwoord|salasana|passwort|passord|senha|geslo|clave|losenord|clave|parola|secret|pwd|(api|secret|private|access|aws|ssh|auth|session|encryption|decryption|gcp)[_-]?key).*" + message: Hardcoded passwords are a security risk. They can be easily found by attackers and used to gain unauthorized access to the system. + metadata: + owasp: + - A3:2017 Sensitive Data Exposure + description: Hardcoded passwords are a security risk. + category: security + technology: + - kotlin + impact: HIGH + confidence: MEDIUM - id: codacy.generic.plsql.empty-strings severity: WARNING languages: diff --git a/docs/multiple-tests/codacy-rules-kotlin/patterns.xml b/docs/multiple-tests/codacy-rules-kotlin/patterns.xml new file mode 100644 index 0000000..9ad9b9b --- /dev/null +++ b/docs/multiple-tests/codacy-rules-kotlin/patterns.xml @@ -0,0 +1,4 @@ + + + + diff --git a/docs/multiple-tests/codacy-rules-kotlin/results.xml b/docs/multiple-tests/codacy-rules-kotlin/results.xml new file mode 100644 index 0000000..708a822 --- /dev/null +++ b/docs/multiple-tests/codacy-rules-kotlin/results.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/multiple-tests/codacy-rules-kotlin/src/Program.kt b/docs/multiple-tests/codacy-rules-kotlin/src/Program.kt new file mode 100644 index 0000000..897fc5a --- /dev/null +++ b/docs/multiple-tests/codacy-rules-kotlin/src/Program.kt @@ -0,0 +1,11 @@ +class Program { + fun main() { + val password = "password" // Issue: Hardcoded password + val apiKey = "api_key" // Issue: Hardcoded API key + val apiSecret: String = "api_secret" // Issue: Hardcoded API secret + + println("This is a security risk: $password") + println("This is a security risk: $apiKey") + println("This is a security risk: $apiSecret") + } +}