GCP Vertex AI Jailbreak Prompt Heuristics
Description
Detects Vertex AI GenerateContent prompts that match common jailbreak / instruction-override heuristics (for example ignore previous instructions, DAN or developer mode, unrestricted-AI language, or explicit safety-filter bypass). Typical prompt_response_logs exports do not populate HARM_CATEGORY_JAILBREAK (unlike hate/harassment/dangerous ratings); Model Armor findings remain the preferred first-party jailbreak signal when that API is enabled.
Query · esql
from logs-gcp_vertexai.prompt_response_logs-* metadata _id, _version, _index
| where data_stream.dataset == "gcp_vertexai.prompt_response_logs"
| eval request_text = to_lower(coalesce(mv_concat(gcp.vertexai.prompt_response_logs.full_request.contents.parts.text, " "), ""))
| where
request_text rlike ".*ignore (all |your )?(previous|prior) instructions.*" or
request_text rlike ".*disregard (your |all |the )?(system|developer|prior).*" or
request_text rlike ".*(dan|stan|aim|dude) mode.*" or
request_text rlike ".*do anything now.*" or
request_text like "*bypass*safety*" or
request_text like "*bypass*content*filter*" or
request_text like "*bypass*content*polic*" or
request_text like "*no safety filter*" or
request_text rlike ".*without (any |your |content |safety )?restrictions?.*" or
request_text like "*no content restriction*" or
request_text like "*unrestricted ai*" or
request_text like "*jailbreak*" or
request_text like "*forget everything you were told*" or
request_text like "*you are dan*" or
request_text like "*developer mode*" or
request_text like "*override your safety*" or
request_text like "*hidden system prompt*" or
request_text like "*ignore the content policy*" or
request_text like "*ignore all previous*" or
request_text like "*ignore prior instructions*" or
request_text like "*ignore your previous*"
| keep
_id,
_version,
_index,
@timestamp,
cloud.project.id,
gcp.vertexai.prompt_response_logs.model,
gcp.vertexai.prompt_response_logs.api_method,
gcp.vertexai.prompt_response_logs.full_request.contents.parts.text,
gcp.vertexai.prompt_response_logs.full_response.candidates.content.parts.text,
gcp.vertexai.prompt_response_logs.full_response.candidates.finish_reason
Investigation fields
Pivot points the source recommends for triage.
cloud.project.idgcp.vertexai.prompt_response_logs.modelgcp.vertexai.prompt_response_logs.api_methodgcp.vertexai.prompt_response_logs.full_request.contents.parts.textgcp.vertexai.prompt_response_logs.full_response.candidates.content.parts.textgcp.vertexai.prompt_response_logs.full_response.candidates.finish_reason
Implementation guide
Requires GCP Vertex AI prompt_response_logs. For a higher-fidelity jailbreak signal, enable Model Armor / AI Protection
and ingest those findings separately when available.
Known false positives
- Approved red-team or evaluation prompts that deliberately include jailbreak strings. Exclude known test principals or lower severity for those models.
Analyst notes
Investigating GCP Vertex AI Jailbreak Prompt Heuristics
The user prompt matched common jailbreak / instruction-override language (for example "ignore
previous instructions", DAN/"Do Anything Now", or "bypass the safety filter"). This is a content
heuristic on prompt text — not a Model Armor finding or a Gemini HARM_CATEGORY_JAILBREAK
safety rating (that category is often absent from prompt_response_logs). Read the response to
see whether the model refused or complied.
Possible investigation steps
- Read
full_request.contents.parts.textandfull_response.candidates.content.parts.text. Confirm intent is instruction override or filter bypass versus an innocent mention of the word "jailbreak". - Note
finish_reason:STOPwith a helpful reply after a jailbreak attempt is higher priority than a clear refusal;SAFETYmeans the provider blocked generation. - Correlate with
logs-gcp_vertexai.auditlogs-*GenerateContent in the same window forsource.ipandclient.user.email. - Check for related alerts: repeated refusals, elevated safety ratings, credentials in prompt, or BLOCK_NONE from the same caller/model.
False positive analysis
- Approved red-team, evaluation, or Model Armor test suites that deliberately include jailbreak strings. Exclude known test principals or models.
- Documentation that mentions "developer mode" or "without restrictions" in a non-adversarial context. Read the full prompt before escalating.
Response and remediation
- If not an approved test: investigate the calling principal/IP, restrict or rotate credentials, and add application-side input filtering.
- Prefer enabling Model Armor / AI Protection for a first-party jailbreak or prompt-injection signal when available.