Add Code Pattern Scan - Semgrep & Secret Scan - Gitleaks
This commit is contained in:
parent
2a175ad196
commit
2a01065aca
17
configs/gitleaks.toml
Normal file
17
configs/gitleaks.toml
Normal file
@ -0,0 +1,17 @@
|
||||
[[rules]]
|
||||
description = "JDBC connection string with credentials"
|
||||
regex = '''jdbc:[^"]*user=.*&password=.*|jdbc:[^"']*:[^"']*@[^"']*'''
|
||||
tags = ["credentials","db","jdbc"]
|
||||
severity = "high"
|
||||
|
||||
[[rules]]
|
||||
description = "Generic DB password assignment"
|
||||
regex = '''(?i)(db|database|jdbc|connection).*(password|passwd)\s*[:=]\s*['"][^'"]+['"]'''
|
||||
tags = ["credentials"]
|
||||
severity = "high"
|
||||
|
||||
[[rules]]
|
||||
description = "Hardcoded Password"
|
||||
regex = '''(?i)(password|passwd|pwd)\s*[:=]\s*['"][^'"]+['"]'''
|
||||
tags = ["password", "security"]
|
||||
severity = "high"
|
||||
11
rules/generic-sql-create-grant.yml
Normal file
11
rules/generic-sql-create-grant.yml
Normal file
@ -0,0 +1,11 @@
|
||||
rules:
|
||||
- id: org.yourorg.sql.create-grant
|
||||
languages: [java, python, javascript]
|
||||
message: "SQL statement appears to create users or grant privileges — verify intent."
|
||||
severity: ERROR
|
||||
pattern-either:
|
||||
- pattern: $S.execute($Q)
|
||||
- pattern: $S.executeUpdate($Q)
|
||||
metavariable-pattern:
|
||||
metavariable: $Q
|
||||
pattern: "*CREATE USER*|*GRANT*|*ALTER USER*|*SET PASSWORD*"
|
||||
7
rules/java-bypass-auth-dev-flag.yml
Normal file
7
rules/java-bypass-auth-dev-flag.yml
Normal file
@ -0,0 +1,7 @@
|
||||
rules:
|
||||
- id: org.yourorg.java.bypass-auth-dev-flag
|
||||
languages: [java]
|
||||
message: "Auth bypass when environment = dev detected. Remove bypass logic from code."
|
||||
severity: ERROR
|
||||
pattern: |
|
||||
if ($ENV.equals("dev")) { return true; }
|
||||
7
rules/java-hardcoded-jdbc-credentials.yml
Normal file
7
rules/java-hardcoded-jdbc-credentials.yml
Normal file
@ -0,0 +1,7 @@
|
||||
rules:
|
||||
- id: org.yourorg.java.hardcoded-jdbc-credentials
|
||||
languages: [java]
|
||||
message: "Possible hardcoded DB credentials in DriverManager.getConnection(). Use a secret manager."
|
||||
severity: ERROR
|
||||
pattern: |
|
||||
DriverManager.getConnection($URL, $USER, $PASS)
|
||||
9
rules/java-jdbc-url-with-creds.yml
Normal file
9
rules/java-jdbc-url-with-creds.yml
Normal file
@ -0,0 +1,9 @@
|
||||
rules:
|
||||
- id: org.yourorg.jdbc.url-with-creds
|
||||
languages: [java, python]
|
||||
message: "JDBC URL appears to contain credentials. Avoid embedding username/password in URL."
|
||||
severity: ERROR
|
||||
pattern: $VAR = "$URL"
|
||||
metavariable-pattern:
|
||||
metavariable: $URL
|
||||
pattern: "jdbc:*user=*password=*"
|
||||
17
rules/sql-injection.yml
Normal file
17
rules/sql-injection.yml
Normal file
@ -0,0 +1,17 @@
|
||||
rules:
|
||||
- id: java-sql-injection
|
||||
patterns:
|
||||
- pattern: |
|
||||
Statement stmt = $DB.createStatement();
|
||||
$RESULT = stmt.executeQuery($QUERY);
|
||||
- metavariable-pattern:
|
||||
metavariable: $QUERY
|
||||
pattern: $QUERY
|
||||
message: |
|
||||
[SQL Injection Risk] Directly using dynamic SQL queries can be dangerous.
|
||||
Use PreparedStatement with parameters instead.
|
||||
languages: [java]
|
||||
severity: ERROR
|
||||
metadata:
|
||||
category: security
|
||||
cwe: "CWE-89: SQL Injection"
|
||||
Loading…
Reference in New Issue
Block a user