HTML scenario export replaces an intentionally empty converted message with the original text

Ouverte Adaptée aux débutants
#3,741 1 commentaire 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

@VISHNU0906 y travaille déjà.

Depuis le 1/11/2026.

  • #3771 par @VISHNU0906 — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
77/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
data

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

help wanted
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

Ouvrir dans Codespaces

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de microsoft/PyRIT

Toutes les issues de microsoft/PyRIT

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.