OpenAI ChatGPT Enterprise Jailbreak Prompt Heuristics

Last updated 5 days ago on 2026-10-23
Created 5 days ago on 2026-10-23

About

Detects ChatGPT Enterprise user messages that combine two or more common jailbreak techniques: overriding prior or system instructions, switching the assistant into an unrestricted persona or mode (for example DAN or developer mode), asking it to operate without safety restrictions or filters, or asking it to reveal its system prompt. Jailbreak prompts stack these techniques to talk the model out of its safety policy, and a user doing so in a managed workspace may be attempting to generate prohibited content or to probe the workspace's controls. Requiring more than one technique keeps documents that merely quote a single jailbreak phrase from alerting.
Tags
Domain: GenAIPlatform: OpenAIData Source: OpenAI ChatGPT EnterpriseService: OpenAI ChatGPT EnterpriseUse Case: Policy ViolationUse Case: Threat DetectionRule Type: ES|QLTactic: Defense EvasionMitre Atlas: AML.T0051Mitre Atlas: AML.T0054Language: esql
Severity
medium
Risk Score
47
MITRE ATT&CK™

Defense Evasion (TA0005)(external, opens in a new tab or window)

False Positive Examples
Security, red team, and AI safety staff who paste jailbreak samples, threat models, or prompt-injection research into ChatGPT for analysis. Exclude these users or the workspaces they use for this work. Long documents such as design docs or detection specs that describe several jailbreak techniques together. Review `Esql.message_length` and the message context before escalating.
License
Elastic License v2(external, opens in a new tab or window)

Definition

Integration Pack
Prebuilt Security Detection Rules
Related Integrations

openai_chatgpt_enterprise(external, opens in a new tab or window)

Query
text code block:
from logs-openai_chatgpt_enterprise.conversation_message-* metadata _id, _version, _index | where data_stream.dataset == "openai_chatgpt_enterprise.conversation_message" and openai_chatgpt_enterprise.conversation_message.message.author.type == "user" and message is not null | eval Esql.message_text = to_lower(message), Esql.message_length = length(message) | eval Esql.has_instruction_override = case( Esql.message_text rlike """.*(ignore|disregard|forget|override) (all |any )?(of )?(your |the |my )?(previous|prior|above|earlier|original|system|developer) (instructions|prompts?|rules|guidelines|directives|programming).*""" or Esql.message_text rlike """.*(ignore|disregard|forget) (all |any )?(of )?(the )?(instructions|rules|guidelines) (you (got|were given|received)|given to you).*""" or Esql.message_text like "*forget everything you were told*", 1, 0 ), Esql.has_persona_switch = case( Esql.message_text rlike """.*(you are|act as|pretend (to be|you are)|roleplay as|from now on,? you are) (now )?(dan|stan|dude|aim|an? (unfiltered|unrestricted|uncensored|amoral) (ai|assistant|model|chatbot)).*""" or Esql.message_text like "*do anything now*" or Esql.message_text rlike """.*(enable|enter|activate|switch to) (developer|god|jailbreak|unrestricted|dan) mode.*""", 1, 0 ), Esql.has_restriction_removal = case( Esql.message_text rlike """.*(without|with no|free (of|from)|ignoring) (any |your |all )?(ethical |content |safety |moral )?(restrictions|filters|guidelines|limitations|censorship).*""" or Esql.message_text rlike """.*(bypass|disable|turn off|ignore) (your |the |all )?(safety|content) (filters?|polic(y|ies)|guidelines|guardrails).*""" or Esql.message_text rlike """.*(do not|does not|don't|doesn't) have to (abide by|follow|obey) (the |any |your )?(rules|guidelines|policies).*""", 1, 0 ), Esql.has_system_prompt_extraction = case( Esql.message_text rlike """.*(reveal|print|show|repeat|output) (me )?(your |the )?(full |hidden |original )?(system prompt|initial instructions|hidden instructions).*""", 1, 0 ) | eval Esql.indicator_count = Esql.has_instruction_override + Esql.has_persona_switch + Esql.has_restriction_removal + Esql.has_system_prompt_extraction | where Esql.indicator_count >= 2 | keep _id, _version, _index, @timestamp, message, user.id, user.email, openai_chatgpt_enterprise.conversation_message.conversation.id, openai_chatgpt_enterprise.conversation_message.conversation.title, openai_chatgpt_enterprise.conversation_message.message.id, Esql.message_length, Esql.indicator_count, Esql.has_instruction_override, Esql.has_persona_switch, Esql.has_restriction_removal, Esql.has_system_prompt_extraction, data_stream.*

Install detection rules in Elastic Security

Detect OpenAI ChatGPT Enterprise Jailbreak Prompt Heuristics in the Elastic Security detection engine by installing this rule into your Elastic Stack.

To setup this rule, check out the installation guide for Prebuilt Security Detection Rules(external, opens in a new tab or window).