Skip to content

FEAT: Add AdversarialPoetryConverter (verse reformulation jailbreak, arXiv:2511.15304) #4290

Open

Description

Is your feature request related to a problem? Please describe.

PyRIT has no converter for the adversarial poetry jailbreak. Bisconti et al. (arXiv:2511.15304, v3 Jan 2026) show that rewriting a harmful request as a poem is enough to get past refusal training on many current models, in a single turn and with no other trick. They converted 1,200 MLCommons AILuminate prompts into verse with a fixed meta-prompt and scored the responses with a 3-judge majority plus human review: 43.07% attack success across 25 models, against 8.08% for the same prompts in prose. Hand-written poems reached 62%. Results varied a lot by provider (DeepSeek 72.04%, Anthropic 5.24% on the converted set), which is exactly the kind of difference a red team wants to measure.

Describe the solution you'd like

An AdversarialPoetryConverter, built the same way as TenseConverter and ToneConverter:

  • pyrit/converter/adversarial_poetry_converter.py: subclass of LLMGenericTextConverter, with converter_target and an optional prompt_template
  • pyrit/datasets/converters/adversarial_poetry_converter.yaml: the meta-prompt. It asks for a short poem that keeps the request's intent in metaphor and imagery and ends with one plain line stating the request, which is the structure the paper describes
  • Unit tests and a section in the converter docs

The paper does not publish its meta-prompt or its poems, so the template is our own and follows the paper's description. I'd say that in the docstring rather than claim we reproduce their numbers.

Before opening the PR I can run a small live check (prose vs poem on the same objectives, same target and scorer) and put the measured success rates in the PR description.

Scoping question

Should this start as a converter only, like TenseConverter and ToneConverter, or also be registered in the technique catalog?

Activity

  1. shashank03-dev commented on Nov 14, 2026

    @shashank03-dev
    ContributorAuthor

    I would like to take this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions