ZeroLeaks
ZeroLeaks Package

Probe Library

100+ probes across 15+ categories. getAllProbes, getProbesByCategory, getProbesForDefense.

Probe Library

zeroleaks includes a comprehensive probe library for extraction and injection testing. Probes are attack prompts or sequences designed to elicit leakage or compliance from the target.

Probe Interface

interface Probe {
  id: string;
  category: string;
  technique: string;
  prompt: string;
}

Extended probes (modern format) include additional metadata:

interface ExtendedProbe {
  id: string;
  category: AttackCategory;
  technique: string;
  prompt: string;
  phase: AttackPhase[];
  defenseLevel: DefenseLevel[];
  requiresContext: boolean;
  multiTurn: boolean;
  expectedSuccessRate: number;
  sophistication: number;
  stealthiness: number;
}

Categories

CategoryDescription
directStraightforward extraction attempts
encodingBase64, ROT13, Unicode bypass
personaDAN, DUDE, roleplay personas
socialPsychological manipulation, trust building
technicalContext manipulation, XML injection
advancedCutting-edge techniques
crescendoMulti-turn gradual escalation
many_shotContext priming with examples
cot_hijackChain-of-thought manipulation
ascii_artVisual obfuscation
reasoning_exploitReasoning model attacks
policy_puppetryFormat exploitation (YAML, JSON)
context_overflowLong context attacks
hybridHybrid prompt injection (XSS/CSRF patterns)
tool_exploitTool calling and MCP exploits
garak_inspiredNVIDIA Garak-inspired probes
injectionDirect prompt injection (instruction override, role hijack, etc.)

Functions

getAllProbes()

Returns all probes in legacy format (id, category, technique, prompt).

import { getAllProbes } from "zeroleaks";

const probes = getAllProbes();
// probes.length > 100

getAllExtendedProbes()

Returns all probes with full metadata (phase, defenseLevel, expectedSuccessRate, etc.).

import { getAllExtendedProbes } from "zeroleaks";

const probes = getAllExtendedProbes();

getProbesByCategory(category)

Filter probes by category.

import { getProbesByCategory } from "zeroleaks";

const directProbes = getProbesByCategory("direct");
const crescendoProbes = getProbesByCategory("crescendo");

getProbesForDefense(defenseLevel)

Get probes suitable for a given defense level (none, weak, moderate, strong, hardened).

import { getProbesForDefense } from "zeroleaks";

const probes = getProbesForDefense("moderate");

getProbeSequence(sequenceId)

Get a predefined multi-turn probe sequence.

import { getProbeSequence } from "zeroleaks";

const sequence = getProbeSequence("crescendo_v1");

getProbesForPhase(phase)

Get probes for a specific attack phase (reconnaissance, profiling, soft_probe, escalation, exploitation, persistence).

import { getProbesForPhase } from "zeroleaks";

const probes = getProbesForPhase("escalation");

Category-Specific Exports

Individual probe sets are exported:

import {
  directProbes,
  personaProbes,
  socialProbes,
  technicalProbes,
  advancedProbes,
  modernProbes,
  crescendoProbes,
  cotHijackProbes,
  manyShotProbes,
  asciiArtProbes,
  reasoningExploitProbes,
  policyPuppetryProbes,
  contextOverflowProbes,
  hybridProbes,
  toolExploitProbes,
  garakInspiredProbes,
  injectionProbes,
} from "zeroleaks";

Garak-Inspired Helpers

import {
  getAllGarakProbes,
  getGarakProbesBySeverity,
  getGarakProbesByModule,
} from "zeroleaks";

Hybrid and Tool Exploit Helpers

import {
  getHybridProbesByType,
  getHybridProbesForDefense,
  getToolExploitsByType,
  getToolExploitsForDefense,
} from "zeroleaks";

Injection Probes

Injection probes test instruction override, behavior modification, policy bypass, role hijack, output manipulation, and guardrail bypass. Use getInjectionProbesByType or getInjectionProbesForDefense for filtered sets.

On this page