PromptShieldTarget drops prompt text after each </document> tag
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Inizia individuando PromptShieldTarget._input_parser e confronta il suo ciclo con l’esempio nel docstring della classe. Riproduci il problema con l’input fornito, quindi assicurati che il testo dopo ogni tag e il testo tra i documenti rimangano in userPrompt, mentre i contenuti dei documenti continuano a essere raccolti; esegui nuovamente i test PromptShieldTarget pertinenti, se disponibili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
what happens
PromptShieldTarget._input_parser drops every piece of text that comes after a closing </document> tag. the loop keeps only the segment before each closing tag as the document and never appends contents[1], so trailing prompt text and text between documents is silently excluded from the userPrompt sent to Azure Prompt Shield.
for prefix question <document> doc1 </document> trailing question <document> doc2 </document> end text, the parsed userPrompt is just prefix question and the jailbreak scan never sees trailing question or end text.
repro
input_str = 'q1 <document> d1 </document> q2 <document> d2 </document> q3'
user_prompt = ""
documents = []
for element in input_str.split("<document>"):
contents = element.split("</document>")
if len(contents) == 1:
user_prompt += contents[0]
else:
documents.append(contents[0])
print(repr(user_prompt)) # 'q1 ' — q2 and q3 are gone
expected
text after each closing tag flows into the userPrompt, matching how the example in the class docstring reads.
env: main 5503ecb
- Lingua principale
- Python
- Stelle
- 4.5k
- Fork
- 896
- Merge medio
- 3g 1h
- PR unite (30g)
- 208
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 microsoft/PyRIT
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/PyRIT
Issue simili
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
vllm-project/vllm-metal#822 ·
I maintainer di solito rispondono entro 1 giorno
-
vector-store
Difficoltà 1/5 1-3 ore Idoneità per principianti 90/100
mem0ai/mem0#7461 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: chunk_span_bounds and _validated_chunk_spans reject Pydantic models ChunkSpan and AudioFileAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
BasedHardware/omi#19047 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno