Unicode normalization can manufacture a code fence and swallow a negation
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- security
Direzione di ricerca
Inizia in userWords in literal-match.ts e verifica l’ordine della normalizzazione e della rimozione dei code fence. Riproduci il caso di negazione con fullwidth-grave e il caso di curly-quotes descritti nell’issue. È completato quando la normalizzazione non genera più artificialmente un marker di fence e la negazione rimane effettiva.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
userWords in literal-match.ts runs normalize("NFKC") before it strips code fences. NFKC maps a fullwidth grave accent (U+FF40) to an ASCII backtick, so a message styled with fullwidth backticks around a negation loses the negation: the inline-code stripper removes what now looks like inline code.
Verified: `don’t` delete build matches rm -rf build, while the same message with ordinary curly quotes cancels correctly.
Fix: drop the blanket NFKC pass and map the apostrophe and quote code points directly, so normalization cannot manufacture a fence marker. Strip fences first if NFKC is still wanted for another reason.
Found by the review gate on #87 (round 3, P2). It reaches nothing live today: literalMatch is called by no production code until Phase 2 step 5 wires the decision order.
- Lingua principale
- TypeScript
- Stelle
- 0
- Fork
- 1
- Merge medio
- 1h 15m
- PR unite (30g)
- 49
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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 STRML/omp-classifier
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
STRML/omp-classifier#111 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
STRML/omp-classifier#107 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
STRML/omp-classifier#86 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
STRML/omp-classifier#81 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
STRML/omp-classifier#80 ·
Tutte le issue di STRML/omp-classifier
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
bcgov/bc-wallet-mobile#4761 · 1 commento ·
-
external-issue to-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
area-deployment area-integrations triage:bot-seen
Difficoltà 2/5 Mezza giornata Idoneità per principianti 86/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100