Description-only preset edits split comma-containing exact goals into separate goals

クローズ 初心者向け
#3,754 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

関連するプルリクエストがすでにマージされています。

  • #3781 @MRX-72 による — マージ済み
  • #3829 @RohithPariki による — マージされずにクローズ

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
react, typescript
領域
frontend

調査の方向性

frontend/src/components/Scenarios/parameterForm.tsから始め、特に103~107行目のリストのシリアライズを確認し、ScenarioPresetEditorが変更されていない目標値をどのように送信するかを追ってください。説明だけを編集したときに目標の内容、順序、重複、空のリストが保持されるよう、リストの値を損失なく扱ってください。カンマを含む目標について報告されたケースと、列挙されている他のエッジケースを検証してください。

索引モデルが issue の本文から書いたものです。

説明

help wanted
Describe the bug

Editing only a scenario preset description serializes an unconstrained list of exact goals as comma-joined text, then splits commas inside individual goal strings into new goals.

Steps/Code to Reproduce

Open a preset with goals ['Hello, world!', 'Second goal'], edit only Description, and save through the ScenarioPresetEditor form.

Expected Results

Unrelated edits preserve the original list elements and order exactly: ['Hello, world!', 'Second goal'].

Actual Results

Editor submitted ['Hello', 'world!', 'Second goal']; goal count changed from two to three and behavioral preset identity changed. Both old and new payloads pass the actual scenario preset/configuration validators, so validation does not detect the data loss.

Verified source reference: parameter form list serialization.

Proposed fix/regression: keep list values structured or use a lossless representation; preserve untouched stored values. Cover commas, significant whitespace, empty lists, duplicates, and order. This differs from empty SearchReplace scalar strings (finding 48).

Screenshots

Not applicable; submitted payload is inline.

Versions

Tested commit d3446e045960b5ebee4641aa70fdeb03af186587, PyRIT 1.2.0.dev0, offline actual React component/router with deterministic service mocks; backend model/config validators accepted both payloads. Evidence: files/evidence/round12/comma-goal-payload.json and regressions.txt; local paths are not attachments.

主要言語
Python
スター
4.7k
フォーク
1k
平均マージ
2日 3時間
マージ済み PR(30日)
450

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microsoft/PyRIT のほかの issue

microsoft/PyRIT の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。