Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

FEAT GUI: Configure scenario attack techniques and converters

Abierto
#2,758 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
38/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python
Área
ai, frontend, security

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Python
Estrellas
4.5k
Forks
896
Merge medio
3 d 5 h
PR fusionados (30 d)
200

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/PyRIT

Todos los issues de microsoft/PyRIT

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.