Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

FEAT GUI: Configure scenario attack techniques and converters

Aperta
#2,758 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
38/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python
Ambito
ai, frontend, security

Direzione di ricerca

Start with ScenarioDetail and the form boundaries from #2653, then read ScenarioConfigurationResolver.resolve_techniques_and_converters(), AttackTechniqueFactory’s converter-composition support, and the existing converter registry/API controls. Trace the typed configuration through preview, estimate, confirmation, and launch. Done means the listed UI/service tests cover defaults, ordering, invalid combinations, stale estimates, and duplicate-baseline prevention.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

feature-request GUI not ready yet
Is your feature request related to a problem? Please describe.

The selected-example scenario should support standard attack techniques and converter options after its basic prompt-sending flow works. The existing Scanner form does not expose technique_converters, although the backend has registry-backed converter composition.

Work item 16 of 17 in #2744. Technical prerequisites: items 12-15. Keep not ready yet until promoted.

Describe the solution you'd like

Extend the shared scenario configuration UI with compatible registered technique choices and ordered additional converter pipelines. Keep prompt sending and no additional converters as the defaults.

  • Use the existing technique and converter registries. Show descriptions and required dependencies; do not hardcode attack classes or accept arbitrary Python configuration.
  • Preserve converter order and its association with the intended technique. Distinguish technique-owned converters from extra converters chosen here; selecting no extra converters must not strip a technique's built-in behavior.
  • Wire chosen converters into the prompt-sending path as well as supported additional techniques. Do not accidentally apply them only to non-baseline attacks.
  • Honor factory support for additional request converters, target modality support, required adversarial targets, and scorer requirements. Explain incompatible combinations without silently skipping selected work.
  • Keep preview, estimate, confirmation, and final run request based on one typed effective configuration. Show the planned execution count and avoid an accidental duplicate prompt-sending baseline.

Acceptance criteria:

  • The untouched form still runs only prompt sending with no additional converters.
  • Selecting compatible techniques and ordered converters produces the intended registry-backed configuration.
  • Converter ordering and per-technique mapping survive edits and are identical in estimate and launch.
  • Missing dependencies and unsupported composition/modality combinations have clear validation.
  • Existing Scanner defaults and other scenarios' baseline policies remain intact.
  • UI/service tests cover default behavior, configuration changes, stale estimates, invalid combinations, and duplicate-baseline prevention.
Describe alternatives you've considered, if relevant

Do not execute converters in the browser, reimplement attack algorithms in the backend, build an arbitrary scorer/attack editor, or duplicate the launch form. Reuse registered instances and existing composition contracts.

Additional context

Start with ScenarioDetail and the form boundaries from #2653, ScenarioConfigurationResolver.resolve_techniques_and_converters(), AttackTechniqueFactory's converter-composition support, and the existing converter registry/API controls. Follow framework, frontend, scenario, converter, and test instructions for touched files.

Lingua principale
Python
Stelle
4.5k
Fork
896
Merge medio
3g 8h
PR unite (30g)
191

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/PyRIT

Tutte le issue di microsoft/PyRIT

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.