Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

BUG remove_seeds_from_memory(harm_categories=...) deletes seeds whose categories only contain the value as a substring

オープン
#2,808 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

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

調査の方向性

Start at remove_seeds_from_memory and the list-filter handling for harm_categories, authors, groups, and parameters; inspect the existing _get_condition_json_array_match helper and the related seed-memory tests. Confirm that remove filters match whole list elements by default while get_seeds keeps substring behavior. Done means the reported hate example removes only the exact category and regression coverage passes.

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

説明

remove_seeds_from_memory(harm_categories=["hate"]) also deletes seeds tagged hate_speech, and even whatever. The list filters (harm_categories, authors, groups, parameters) go through field.contains(value), which is an unescaped LIKE '%value%' on the JSON text.

For get_seeds the substring match looks intentional (there are tests for it). But the remove methods already default value to an exact match so a short value can't wipe out more than you meant, and the list filters never got the same treatment.

seeds = [SeedPrompt(value="a", harm_categories=["hate"]),
         SeedPrompt(value="b", harm_categories=["hate_speech"]),
         SeedPrompt(value="c", harm_categories=["whatever"])]
await memory.add_seeds_to_memory_async(seeds=seeds, added_by="t")
memory.remove_seeds_from_memory(harm_categories=["hate"])  # removes all 3

Suggested fix: when exact=True (the default for removes), match whole list elements using the existing _get_condition_json_array_match helper, and leave get_seeds as is.

主要言語
Python
スター
4.5k
フォーク
896
平均マージ
3日 8時間
マージ済み PR(30日)
191

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

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

microsoft/PyRIT のほかの issue

microsoft/PyRIT の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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