garak vs DeepTeam

garak is a command-line scanner that probes a model endpoint and writes JSONL attempt reports. DeepTeam is a Python framework that runs mapped vulnerability suites with LLM-as-a-judge scoring. The right choice depends on who runs the test and what report the buyer needs.

On this page

garak vs DeepTeam: which one fits your red team and report

A security or platform team that must test an LLM system before release needs evidence it can show a reviewer, and the two tools produce different kinds. Choose garak when you want to scan a model or endpoint from the command line and receive probe and detector reports. Choose DeepTeam when engineers will write Python test suites and you need OWASP, NIST AI RMF and MITRE ATLAS mappings with multi-turn attacks in the same run. Both are Apache-2.0 licensed and both run on your own machines, so neither adds a hosted service to the test itself. The decision turns on three things: who runs the test (security analysts working from a CLI or developers writing code in the pipeline), what report the buyer must file, and the model API key and judge costs that DeepTeam requires.

garak is installed from PyPI with pip and requires Python 3.11 or newer. Its probes generate attacks for hallucination, data leakage, prompt injection, misinformation, toxicity and jailbreaks, and its detectors judge each output. The default probewise harness runs each probe with its recommended detectors, makes 5 generations per prompt by default, and marks a probe FAIL when any attempt produces undesirable output. Each run writes a JSONL file of every attempt and its evaluation, which suits an analyst who needs raw records for a ticket. Confirm that your target is supported: garak connects to Hugging Face, OpenAI, AWS Bedrock, llama.cpp and REST endpoints described in a short YAML file. DeepTeam supports Python 3.9 up to but not including 3.14, so check your runtime image before choosing it. A team on 3.14 or later should confirm support with the maintainers before planning.

DeepTeam fits when developers own the test suite. It is built on DeepEval, lists more than 50 vulnerabilities across data privacy, responsible AI, security, safety, business, agentic and custom categories, and ships more than 20 attack methods, including multi-turn ones. Its built-in mappings cover the OWASP Top 10 for LLMs 2025, the OWASP Top 10 for Agents 2026, the NIST AI RMF and MITRE ATLAS, which helps when an assessor asks for control-level traceability. Budget for the model calls: an LLM generates the attacks and judges the responses, so each run needs OPENAI_API_KEY or another DeepEval-supported model, billed per call. Ask for the judge model and expected call volume in writing before you commit. Confident AI's commercial platform adds risk tracking and report sharing, but the DeepTeam repository works without it.

Which scenario favors garak and which favors DeepTeam

This table maps common red teaming scenarios to the tool with the better fit and the condition that decides it. Read each row as a starting point: where the deciding condition does not hold for your environment, the other tool or a combination may be the better choice.

ScenarioBetter fitDeciding condition
One-off scan of a hosted model endpointgarakYou need a command-line sweep of probes and detectors against a model you can reach through a supported generator or a REST endpoint, with a JSONL attempt log as the output.
CI gate for application prompts and system promptsNeither covers this alonegarak scans the model, while DeepTeam tests the application's behavior with an LLM judge. Confirm whether your pipeline needs application-level test cases, which may point you to a config-driven app tester.
Agent with tool use and multi-turn attacksDeepTeamYou need agentic and multi-turn attack coverage, and DeepTeam lists agentic vulnerability categories and multi-turn methods in its README. Confirm that its coverage matches your specific tools and permissions.
Audit that needs framework-mapped evidenceDeepTeamYour assessor expects results mapped to the OWASP LLM Top 10, NIST AI RMF or MITRE ATLAS. DeepTeam maps tests to these frameworks out of the box, but an assessor still decides whether the mapping satisfies the audit.
Team that wants guardrails in productionDeepTeamYou want binary input and output classifiers in the same toolkit as the tests. Garak does not provide runtime guardrails, so a separate guardrail library is needed if you choose it.
Air-gapped or tightly controlled network with no external model APIConfirm before choosingDeepTeam needs a model API key or a custom model that DeepEval supports to generate attacks and judge responses. garak has its own generator options. Confirm which judge models your environment can reach.
Reports for a security or risk committeeDepends on the report formatgarak produces a JSONL attempt log and a hit log. DeepTeam's commercial Confident AI platform adds risk assessment tracking and report sharing, which is a paid, separate product to evaluate.

How garak and DeepTeam are built and what that means for operations

garak and DeepTeam both run locally from Python, but they divide the work differently. garak separates attack generation, judging and target connection into plugin categories, while DeepTeam pushes judging through a model API on every test. The cards below cover what each design asks of your team at run time and during upkeep.

garak's five plugin categories

garak is assembled from probes that generate attacks, detectors that judge failures, evaluators, generators that reach the target, and harnesses that run them. Because each category is a separate plugin, you can swap a detector or add a probe without rewriting the scan. Check which detectors a probe uses by default, since the default harness runs each probe with its recommended detectors. Confirm your chosen probes still load after each version upgrade.

REST generator configured in YAML

To test an application rather than a bare model, garak's REST generator connects to any endpoint that returns plaintext or JSON, described in a short YAML file. This keeps the target definition in version control next to your pipeline. The practical risk is drift: when the chat API changes its request or response shape, the YAML breaks silently in ways that look like clean results. Add a smoke test that confirms the endpoint returns the expected fields before each scan.

DeepTeam's build on DeepEval

DeepTeam is built on DeepEval, so its attack generation, scoring and reporting share a Python dependency tree with the DeepEval evaluation stack. Teams already running DeepEval get one set of libraries and conventions to maintain. Teams that do not will add that dependency for red teaming alone. Pin both packages together and review the release notes of each before upgrading, because a change in the shared layer affects every test you run.

LLM-as-a-judge for every vulnerability

Each of DeepTeam's more than 50 vulnerabilities is scored pass or fail by an LLM-as-a-judge metric. This makes results readable for reviewers, but the verdict depends on the judge model you choose. A change of judge model can move results without any change to your application. Record the judge model and version alongside each report, and run a small set of known-good and known-bad answers to check the judge before you trust a score.

Model API keys at run time

DeepTeam needs a model API key, such as OPENAI_API_KEY or a custom model that DeepEval supports, to generate attacks and judge responses. Every run therefore sends prompts and responses to a model provider, and that call is billed by the provider on each test. garak's detectors run locally, but some generators still call hosted APIs. Ask your security team which model endpoints are approved, where keys are stored, and whether test traffic can contain sensitive data.

DeepTeam's seven guardrails

DeepTeam also ships seven guardrails for fast binary classification of inputs and outputs in production, including PromptInjectionGuard, PrivacyGuard, ToxicityGuard and CybersecurityGuard. These are a runtime control, not a scanner, so they add a second component to operate and monitor. garak does not include a runtime guard. Decide whether you need a production filter at all before you add a second dependency, and if you do, test the guards against your own traffic.

Capability differences that matter in a test program

This table compares how garak and DeepTeam differ on attack coverage, framework mappings, multi-turn testing, reporting, guardrails, CI fit and Python support. Read each row as a question to answer for your own test program, since the right tool often depends on which report your auditors or risk owners need.

CapabilitygarakDeepTeam
Attack coverageProbes for hallucination, data leakage, prompt injection, misinformation, toxicity generation and jailbreaks, combining static, dynamic and adaptive probesMore than 50 ready-to-use vulnerabilities across data privacy, responsible AI, security, safety, business, agentic and custom categories, each scored pass or fail by an LLM-as-a-judge metric
Framework mappingsOrganized by probe and detector plugins; confirm any mapping to external frameworks in the user guide before relying on itMaps tests to OWASP Top 10 for LLMs 2025, OWASP Top 10 for Agents 2026, NIST AI RMF, MITRE ATLAS, BeaverTails and Aegis out of the box
Multi-turn attacksProbe set centers on single-prompt attempts; confirm conversational coverage against the current probe listMore than 20 research-backed attack methods covering single-turn and multi-turn conversational red teaming
Reporting formatsJSONL report of every attempt and its evaluation, a hit log of successful attempts, and a garak.log file continued across runsResults are scored per vulnerability; confirm export formats and report contents, and whether Confident AI's platform is needed for sharing
GuardrailsNot a runtime guardrail product; it tests models and endpoints rather than filtering trafficIncludes 7 guardrails for fast binary classification of inputs and outputs, including PromptInjectionGuard, PrivacyGuard, ToxicityGuard and CybersecurityGuard
Judging and model dependencyDetectors judge each output; generators connect to Hugging Face, OpenAI, AWS Bedrock, llama.cpp and REST endpointsNeeds a model API key such as OPENAI_API_KEY or a custom DeepEval-supported model to generate attacks and judge responses
CI fitCommand-line tool installed from PyPI, so it can run in a pipeline; confirm exit codes and failure thresholds for your CI systemRuns locally as a Python framework, so it can run in a pipeline; confirm how results gate a build in your setup
Python version supportRequires Python 3.11 or newer for the PyPI packageSupports Python 3.9 up to but not including 3.14, per PyPI

What is free, what is paid and what the license allows

garak is licensed under Apache 2.0 and is developed in NVIDIA's GitHub organization. The maintainers describe it as a free tool and publish the user guide at docs.garak.ai. Using the scanner carries no license fee from the project itself, so your costs come from the model endpoints you test and from the people who configure and review the runs.

  • License terms: Apache 2.0 allows use, modification and redistribution, subject to its notice and attribution conditions. Have legal review the LICENSE file in the repository before you bundle garak into an internal product.
  • Maintainer statement: The maintainers call garak a free tool. Ask your legal team how that statement applies to a scanner that runs inside your own environment.
  • Commercial support: No paid support tier for garak is supplied in the research for this page. Confirm with NVIDIA through the project channels before assuming one exists.
  • Target provider charges: Hugging Face, OpenAI, AWS Bedrock and other generators bill you for the requests garak sends during a scan.

Before the first scan, check the license file and the billing terms of every model provider you plan to test.

What drives the running cost of each tool

Running either tool costs more than the software, which is free under Apache 2.0. The bill comes from engineer time, model API calls, CI compute and upkeep as releases change, and the split between these items differs sharply between garak and DeepTeam. Use these cards to build a quote request that compares like with like.

Model API spend for attacks and judging

DeepTeam needs a model API key, such as OPENAI_API_KEY or another model DeepEval supports, to generate attacks and to judge responses with its LLM-as-a-judge metrics. Every scan therefore bills against a model provider, and a broad vulnerability run with multi-turn attacks multiplies those calls. garak's judging depends on its detectors and generator setup, so confirm with your team which detectors and judge models a run will call and who pays for them. This spend recurs with every scan.

Engineer time to write suites

DeepTeam is a Python framework, so a team writes and maintains red teaming scripts that select vulnerabilities, attack methods and the target callback. garak is driven from the command line with probes, detectors and generator configuration, and custom REST endpoints need a short YAML file. The one-time setup is the larger cost for DeepTeam, while garak's cost tends to sit in configuring the generator and reviewing results. Ask any vendor or partner for the hours scoped to each.

CI compute and scan frequency

Running scans on every pull request costs CI minutes, runner capacity and, for DeepTeam, API calls on each run. Nightly or pre-release scans cost less but can miss regressions introduced between runs. Decide which probe or vulnerability sets gate a merge and which run on a schedule, then estimate the calls for each. garak writes a JSONL report of every attempt and a garak.log file that continues across runs, so plan storage for those artifacts as well.

Upkeep as releases change

garak v0.17.1 was released on October 16, 2026, and DeepTeam 1.0.10 was published on PyPI the same day. Each release can change plugins, probes, supported Python versions or attack methods, and garak requires Python 3.11 or newer while DeepTeam supports Python 3.9 up to but not including 3.14. Budget recurring time to test upgrades, pin versions and update tests whenever mappings or attack libraries shift. Confirm the upgrade effort with whoever supports the tool.

Commercial platform fees if chosen

Confident AI's commercial platform integrates with DeepTeam for risk assessment tracking, production vulnerability monitoring and report sharing. If your organization needs those features, the platform is an additional subscription on top of model API spend and engineer time, and it is priced separately from the open-source framework. Ask Confident AI for current pricing and terms. garak has no equivalent commercial layer named in its supplied materials, so confirm what reporting you would build yourself.

Quote items to request

Ask any implementation partner for a fixed-scope quote that lists one-time setup, such as generator configuration and suite design, separately from recurring items, such as scheduled scan runs, upgrade testing and report review. Require the model providers and judge models assumed, the expected number of scans per month, the CI gates covered, and the Python version and dependency pins. DeployOpen agrees scope, deliverables and timelines in writing before work starts, and does not publish a price list.

Moving test suites from garak to DeepTeam or back

This sequence lets a team move its LLM vulnerability testing between garak and DeepTeam without losing audit history or assuming scores carry over. The result is a mapped test inventory, a rebuilt endpoint configuration, a fresh baseline for each tool and a parallel run that shows where the two disagree.

  1. Inventory garak probes and detectors

    The engineer who owns the current scan lists every probe and detector in the garak configuration, along with the generator and harness used for each run. Each probe is then matched to the closest DeepTeam vulnerability or attack method, and any probe with no close equivalent is marked as a gap. The step closes with a mapping sheet that a second reviewer has signed off, showing each garak item as mapped, partially mapped or unmapped.

  2. Map DeepTeam coverage to OWASP and NIST

    The security lead checks which DeepTeam vulnerabilities and attack methods cover the OWASP Top 10 for LLMs 2025, the OWASP Top 10 for Agents 2026, the NIST AI RMF and MITRE ATLAS mappings the team relies on. Gaps from the first step are compared against that list so that compliance-facing categories are not lost in the move. The step closes when every framework item the team reports against has a named DeepTeam test or a documented reason it is out of scope.

  3. Rebuild the target endpoint configuration

    The platform engineer recreates each target in DeepTeam using the model callback or custom model DeepEval supports, rather than copying garak generator files. Garak's REST generator YAML does not transfer as is, so authentication, request shape and response parsing are rewritten and tested against a non-production endpoint. The step closes when a single test prompt returns the expected response shape from each target, and the API key handling has been reviewed against the team's secrets policy.

  4. Re-baseline results with each tool's judging

    The AI security engineer runs the mapped test set in both tools against the same model version and records the results separately. Garak reports a FAIL with a failure rate across five generations per prompt by default, while DeepTeam scores each vulnerability pass or fail with an LLM-as-a-judge metric, so the two outcomes are not interchangeable. The step closes with a baseline document for each tool that states the judge model, the generation settings and the known disagreements.

  5. Archive historic garak JSONL reports

    The compliance lead copies the existing garak JSONL attempt reports, hit logs and garak.log files into the evidence store with their run dates and model versions. Records are kept unchanged so that earlier results can still be shown to auditors, and nothing is rewritten to match DeepTeam output. The step closes when an index lists every archived run and an independent reviewer has confirmed the files open and match their checksums.

  6. Run both tools in parallel for one cycle

    The release manager schedules garak and DeepTeam against the same build for one full release cycle, so each release produces results from both tools. Engineers log every case where the two tools disagree and label each as a judging difference, a coverage gap or a configuration error. The step closes when the disagreement log is reviewed and each item has an owner and a resolution.

  7. Decide the primary tool and retire the other

    The engineering and security leads review the disagreement log, the coverage map and the cost of running both tools, then choose which tool is primary for CI gating. The losing tool is kept only for the mapped gaps it still covers, and the change is recorded in the test plan. The step closes with a signed decision record and a dated note stating which historic reports belong to which tool.

Where garak and DeepTeam implementation projects usually run long

Most garak and DeepTeam projects run long because the acceptance criteria were never written down. For garak, the work starts with the REST generator: a short YAML file describing the endpoint, plus the request and response handling for whatever the target returns as plaintext or JSON. Teams then have to agree on what counts as a failure. garak marks a probe as FAIL with a failure rate when any attempt produces undesirable output, and its default is 5 generations per prompt, so a single hit can fail a probe. Before the first full run, the buyer and the implementer should settle which probes are in scope, which detectors are accepted for each, and what failure rate blocks a release. Without that agreement, the JSONL report and hit log turn into a debate about every flagged attempt.

