fix(selfhost): log blob-store path-traversal gets distinctly from misses - #6343
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
get() still returns null for escaped keys (safe miss for /loopover/shot), but emits a structured warn instead of swallowing pathFor failures like ordinary ENOENT. Closes JSONbored#6283 Co-authored-by: Cursor <cursoragent@cursor.com>
|
Tip ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-16 03:07:13 UTC
Review summary Nits — 4 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report❌ Patch coverage is
❌ Your patch status has failed because the patch coverage (71.42%) is below the target coverage (99.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #6343 +/- ##
==========================================
- Coverage 95.60% 95.60% -0.01%
==========================================
Files 597 597
Lines 47185 47191 +6
Branches 15017 15019 +2
==========================================
+ Hits 45113 45117 +4
Misses 1290 1290
- Partials 782 784 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Summary
createFsBlobStore().get()so apathFortraversal failure is logged as structuredselfhost_blob_key_escapes_base_dirbefore returningnull.put()/delete()keep throwing the check unguarded.Closes #6283
Test plan
npx vitest run test/unit/selfhost-blob-store.test.ts(8 pass)validate-code)Made with Cursor