-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcodeql-config.yml
More file actions
50 lines (42 loc) · 1.91 KB
/
Copy pathcodeql-config.yml
File metadata and controls
50 lines (42 loc) · 1.91 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
# CodeQL configuration
# This file configures which paths to analyze for JavaScript/TypeScript
name: "CodeQL config"
# Model extensions define custom sanitizers and sinks for CodeQL analysis
model-extensions:
- ".github/codeql/extensions/log-sanitizer.model.yaml"
# Query filters to tune analysis results
query-filters:
# Exclude false positives where we have verified mitigations
- exclude:
id: cs/web/cookie-secure-not-set
# MelodeeBlazorCookieMiddleware.cs already sets Secure=true (line 29)
# Exclude log-forging alerts for code using LogSanitizer
# LogSanitizer.Sanitize() properly sanitizes log input by replacing newlines,
# but CodeQL's log-forging query doesn't recognize custom sanitizer methods.
# The sanitizer implementation (src/Melodee.Common/Utility/LogSanitizer.cs)
# uses String.Replace to remove CR, LF, NEL, LS, and PS characters.
# See: https://github.com/github/codeql/issues/15824
- exclude:
id: cs/log-forging
# Exclude cleartext-storage alerts for MpdPlaybackBackend password logging
# The password IS properly masked via GetSafeCommandForLogging() which returns
# "password ***" for any command starting with "password ". CodeQL tracks
# data flow but cannot see through the conditional masking logic.
# File: src/Melodee.Common/Services/Playback/Backends/MpdPlaybackBackend.cs
- exclude:
id: cs/cleartext-storage-of-sensitive-information
# For JavaScript/TypeScript, only analyze application code in src directory
# Exclude documentation, vendored libraries, and other non-application code
paths-ignore:
# Exclude entire docs directory (contains Jekyll templates and vendored JS)
- 'docs/**'
- 'melodee/docs/**'
# Exclude vendored/third-party JavaScript libraries
- '**/jquery*.js'
- '**/lunr*.js'
- '**/*.min.js'
# Exclude benchmark and test directories
- 'benchmarks/**'
- 'tests/**'
- 'melodee/benchmarks/**'
- 'melodee/tests/**'