For DeepTeam, the longest work is usually outside the test code. DeepTeam needs a model for attack generation and for LLM-as-a-judge scoring, so the team must choose the judge model, provision and rotate its API key (for example, OPENAI_API_KEY or a custom model DeepEval supports), and decide where those judge calls go. Each prompt and response the judge scores may leave the client's boundary, which is a data residency question for the security and privacy owners to answer before any run. Mapping results to framework controls is the other slow step. DeepTeam maps tests to the OWASP Top 10 for LLMs 2025, the OWASP Top 10 for Agents 2026, the NIST AI RMF and MITRE ATLAS, but a mapping shows coverage, not that a control is met. Agree early which control IDs the evidence must support.

The final stretch is aligning reports with a compliance assessment. DeployOpen can prepare the test records, control mappings and evidence an assessor will ask for, but it does not issue audit reports or certifications, and the independent auditor decides whether the evidence is sufficient. Ask the assessor which artifacts they accept, in what format, and how long they must be retained before the first run. For garak, that usually means deciding how the JSONL report and garak.log are stored and labeled. For DeepTeam, it means deciding whether results stay in local files or move to Confident AI's commercial platform for report sharing, which is a separate choice with its own data handling review. Confirm the current garak and DeepTeam versions against the garak releases page before fixing the test plan.

Questions buyers ask before choosing or hiring help

Is garak or DeepTeam cheaper to run?

Both tools are open source, so neither carries a license fee for the framework itself. The recurring cost comes from the model calls each tool makes: garak sends probes to your target and uses its detectors to judge the output, while DeepTeam needs a model API key to generate attacks and judge responses through LLM-as-a-judge metrics. DeepTeam's judge calls usually add a second model bill on top of the target's bill, so run volume and judge model choice drive the difference. Ask any vendor or implementation partner to price the run count, the judge model and the number of target configurations in writing.

What does a red team implementation involve, and who does it?

An implementation covers the scope of models and applications under test, the target connections (for example, REST endpoints or hosted model APIs), the test configuration, the reporting format and the handover to your staff. DeployOpen plans, implements and documents this kind of work inside the client's own infrastructure, and runs security testing of AI systems and agents as a fixed-scope engagement with deliverables agreed in writing before work starts. Your own security or ML engineers still own the findings, the remediation and the decision to ship. Ask who writes the test configuration, who reviews the results and who owns the report.

How long does a first AI red team assessment take?

No timeline for a first assessment is supplied in the research for this page, so confirm the duration in writing against your scope. The main drivers are the number of target systems, whether the target is a simple model endpoint or an agent with tools, how many multi-turn attack sequences you want, the number of judge model calls and how much remediation retesting is included. Ask for a plan that lists each phase, the deliverables and the dependencies on your team, such as access, test accounts and sign-off on the attack scope before testing begins.

Can a team run garak or DeepTeam without outside help?

Yes, a team with Python and command-line skills can install either tool and run it locally, and garak documents installation from PyPI on Linux and macOS with Python 3.11 or newer. The harder work is the parts around the scanner: choosing the probes that match your application, configuring the target, tuning the judge, interpreting failure rates and turning hits into fixes. DeepTeam's current PyPI release supports Python 3.9 up to but not including 3.14, so check your runtime before you plan. Outside help is most useful for scoping, for CI integration and for producing a report that your auditors or executives can read.

Does an AI red team assessment replace an audit?

No. A red team test produces evidence about how your system behaves under adversarial inputs, but it does not produce an audit report, attestation or certification. Independent auditors and certification bodies issue those, and DeployOpen prepares systems, controls and evidence for compliance assessments without issuing them. DeepTeam maps its tests to frameworks such as the OWASP Top 10 for LLMs 2025, the NIST AI RMF and MITRE ATLAS, which helps with structuring evidence, but a mapping is not a certification. Confirm with your auditor which evidence they will accept before you scope the test.

