BUG: within word punctuation insertion can never land at the last two positions of the prompt
Maintainer antworten meist innerhalb von 2 Tagen
@ManoharPaturi arbeitet bereits daran.
Seit 27.10.2026.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 76/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- python
- Bereich
- testing-qa
Rechercherichtung
Lies zuerst InsertPunctuationConverter._insert_within_words und den zugehörigen Docstring und sieh dir anschließend die Tests für InsertPunctuationConverter an. Reproduziere das gemeldete Verhalten mit dem dreistelligen Prompt abc und den Seeds 0 bis 299. Fertig ist die Aufgabe, wenn jede Einfügeposition erreicht werden kann, auch direkt vor dem letzten Zeichen und nach dem letzten Zeichen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
InsertPunctuationConverter._insert_within_words samples insertion indices from range(len(prompt_list) minus 1), so for a prompt of n characters only positions 0 through n minus 2 are ever chosen. Of the n plus 1 possible insertion points, a punctuation mark can never land immediately before the last character or after the final character, no matter the seed.
For the three character prompt abc, 300 different seeds produce only prefixes at offsets 0 and 1: outputs like ab!c or abc! are unreachable, while the method docstring says punctuation is inserted at any indices in the prompt.
Expected Behavior
Every insertion point of the prompt, before the first character through after the last, should be reachable.
Reproduction Steps
- Run
InsertPunctuationConverter(between_words=False, word_swap_ratio=1.0, seed=s).convert_async(prompt="abc", ...)for seeds 0 through 299. - Collect the offset of the inserted punctuation.
- Only offsets 0 and 1 ever appear on main.
Minimal Reproduction
offsets = set()
for seed in range(300):
out = await InsertPunctuationConverter(between_words=False, word_swap_ratio=1.0, seed=seed).convert_async(prompt="abc", input_type="text")
offsets |= {i for i, ch in enumerate(out.output_text) if not ch.isalnum()}
# {0, 1} on main
Environment
PyRIT main. Python 3.11.
- Vorherrschende Sprache
- Python
- Sterne
- 4.7k
- Forks
- 980
- Ø Merge
- 2 T. 9 Std.
- Gemergte PRs (30 T.)
- 433
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus microsoft/PyRIT
-
BUG: Garak and ML-VLSU loaders still load one example when max_examples is 0 or negativeEvtl. vergeben @ShivamSharma43 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 2 Tagen
-
BUG: ComicJailbreak max_examples counts goals that render nothing, so templates=["code"] with max_examples=10 failsEvtl. vergeben @ShivamSharma43 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 2 Tagen
-
BUG: SeedDatasetFilter matches harm_categories, modalities and size case-sensitively, unlike tagsEvtl. vergeben @ShivamSharma43 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Conversation drawer shows the previous attack's conversations after switching attacksEvtl. vergeben @ManoharPaturi hat das vor 1 Tag übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
microsoft/PyRIT#3575 · 2 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Conversation draft turns permanently dirty when applied conversions match no pieceEvtl. vergeben @ManoharPaturi hat das vor 1 Tag übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
microsoft/PyRIT#3573 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in microsoft/PyRIT
Ähnliche Issues
-
filesystem: `file://C:/...` bucket_url is read as a UNC share named `C:` and silently lists no filesOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
comp/desktop desktop/shell os/windows P3 tool/file type/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
NousResearch/hermes-agent#145928 ·
Maintainer antworten meist innerhalb von 1 Tag
-
integration:coding-agents
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 83/100
vectorize-io/hindsight#6151 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
FormalLanguageConstrainedPathQuerying/FLPQ_Data#174 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[VLM] granite_vision preset produces empty output and runs ~3× slower with Granite Vision 3.3-2B than with Granite Vision 4.1-4BEvtl. vergeben @prassu017 hat das heute übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
docling-project/docling#5068 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag