Security — Snyk SAST hardening (path traversal, rate limiting, ignore policy)#3
Merged
AstroNoob-Tools merged 16 commits intomainfrom Feb 25, 2026
Merged
Security — Snyk SAST hardening (path traversal, rate limiting, ignore policy)#3AstroNoob-Tools merged 16 commits intomainfrom
AstroNoob-Tools merged 16 commits intomainfrom
Conversation
- catalogParser: detect -sub (Alt/Az) and _sub (EQ) suffixes; add mountMode field
- fileAnalyzer: dual subFolderEq/subFolderAltAz fields per object; mountMode ('eq'|'altaz'|'both')
- importService/mergeService/diskSpaceValidator: isSubframeNonFit() matches both -sub and _sub
- fileCleanup: iterate both sub-folders for cleanup and info; deleteSessionFiles accepts {folder,file} subFiles
- server.js: session delete API no longer needs subFolderPath
- dashboard: Mount Mode column in objects table; mode-aware badges and sub-folder cards in detail view; context-aware cleanup confirmation messages
…ion time fallback for objects without sub-frames
Added a verification step to check if SNYK_TOKEN is present before running Snyk tests.
…ols/SSLM into snyk-security-fixes
…zePath() wrapper All sanitizePath() call sites replaced with explicit inline checks: - Reject input if it contains '..' - Call path.resolve() directly so static analysis can track sanitisation - Removed unused sanitizePath() helper function mergeService.js: path.join() → path.resolve() when constructing destination paths from file.relativePath, providing defence-in-depth at the write sink.
|
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
…Node setup and debug steps
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.
Summary
isAllowedPath()helper — post-resolve allowlist check on all 15 path-accepting endpoints; validates resolved path starts with a Windows drive-letter root ([A-Z]:\) or UNC path (\server\share), replacing the previousincludes('..')denylist approach (CWE-22)lightLimiter(200 req/min) tier; applied to the 7 previously-unthrottled routes (GET /,GET /api/image,GET /api/browse/validate,GET /api/import/detect-seestar,POST /api/config,POST /api/favorites/add,POST /api/favorites/remove)snyk-ignoreinline suppressions removed — endpoints that now have proper controls no longer need comment-based suppression.snykpolicy file — clarified that Snyk Code (SAST) ignores are not read from this file; must be managed via Snyk web platformnotes/SNYK_IGNORE_REASONS.md— reference file with all 44 finding UUIDs and copy-paste reasons for adding web-platform ignoresTest plan
npm start— server starts, browser opens, all features work normallysnyk test— 0 vulnerable dependency paths[A-Z]:\roots)