Request: resolve case and Unicode folding when matching sandbox/settings-file paths
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- macos, typescript
- Ambito
- security
Direzione di ricerca
Start by locating the preflight glob for .claude/settings*.json and the sandbox denyWrite path-matching logic; the issue does not name source files or tests. Check how those paths are resolved on macOS, then determine whether the acceptance cases are refused; if the fix is deferred, the stated alternative is to document the case-sensitivity limit in the sandbox/denyWrite docs.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem. A per-agent sandbox preflight (a glob over .claude/settings*.json) and, suspected but unconfirmed, Claude Code's own sandbox.filesystem.denyWrite policy both appear to compare paths as literal strings. macOS's APFS file system is case-insensitive and Unicode-folding, and Claude's own file-open for settings.json/settings.local.json resolves through that folding. A differently-cased or Unicode-confusable spelling (Settings.Local.JSON, ſettings.json with U+017F long s, or a broken case-variant symlink) is invisible to a literal glob/string check but still resolves to the real settings file when Claude opens it — letting a sandboxed temp (reachable via --add-dir) plant a plugin-enabling config undetected.
Proposed fix. For any path-matching Claude Code does for sandbox denial or settings-file discovery under a --add-dir folder, resolve the path (stat/realpath) rather than literally string/glob-comparing it, so every spelling that the file system folds to the canonical name is caught. If not fixed immediately, document the case-sensitivity limit explicitly in the sandbox/denyWrite docs.
Acceptance. A write to Settings.Local.JSON, a long-s variant, or a case-variant broken symlink targeting .claude/settings.json/settings.local.json inside a sandboxed --add-dir folder is refused identically to the canonical spelling.
Supporting diagnosis (three concrete bypass spellings demonstrated, plus the pre-fix glob allowing one real write through) and exact internal evidence are available on request.
- Lingua principale
- TypeScript
- Stelle
- 8.5k
- Fork
- 1.2k
- Merge medio
- 12h 50m
- PR unite (30g)
- 63
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di HarnessMD/munder-difflin
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
HarnessMD/munder-difflin#805 ·
I maintainer di solito rispondono entro 1 giorno
-
Skills catalog shows Install for skills that are already installedForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
HarnessMD/munder-difflin#793 ·
I maintainer di solito rispondono entro 1 giorno
-
Monitor dispatch input is too small to send messagesForse già presa @rajpreetcodes l’ha presa 20 giorni fa. Apertabug os:macos
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
HarnessMD/munder-difflin#720 ·
I maintainer di solito rispondono entro 1 giorno
-
JetBrains Junie CLIApertaenhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
HarnessMD/munder-difflin#510 ·
I maintainer di solito rispondono entro 1 giorno
-
Ask Me counter counts down as questions are answered (5/5 to 1/5), which reads as questions disappearingForse di nuovo libera @xiechimon l’ha presa 47 giorni fa e non c’è nessuna pull request aperta. Apertabug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
HarnessMD/munder-difflin#267 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di HarnessMD/munder-difflin
Issue simili
-
🐛 bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
LibreChat-AI/LibreChat#17733 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
TypeStrong/typedoc#3150 ·
-
accessibility bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Normalize image-source MIME types before SVG dispatchForse già presa @HarsH-1877 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
tscircuit/image-utils#58 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
I maintainer di solito rispondono entro 2 giorni