Skip to content
← AI red teaming: techniques, open-source tools and automated pipelines

Lesson 6 of 18 · 9 min

Multi-turn attacks: Crescendo and Skeleton Key

See why a conversation can succeed where a single message fails, what Microsoft’s two published multi-turn techniques do at a high level, and how to test and defend whole conversations.

Not every attack happens in one shot. In multi-turn attacks the adversary builds on earlier replies, escalating step by step. The series’ sixth episode focuses on two techniques that Microsoft published in 2024 and that its red team uses often: Skeleton Key and Crescendo [1].

Animated diagram with two panels. On the left a single direct request meets an input filter and is refused. On the right four conversation turns appear one after another, each passing a per-message check with a green tick, while a risk meter rises. At the fourth turn a conversation monitor flags the drift and stops it.
A per-message filter sees each turn alone. The risk is in the trajectory of the whole conversation.

Skeleton Key

Microsoft’s June 2024 write-up describes Skeleton Key as a jailbreak that “works by using a multi-turn (or multiple step) strategy to cause a model to ignore its guardrails”. Once the guardrails are ignored, the model can no longer tell malicious requests from ordinary ones [2]. The episode’s description is that the user’s early message reframes the situation, as a safe educational context for which uncensored output is needed, and asks the model to update its behaviour accordingly. The system message is effectively overridden and later turns inherit that change [1]. The exact wording is deliberately not reproduced here.

Microsoft’s recommended mitigations are four layers: input filtering, a system message that explicitly resists attempts to undermine its rules, output filtering, and abuse monitoring that looks for recurring malicious behaviour without being influenced by it [2].

Crescendo

Russinovich, Salem and Eldan introduced Crescendo in April 2024. The central mechanism, in their words, is that it “begins with a general prompt or question about the task at hand and then gradually escalates the dialogue by referencing the model’s replies progressively”, leading to a successful jailbreak. They report it working across several widely used models, describe an automated variant, and note that it extends to multimodal models [3].

The series demonstrates the shape with a harmful topic that is refused when asked directly, and then answered after the conversation starts with a historical question, follows one detail of the reply, and narrows step by step. The key observation is that each message, taken alone, is not obviously harmful and the model has no reason to refuse; and that the model’s own earlier answers supply the material for the next question [1]. You can reproduce the shape safely with a canary objective, such as getting a planted token revealed, in your own test application.

Why a per-message check is not enough

  • Each turn passes a filter that judges messages one at a time, yet the sequence is the attack.
  • The context grows with every turn, and the model’s earlier replies become part of what it reads next.
  • Refusals are usually tied to a surface form of the request, so a request approached from a tangent may not trigger one.

Testing multi-turn behaviour

  1. Define a canary objective and a scorer, as in single-turn tests.
  2. Run the direct request first, to confirm the baseline refusal.
  3. Run an escalating conversation by hand, then through an automated multi-turn tool (lesson 12). Set a turn limit, and allow backtracking when the model refuses, as the series’ automation does.
  4. Log the full conversation, not just the last reply, so you can see where the drift began.

Defending conversations

The defensive implication is to evaluate the conversation as a unit. Classify output as well as input, watch for abuse patterns over time, and test the defence the same way you test the attack, with whole conversations. Microsoft’s four layers above apply directly, and Lesson 10 adds spotlighting and others.

Key takeaways

  • Multi-turn attacks escalate through a conversation, using the model’s earlier replies.
  • Skeleton Key asks the model to update its rules, so later turns inherit the change; Crescendo escalates gradually.
  • A filter that judges one message at a time can miss a harmful trajectory.
  • Test with full conversations, a turn limit and backtracking, and log everything.

Check yourself

  1. 1. What is the central mechanism of Crescendo?

    • Starting general and gradually escalating by referencing the model’s replies — Right.
    • Encrypting the prompt
    • Changing the model’s weights
    • Sending one very long prompt

    That is how Russinovich, Salem and Eldan describe it.

  2. 2. What do Microsoft’s four Skeleton Key mitigations include?

    • Input filtering, a hardened system message, output filtering and abuse monitoring — Right.
    • Disabling the network
    • Deleting the model
    • Longer prompts

    The four layers work together.

  3. 3. Why can a per-message filter miss a multi-turn attack?

    • Each turn looks acceptable alone while the sequence is the attack — Right.
    • Filters cannot read text
    • Conversations are encrypted
    • Filters run only once a day

    The risk is in the trajectory, not in any single message.

  4. 4. What should a multi-turn test log?

    • Only the last reply
    • The full conversation — Right.
    • Nothing
    • Only the first prompt

    The full record shows where the drift started.

Do it with FireAI

Put this lesson into practice on your own Mac.

Sources

Put it into practice on your Mac

Try every feature free for 17 days, no card needed.

Download for Mac Docs