BlogTechnical

Reviewing CrewAI deployments — Crews, Flows, and the security the framework doesn't provide

CrewAI runs an estimated 450 million agents a month with, by its own maintainers' admission, no built-in auth, audit logs, or access controls in the open-source framework. What a review has to supply instead.

Drel Research7 min read

CrewAI is, by adoption numbers, one of the most widely deployed multi-agent frameworks in production — reported to run roughly 450 million agents a month, with a majority of the Fortune 500 using it somewhere. Its architecture is built around four primitives: an Agent is a role an LLM plays (a goal, a backstory, a set of tools); a Task is a discrete unit of work assigned to an agent, with an expected output the crew checks; a Crew is a group of agents collaborating toward a goal with comparatively little predetermined structure; a Flow is CrewAI's answer to the obvious follow-up question — deterministic, event-driven, step-by-step execution for anything that needs to be auditable in production.

The scale of adoption is exactly why the framework's own stated security posture matters more than it would for a smaller project.

CrewAI, briefly

For review purposes, the practical split is Crews versus Flows — not a technical detail, but the single biggest factor in how reviewable a given CrewAI deployment actually is.

Crews vs Flows — the same framework, two different review postures

DimensionCrewsFlows
Execution modelAgents collaborate toward a goal with comparatively little predetermined structure — suited to open-ended work.Deterministic, event-driven, step-by-step control built for production.
Predictability for reviewHard to fully enumerate every path an agent might take before it runs — the review has to bound what tools and data each role can reach, not predict every action.The execution graph is inspectable ahead of time, closer to a traditional workflow review.
AuditabilityDepends entirely on what the application adds — CrewAI's open-source core has no built-in audit trail.Structured step boundaries make it easier to attach logging and checkpoints at each transition, but still not automatic.
Where it fitsPrototyping, research, and tasks where the exact path genuinely can't be known in advance.Anything going to production where a security or compliance function needs to reconstruct what happened.

“No built-in security” is not marketing copy

This is worth stating plainly because it changes what a review can assume. For a framework that ships its own auth and logging, a review checks whether those controls are configured correctly. For CrewAI's open-source core, a review has to check whether the application built around it added those controls at all — there is no default to fall back on.

Four 2026 CVEs, one root cause

Four vulnerabilities disclosed in 2026 — identified by security researcher Yarden Porat of Cyata — trace back to the same underlying pattern: tools that fall back to a less-isolated execution mode without the application being told, combined with prompt injection steering the agent into using them.

  • CVE-2026-2275 and CVE-2026-2287 — sandbox escape / RCE. The Code Interpreter tool is designed to run in a Docker container. If Docker isn't available at runtime, or a code-execution flag is set in the agent configuration, it silently falls back to an in-process Python sandbox that can be escaped via arbitrary C function calls — remote code execution on the host, not the intended container.
  • CVE-2026-2285 — arbitrary file read. The JSON loader lacks path validation, allowing access to arbitrary files on the server through a crafted input.
  • CVE-2026-2286 — SSRF. CrewAI's RAG search tools don't validate URLs supplied at runtime, allowing requests to internal and cloud-metadata services from outside the intended scope.
All four are reachable through prompt injection — direct or indirect — that manipulates an agent into invoking a tool the way its author never intended, not through direct access to the host. The vendor has patched them; the pattern (a tool with an undocumented fallback to a less-isolated mode) is the thing to check for in any tool an application adds on top of CrewAI's own.

What CrewAI actually changed, not just patched

The fix for CVE-2026-2275 and CVE-2026-2287 wasn't a validation check bolted onto the insecure fallback — CrewAI removed the fallback entirely. The Code Interpreter tool's Docker sandbox and its insecure SandboxPython alternative are both gone; current guidance points teams to an external, purpose-built sandbox (E2B or Daytona) instead of anything bundled with the framework. For the file- read and SSRF issues, the fix was structural rather than local: a centralized validate_file_path() and validate_url() are now enforced across the RAG tool and more than twenty other built-in tools, rather than each tool reimplementing its own (and inconsistently remembering to) validation.

Separately, CrewAI added a supply-chain control worth knowing about on its own terms: dependency resolution now defaults to excluding any package published within the last three days, a direct response to the broader pattern of typosquatted or freshly-compromised packages landing in agent tool chains. None of this closes the “no built-in security” gap from the previous section — it closes the specific holes the four CVEs exploited. A review still has to add authentication, audit logging, and access control itself, or verify the Enterprise tier's equivalents are actually turned on.

Review checklist

For any system built on CrewAI, a design-time review should be able to answer:

  • Is this deployment on a patched version (post the four CVEs above), and is Docker guaranteed available wherever the Code Interpreter tool runs — with a hard failure, not a silent fallback, if it isn't?
  • What auth, audit logging, and access control has the application added, given the open-source core ships with none?
  • Is this workload built as a Crew or a Flow — and if a Crew, is there a documented reason the task genuinely can't be bounded to a deterministic Flow instead?
  • Do any custom tools (file loaders, RAG search, HTTP clients) validate paths and URLs against an allowlist, rather than accepting whatever the agent supplies?
  • If running the Enterprise tier, are the isolated-VPC execution and role-based access controls actually enabled, not just available?

See multi-agent system security review for how the Crew coordination model maps to broader multi-agent review questions, and agent sandboxing and isolation for the general pattern behind the Code Interpreter fallback issue.

Sources

Blog

Get new posts in your inbox

AI security review, OWASP Agentic Top 10, ISO 42001 evidence, and what AI Committees actually need. No cadence promises — we publish when there's something worth reading.

Review a CrewAI deployment before it reaches production

Crew vs. Flow architecture, tool fallback behavior, and the auth/audit controls the framework doesn't provide by default — mapped to a disposition your AI Committee can act on.

A note on scope: Drel reviews assessed systems against documented architecture, configuration and intent. It does not ingest live telemetry from production environments. Dispositions reflect the assessed system at the time of review and the re-assessment triggers that govern when the disposition must be revisited.