Do judge calls leave our network when we run DeepTeam or garak?

It depends on where the judge model runs, and you should confirm this in your own configuration. DeepTeam runs locally but needs a model API key such as OPENAI_API_KEY or any custom model that DeepEval supports to generate attacks and judge responses, so judge prompts and target responses go to whichever provider or endpoint you configure. garak generators can target hosted APIs such as OpenAI or AWS Bedrock, or a local llama.cpp model or custom REST endpoint, so its traffic also depends on the generator you choose. For regulated data, point the judge and target at endpoints inside your boundary, and document the data flow before the first run.

What should I ask for in a quote for an AI red team engagement?

Ask for a written scope that names each target system, the attack categories, the number of multi-turn sequences, the model providers and judge models used, and the environments where testing runs. Request the deliverables list, including the raw run logs, the report format and any retest rounds, along with the assumptions about your access, test accounts and staff time. Also ask which costs are one-time and which recur, such as model API usage, ongoing retainer support or re-running tests after each release. DeployOpen does not publish a price list, so a quote follows from the written scope.

Running either tool inside your own infrastructure

Both garak and DeepTeam run locally, so the question for a regulated network is not where the scanner executes but where the model calls go. garak sends attack prompts to whatever generator you configure, such as a Hugging Face model, an OpenAI API model, an AWS Bedrock foundation model, a llama.cpp model or a custom REST endpoint. DeepTeam needs a model API key such as OPENAI_API_KEY or any custom model that DeepEval supports, because that model generates the attacks and judges the responses. If the target and the judge both sit inside your boundary, the scan can run without leaving it. If either one is a hosted API, every attack prompt and response crosses that boundary, and your data handling terms with that provider apply to the test traffic.

Before you run either tool on an air-gapped or regulated network, map each outbound dependency. For garak, that means the generator endpoint, the Python package install from PyPI, and any model or dataset downloads the probes need. For DeepTeam, it means the judge model and attack-generation model, plus any telemetry or Confident AI platform features you enable for report sharing and vulnerability monitoring. Ask the vendor or the maintainers which features call external services by default and how to disable them. Then test the configuration from the same network segment that will run the scan, not from a developer laptop.

Results and logs stay in files you control, which makes retention and access the main decisions. garak writes a JSONL report of every attempt and its evaluation, a hit log of attempts that found a vulnerability, and a garak.log debugging file that continues across runs, so the log may hold prompts and responses that contain sensitive data. Decide where those files live, who can read them, and how long they are kept before the first run. DeepTeam output depends on how you run it, so confirm its storage location and format in the current documentation for the version you deploy. For hosted judge models, ask the provider for its data retention, training use and region commitments in writing, and ask Confident AI which data leaves your environment when you connect the commercial platform.

How DeployOpen helps choose, implement and document an AI red team program

DeployOpen plans, implements and documents self-hosted open-source platforms inside the client's own infrastructure, and runs security testing that includes AI systems and agents. For garak vs DeepTeam, we start from the tool choice your team needs to defend, then build and hand over a test program that runs in your environment and produces the reports your reviewers ask for.

How we scope

  • Confirm which models, endpoints and agents are in the test, and who owns each one
  • Agree which framework mappings your reports must cite, such as OWASP, NIST AI RMF or MITRE ATLAS
  • Record in writing the model API keys, judge models and cost controls the test will use

How we build

  • Configure garak probes and generators, or DeepTeam vulnerabilities and attacks, against your own endpoints
  • Wire scheduled runs into your pipeline and store JSONL reports and logs in your systems
  • Document how each test maps to the vulnerability categories agreed in the written scope

How we hand over

  • Deliver runbooks showing how to rerun, tune and extend the scans without DeployOpen
  • Provide a findings report that separates confirmed failures from judge or detector false positives
  • Walk your security and engineering staff through the evidence trail for each test result

How we support

  • Offer ongoing support, upgrades and continuous testing as a retainer after handover
  • Track tool releases and rerun the agreed test set when versions or model targets change
  • Confirm retainer scope and any recurring model API costs in the written quote before work starts

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.