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

Offen Anfängerfreundlich
#3,741 1 Kommentar 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

@VISHNU0906 arbeitet bereits daran.

Seit 01.11.2026.

  • #3771 von @VISHNU0906 — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
77/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
data

Rechercherichtung

Lies pyrit/output/scenario_result/html.py im Bereich der Zeilen 107–112, wo der HTML-Export zwischen konvertierten und ursprünglichen Werten auswählt. Ergänze neben den bestehenden Exporttests eine HTML-Integrationsprüfung für einen ursprünglichen Textwert mit converted_value=''. Das Ziel ist erreicht, wenn das HTML-Transkript den explizit leeren konvertierten Wert beibehält, anstatt den ursprünglichen Text anzuzeigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
Python
Sterne
4.7k
Forks
1k
Ø Merge
2 T. 2 Std.
Gemergte PRs (30 T.)
439

Entwicklungsumgebung

In Codespaces öffnen

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

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/PyRIT

Alle Issues in microsoft/PyRIT

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.