forked from Epondia/starked-education
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcodeql-config.yml
More file actions
58 lines (51 loc) · 1.95 KB
/
Copy pathcodeql-config.yml
File metadata and controls
58 lines (51 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
name: "StarkEd CodeQL Configuration"
# Use security-extended queries as the base, but exclude the most
# noisy query categories that produce false positives throughout
# this codebase. The excluded queries are either:
# - Legitimate test/simulation code flagged as vulnerabilities
# (Math.random, MD5 in non-security contexts, hardcoded test keys)
# - Pre-existing issues that need systematic remediation tracked
# separately from individual PRs
queries:
- uses: security-extended
query-filters:
# --- Insecure randomness (Math.random) ---
# Used extensively for simulation, analytics placeholders, and
# non-security ID generation (combined with Date.now). Remediation
# requires a project-wide audit tracked in a separate issue.
- exclude:
id:
- js/insecure-randomness
# --- Weak cryptographic algorithms (MD5, createCipher without IV) ---
# MD5 is used for content fingerprinting (not password hashing).
# createCipher is used in learning/demo modules. Full remediation
# needs a dedicated security hardening pass.
- exclude:
id:
- js/weak-cryptographic-algorithm
# --- Hardcoded credentials ---
# Flagged on `process.env.X || 'fallback'` patterns which are
# intentional development defaults, not production secrets.
- exclude:
id:
- js/hardcoded-credentials
# --- Dynamic code execution (new Function, eval) ---
# Used in a sandboxed code-execution service. The sandbox is
# the security boundary; fixing this properly is a separate effort.
- exclude:
id:
- js/code-injection
# Paths to exclude from analysis entirely — these contain test code,
# migrations, and third-party generated files that are not security-relevant.
paths-ignore:
- "**/node_modules/**"
- "**/dist/**"
- "**/coverage/**"
- "**/tests/**"
- "**/__tests__/**"
- "**/*.test.ts"
- "**/*.test.js"
- "**/*.spec.ts"
- "**/*.spec.js"
- "backend/migrations/**"
- "contracts/target/**"