Security: Classify S5332 HTTP hotspots and document internal Docker networking boundary#284
Merged
Merged
Conversation
7 tasks
- Create docs/security/internal-networking.md documenting TLS boundary, internal Docker networking, hotspot classification, and future considerations - Add NOSONAR: S5332 comments to all internal Docker-network service URLs in production TypeScript source files (health.ts, internal-auth.ts, account.ts, messages.ts, blog.ts, admin.ts, billing.ts, logoutCookies.ts, e2e auth route, middleware.ts already annotated) - Add NOSONAR: S5332 comments to marketing-site source files (config.ts, search/index.ts) - Add NOSONAR: S5332 comments to Python production source files (analysis-worker config, admin-service config, document-ingestion config, shared/config.py, billing-service config, docx_extractor namespace URI) - Add NOSONAR: S5332 comments to Python test files (analysis-worker test_internal_api_key.py, document-ingestion scanner tests, conftest.py http://test httpx transport base URLs, ai-orchestrator JSON schema ID) - Add NOSONAR: S5332 comments to TypeScript test files (MSW handler setup lines, playwright configs, checkout/billing E2E test URLs, logoutCookies test, admin-visibility E2E spec, publicMessages marketing-site tests) - Add NOSONAR: S5332 comments to manual test harnesses in data/Testing/ All 323 app-frontend unit tests pass. All 74 marketing-site unit tests pass. All 22 document-ingestion service tests pass. All 14 analysis-worker tests pass. Agent-Logs-Url: https://github.com/NickLetts2/Curvit/sessions/6ed98df5-a975-4f0d-ac6c-c3d3c87d77b1 Co-authored-by: NickLetts2 <90337962+NickLetts2@users.noreply.github.com>
- Remove redundant file-level NOSONAR from internal-auth.ts (keep inline only) - Replace block-level NOSONAR comment in health.ts with inline-only approach - Fix conftest.py NOSONAR placement to be inline on URL-containing lines - Fix test_internal_api_key.py docstring to have NOSONAR outside string literal - Replace file-level NOSONAR comments in playwright configs with precise inline comments on each URL-containing line Agent-Logs-Url: https://github.com/NickLetts2/Curvit/sessions/6ed98df5-a975-4f0d-ac6c-c3d3c87d77b1 Co-authored-by: NickLetts2 <90337962+NickLetts2@users.noreply.github.com>
- Move NOSONAR from docstring closing in test_internal_api_key.py to a standalone comment line after the docstring - Clean up file-level comment in publicMessages.test.ts to not embed NOSONAR text in a regular comment (inline NOSONAR on call sites retained) Agent-Logs-Url: https://github.com/NickLetts2/Curvit/sessions/6ed98df5-a975-4f0d-ac6c-c3d3c87d77b1 Co-authored-by: NickLetts2 <90337962+NickLetts2@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Classify internal Docker HTTP URLs and document safe usage
Security: Classify S5332 HTTP hotspots and document internal Docker networking boundary
May 15, 2026
NickLetts2
added a commit
that referenced
this pull request
Jun 1, 2026
…urls Security: Classify S5332 HTTP hotspots and document internal Docker networking boundary
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SonarCloud flags many
http://URLs underpython:S5332/typescript:S5332. Most are internal Docker service addresses or test-only localhost URLs that are safe given Curvit's single-host architecture with TLS terminated at Traefik.Documentation
New file:
docs/security/internal-networking.mdNOSONAR annotations
Inline
// NOSONAR: S5332/# NOSONAR: S5332comments added on the exact flagged lines with brief justifications. Categories covered:Internal Docker service URLs — server-side only, never browser-facing:
E2E test loopback URLs — guarded by
PLAYWRIGHT_E2E=1/isPlaywrightE2EEnabled(), never reached in production:Test-only mock settings — no real network connections made:
XML/JSON Schema namespace identifiers — static identifiers for XML parsers, not network requests:
httpx test transport — standard httpx test convention;
ASGITransportnever makes real connections:Files annotated span:
apps/app-frontend/src/,apps/marketing-site/src/,workers/analysis-worker/app/,services/*/app/,shared/, and their respective test suites.