Skip to content

fix: resolve Sonar defects - #22

Merged
aksOps merged 1 commit into
mainfrom
fix/sonar-defects
Aug 1, 2026
Merged

fix: resolve Sonar defects#22
aksOps merged 1 commit into
mainfrom
fix/sonar-defects

Conversation

@aksOps

@aksOps aksOps commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • execute git and gh through absolute paths and reject relative test overrides
  • provide an explicit string comparator for outbox storage ordering
  • add regression coverage for unsafe executable overrides

Root cause

The CI monitor relied on PATH resolution for child processes, allowing executable substitution through a writable PATH entry. The outbox also relied on the implicit Array.prototype.sort() comparator, which Sonar reports as unreliable for Unicode strings.

The separate browser-storage vulnerability was reviewed against the full data lifecycle and marked false positive in Sonar with an evidence comment: the bounded plain-text value is JSON-serialized, sent as JSON, and rendered only through React text nodes.

Impact

The monitor no longer executes relative/PATH-resolved GitHub or Git binaries. Outbox ordering is explicit without changing its intended string ordering contract. Sonar's main quality gate is already back to OK; this PR should close the remaining real vulnerability and bug after analysis.

Validation

  • npm test — 64 files, 902 tests passed; coverage floors passed
  • npm run build
  • node scripts/ci/test_ci_monitor.cjs
  • node scripts/ci_monitor.cjs check-actions
  • git diff --check

Sonar CLI verify --file was attempted, but this organization does not have Agentic Analysis enabled (HTTP 403). The normal PR analysis remains the authoritative Sonar validation.

@sonarqubecloud

sonarqubecloud Bot commented Aug 1, 2026

Copy link
Copy Markdown

@aksOps
aksOps merged commit 5ec1312 into main Aug 1, 2026
9 checks passed
@aksOps
aksOps deleted the fix/sonar-defects branch August 1, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant