Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Dynamic Review: Unicode tag-character text hidden in repository files reaches the model untouched

Aperta
#247 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
12/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
python
Ambito
security

Direzione di ricerca

Read PR #246 and its review at the linked URL, then the escape code in runner/src/code_reviewer_runner/dynamic_review/tagescape.py. Check how the size accounting in #232 (T06, T08) depends on returned text being unchanged. Done means a recorded decision (strip, flag as evidence, or leave) with the reasoning, and any change limited to tagescape.py. This needs maintainer input before any code is written.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area: runner type: chore

Part of epic #193. Low priority; not a blocker for enabling opencode in #202.

Problem

Unicode tag characters (U+E0000 to U+E007F) render as nothing but map one to one onto ASCII (U+E0041 is "A"). Text written in them ("ASCII smuggling") can carry instructions that a reader does not see and some models decode. #243 (PR #246) ignores tag characters when it matches the <system-reminder> tag and chat-template tokens in a tool result, so a tag spelled with them is escaped. It does not touch tag-character text elsewhere in a repository file: a README, a comment or a string literal that holds hidden instructions is passed to the model untouched, in every tool result and in the checkout.

Task

  • Decide whether to strip the tag block (and the other Default_Ignorable_Code_Point characters) from tool-result text, flag it as evidence, or leave it. Everything read from a pull request is untrusted data; a strip changes the bytes the model sees, so the size accounting (#232-T06, T08) and the "text is returned as it was" rule of the escape need a decision.
  • If handled, keep it small, linear-time and idempotent, and in the same place as the escape (runner/src/code_reviewer_runner/dynamic_review/tagescape.py).

Source

Review of PR #246, "Bypasses and the 'not covered' choices": https://github.com/ExpidetGames/code-reviewer/pull/246#pullrequestreview-5511487009

Lingua principale
TypeScript
Stelle
0
Fork
1
Merge medio
1h 15m
PR unite (30g)
168

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ExpidetGames/code-reviewer

Tutte le issue di ExpidetGames/code-reviewer

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.