BUG: within word punctuation insertion can never land at the last two positions of the prompt
Mantenedores costumam responder em até 2 dias
@ManoharPaturi já está trabalhando nisso.
Desde 27/10/2026.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 76/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- python
- Domínio
- testing-qa
Direção de pesquisa
Comece lendo InsertPunctuationConverter._insert_within_words e sua docstring; depois, examine os testes de InsertPunctuationConverter. Reproduza o comportamento relatado com o prompt de três caracteres abc e as seeds de 0 a 299. O trabalho estará concluído quando for possível alcançar cada ponto de inserção, inclusive imediatamente antes do último caractere e depois do caractere final.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 4.7k
- Forks
- 980
- Merge médio
- 2d 9h
- PRs com merge (30d)
- 433
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoft/PyRIT
-
BUG: Garak and ML-VLSU loaders still load one example when max_examples is 0 or negativeTalvez já em andamento @ShivamSharma43 assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 2 dias
-
BUG: ComicJailbreak max_examples counts goals that render nothing, so templates=["code"] with max_examples=10 failsTalvez já em andamento @ShivamSharma43 assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 2 dias
-
BUG: SeedDatasetFilter matches harm_categories, modalities and size case-sensitively, unlike tagsTalvez já em andamento @ShivamSharma43 assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 2 dias
-
Conversation drawer shows the previous attack's conversations after switching attacksTalvez já em andamento @ManoharPaturi assumiu há 2 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
microsoft/PyRIT#3575 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 2 dias
-
Conversation draft turns permanently dirty when applied conversions match no pieceTalvez já em andamento @ManoharPaturi assumiu há 2 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
microsoft/PyRIT#3573 · 1 responsável ·
Mantenedores costumam responder em até 2 dias
Todas as issues de microsoft/PyRIT
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
btclib-org/btclib-node#2132 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
freelawproject/juriscraper#2367 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
infra tech-debt
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
docs(k8s-api-proxy): name the service-account-token Secret path in the read-write mode commentAbertaneeds-triage
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 78/100
gke-labs/kube-agents#4190 ·
Mantenedores costumam responder em até 1 dia