HTML scenario export replaces an intentionally empty converted message with the original text
Les mainteneurs répondent en général sous 2 jours
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 77/100
Piste de recherche
Lisez pyrit/output/scenario_result/html.py autour des lignes 107–112, où l’export HTML choisit entre les valeurs converties et les valeurs d’origine. Ajoutez une couverture d’intégration HTML pour une valeur texte d’origine avec converted_value='', en complément des tests d’export existants. Le travail est terminé lorsque la transcription HTML conserve la valeur convertie explicitement vide au lieu d’afficher le texte d’origine.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the bug
The HTML scenario report uses truthiness to choose converted content, so an intentional empty conversion is displayed as the original input and the export misrepresents what was sent.
Steps/Code to Reproduce
Build a scenario result containing original text ORIGINAL_WAS_REMOVED and converted_value='', then export HTML.
Expected Results
Render the explicit empty converted value. If original text is shown for comparison, label it separately.
Actual Results
Memory and JSON preserve converted_value='', but HTML transcript renders <div class="piece">ORIGINAL_WAS_REMOVED</div> because both text and media branches use converted_value or original_value.
Verified source reference: HTML scenario export.
Proposed fix/regression: fallback only for None/missing values; add HTML integration coverage for original text plus explicit empty converted text.
Screenshots
Not applicable; rendered snippet is inline.
Versions
Tested commit d3446e045960b5ebee4641aa70fdeb03af186587, PyRIT 1.2.0.dev0, offline real SQLite/export fixtures; no live inference or Azure SQL. Evidence: files/evidence/round7/full-report.html and export-inconsistencies.json; local paths are not attachments.
- Langage dominant
- Python
- Étoiles
- 4.7k
- Forks
- 1k
- Merge moyen
- 2 j 3 h
- PR mergées (30 j)
- 450
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de microsoft/PyRIT
-
BUG: LLMGenericTextConverter identifier changes between processes for set-valued template parametersOuverteBug: triage
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 2 jours
-
BUG: SelfAskGeneral scorers leave their output keys out of the identifierPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. OuverteBug: triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 2 jours
-
Description-only preset edits split comma-containing exact goals into separate goalsPeut-être pris @MRX-72 l’a pris il y a 2 jours. Ouvertehelp wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 2 jours
-
GUI rejects valid empty-string SearchReplaceConverter settings, preventing deletion convertersPeut-être pris @Darshika140 l’a pris il y a 1 jour. Ouvertehelp wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
microsoft/PyRIT#3749 · 3 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
-
ReferenceField has no component tests and only 42.4% line coveragePeut-être pris @ppcvote l’a pris aujourd’hui. Ouvertehelp wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de microsoft/PyRIT
Issues similaires
-
ci-rerun: collect.py fails a whole pr-babysit cycle on one transient GitHub 5xx and never retriesOuvertefollow-up
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Built-in QUBO fallback applies bitwise xor to floating binary statesPeut-être pris @iloveeyjafjalla l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
qboson/kaiwu-pytorch-plugin#1702 ·
Les mainteneurs répondent en général sous 3 jours
-
bug v2
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
modelcontextprotocol/python-sdk#3811 ·
Les mainteneurs répondent en général sous 1 jour
-
cost:cheap practicality:seen-in-the-wild severity:medium
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
fairagro/m4.2_advanced_middleware_api#620 ·
Les mainteneurs répondent en général sous 1 jour