You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .agents/sow/current/SOW-0014-20260603-maintainability-hotspots.md
+49Lines changed: 49 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -920,6 +920,55 @@ Raw cache, Go typed-facade, apps lookup builder, cgroups lookup builder, apps lo
920
920
-`bash .agents/sow/audit.sh` passed.
921
921
-`codacy-analysis analyze --output-format json` passed with 0 issues and 0 errors across Checkov, Opengrep/Semgrep, Trivy, cppcheck, ShellCheck, and Spectral.
922
922
923
+
### 2026-06-04 Expanded CodeQL Findings
924
+
925
+
- After commit `97557fd`, GitHub CodeQL reported 56 open code-scanning alerts, all from category `/language:c-cpp-posix`.
926
+
- Evidence from GitHub code scanning:
927
+
-`cpp/path-injection`: 12 high alerts across POSIX SHM production transport, C interop fixtures, fuzz helper, and POSIX benchmark helper.
928
+
-`cpp/world-writable-file-creation`: 2 high alerts in C test/interop helpers.
929
+
-`cpp/wrong-type-format-argument`: 1 high alert in C ping-pong test output.
930
+
-`cpp/stack-address-escape`: 4 warning alerts across C POSIX service, payload-limit test, and benchmark helper.
931
+
-`cpp/unused-local-variable`: 31 note alerts in C tests and benchmark helper.
932
+
-`cpp/unused-static-function`: 5 note alerts in C protocol/SHM tests.
933
+
-`cpp/long-switch`: 1 note alert in C UDS fault-response test.
934
+
- Root-cause model:
935
+
- The stronger C/C++ CodeQL build now compiles test, interop, fuzz, cache, stress, hardening, and benchmark C targets that were not extracted by the earlier default setup.
936
+
- Most alerts are newly visible pre-existing code patterns, not regressions introduced by the Windows CI workflow itself.
937
+
- Some alerts are real hygiene issues in test and benchmark code; at least two path findings and one stack-address warning touch production POSIX C code and need source review rather than dismissal.
938
+
- Decision:
939
+
- Do not weaken CodeQL coverage or disable the rules by default.
940
+
- First fix source patterns that are real or cheaply made explicit.
941
+
- Use narrow suppression or workflow configuration only for remaining findings proven to be intentional test scaffolding after source review.
942
+
- Risk:
943
+
- Production POSIX SHM path handling changes can affect SHM lifecycle, stale-file recovery, and interop tests.
944
+
- Stack-lifetime fixes around server/session code can affect thread and signal lifetime if handled mechanically.
945
+
- Removing stale test locals and wiring previously unused static tests is low risk but still needs CTest validation.
946
+
- Validation plan:
947
+
- Build C targets locally with CMake.
948
+
- Run focused C protocol, POSIX UDS/SHM/service, fuzz, and benchmark target validation.
949
+
- Run action/static checks available locally.
950
+
- Push and verify GitHub CodeQL alerts close or reduce to only documented intentional findings.
951
+
- Implemented:
952
+
- Removed stale typed-call request/response locals from C service, chaos, and benchmark tests.
953
+
- Wired dormant C protocol coverage tests into `test_protocol` and relaxed one overly-specific synthetic-overflow assertion to require rejection rather than a single error code.
954
+
- Removed an unused SHM test helper.
955
+
- Fixed portable `uint32_t` formatting in the C ping-pong test.
956
+
- Changed the C payload-limit test overflow fixture to use static storage instead of sharing a stack buffer with server handler state.
957
+
- Changed POSIX benchmark timer threads to receive heap-owned duration arguments instead of stack addresses.
958
+
- Changed POSIX SHM stale recovery and attach/create paths to open session files with `openat()` relative to a validated directory file descriptor and to unlink with `unlinkat()` where the directory identity matters.
959
+
- Added a C interop/benchmark run-directory helper requiring existing absolute non-symlink directories owned by the current user and not group/world writable.
960
+
- Removed C interop/benchmark helper-side `mkdir(run_dir)` calls; repo scripts already create the temporary run directories.
961
+
- Changed the C codec interop fixture writer to create files with explicit `0600` mode.
962
+
- Changed the standalone C fuzz harness to read bytes from stdin only and updated the extended fuzz script accordingly.
963
+
- Changed the UDS stale-recovery regular-file test fixture to use explicit `0600` file creation.
-`codacy-analysis analyze --output-format json` passed with 0 issues and 0 errors across Checkov, Opengrep/Semgrep, Trivy, cppcheck, ShellCheck, and Spectral.
968
+
-`git diff --check` passed.
969
+
-`bash .agents/sow/audit.sh` passed.
970
+
- Sensitive-data scan across the touched durable artifacts returned no matches.
0 commit comments