chore(aegis): add scanners/semgrep-rules.yml
CI — Build, Lint & Security Scan / backend (pull_request) Failing after 1m3s
CI — Build, Lint & Security Scan / frontend (pull_request) Failing after 43s
CI — Build, Lint & Security Scan / image-scan (pull_request) Has been skipped
CI — Build, Lint & Security Scan / secrets-scan (pull_request) Failing after 13s
Security Scan / trivy (pull_request) Failing after 15s
Security Scan / gitleaks (pull_request) Failing after 21s
Security Scan / semgrep (pull_request) Failing after 15s
Security Scan / sbom (pull_request) Failing after 15s
Security Scan / checkov (pull_request) Failing after 47s

This commit is contained in:
2026-06-26 14:14:42 +02:00
parent 7f40cf159c
commit e6699d5d51
+19
View File
@@ -0,0 +1,19 @@
# Aegis custom Semgrep rules (M1).
# Extends the standard packs (p/owasp-top-ten, p/<lang>) referenced from the
# semgrep job in .gitea/workflows/security.yml. Add project-specific rules here.
# Keep noise low (tune p/default out where FP-heavy) — see R-02 risk register.
rules:
- id: aegis-no-hardcoded-credentials
languages: [java, javascript, typescript, python]
message: "Possible hardcoded credential — move to an env var / secret."
severity: WARNING
metadata:
cwe: "CWE-798: Use of Hard-coded Credentials"
patterns:
- pattern-regex: '(?i)(password|passwd|secret|api[_-]?key|token)\s*[:=]\s*["'\''][^"'\'']{8,}["'\'']'
- pattern-not-regex: '(?i)\$\{|process\.env|System\.getenv|@Value|@ConfigurationProperties'
- id: aegis-no-http-outbound
languages: [java, javascript, typescript]
message: "Outbound HTTP URL — prefer HTTPS."
severity: INFO
pattern-regex: 'http://(?!localhost|127\.0\.0\.1|192\.168\.|10\.|backend|frontend|postgres)'