Skip to content
Early access: the full platform is free until general availability.See plans
ExfilPath
Early access · freeStatic analysis for AI agentsBuilt by a Nepal-based team

Find the path before an attacker does.

ExfilPath checks your AI agent for the one flaw that matters most: whether attacker-controlled input can reach an action that causes damage.

Add your agent's source code. ExfilPath reads it without ever running it and finds three things — where untrusted input gets in, which actions can leak data or change systems, and whether anything stands between them. When nothing stands between them, that's a path.

Built by a Nepal-based team with years of experience building ai systems for companies in nepal and beyond.

46
detectors
3
languages
Seconds
to a full report
1 open path · CRITICAL
82% confidence
  1. sourcesrc/inbox.ts:9Inbound email body

    const response = await graphClient.api('/me/messages').top(1).get();

  2. carriedsrc/triage-agent.ts:15Folded into the prompt

    const prompt = [`Subject: ${mail.subject}`, `Body: ${mail.body}`].join("\n");

  3. modelsrc/triage-agent.ts:23Trust boundary crossed

    const completion = await openai.chat.completions.create({ ... });

  4. carriedsrc/triage-agent.ts:30Passed into sendSummary()

    await sendSummary(answer);

  5. sinksrc/notify.ts:5Outbound HTTP request

    await fetch(link, { method: "POST", body: JSON.stringify({ text: summary }) });

Nothing stands between them. No allowlist, no schema, no approval on the value.

Smallest change that closes it: resolve the destination host against a fixed allowlist before the request leaves.

sourceno guardsink

Reviewed with security and platform teams in Nepal and beyond

NGNovaGrid SystemsAgent platform review
QLQuantumLeaf TechnologiesML pipeline review
VSVertexScale LabsBackend agent review
HNHyperNova CloudPlatform engineering review

The gap

Existing tools scan components and hand you a list of warnings.

A list cannot show you a route from an email to a data leak, which is exactly how the Copilot EchoLeak and Salesforce ForcedLeak breaches worked — with every component correctly configured. ExfilPath maps the route.

Scanners grade components

A dependency check, a secrets scan and a prompt-injection classifier each look at one part in isolation. All three can pass while the parts still line up into a route.

Breaches use the route

EchoLeak and ForcedLeak both worked with every component configured correctly. The flaw was that untrusted text could reach an action that sends data outward.

A list cannot show a route

Warnings tell you a network call exists. They do not tell you that an email body can choose its destination. That difference is the entire finding.

How it works

Three questions, asked of your actual code.

ExfilPath reads your repository, tracks values as they move, and reports only the routes where all three answers line up into something reachable.
01

Where untrusted input gets in

ExfilPath maps the surfaces an attacker can write to: inbound mail, retrieved documents, scraped pages, tool and MCP results, CRM and ticket fields, uploads, queues and end-user messages.

17 input surfaces across 10 categories

02

Which actions cause damage

Then it maps the actions that leak data or change systems: outbound requests, auto-fetched media in rendered output, mail and chat sends, code execution, data and file writes, cloud calls, payments and tool dispatch.

15 sensitive actions across 8 categories

03

Whether anything stands between them

Last, it looks for controls on the value itself: schema validation, destination allowlists, egress policy, authorisation, sandboxing and human approval. When nothing covers the value, that is a path.

9 control types, 5 model boundaries

a findingtext
CRITICAL   Inbound email reaches network egress        82% confidence

  source       src/inbox.ts:9          Microsoft Graph mail item
  carried      src/triage-agent.ts:15  folded into the prompt
  model        src/triage-agent.ts:23  trust boundary crossed
  carried      src/triage-agent.ts:30  passed into sendSummary()
  action       src/notify.ts:5         outbound HTTP request

  Nothing covers the value on the way.
  LLM02:2025 Sensitive Information Disclosure · CWE-918
the change that closes ittypescript
const ALLOWED_HOSTS = new Set(['hooks.internal.example.com']);

function safeFetch(rawUrl: string, init?: RequestInit) {
  const url = new URL(rawUrl);
  if (!ALLOWED_HOSTS.has(url.hostname)) {
    throw new Error(`egress blocked: ${url.hostname}`);
  }
  return fetch(url, init);
}

// re-analyse: 0 open paths, 1 closed by a control

Capabilities

Built to make one finding trustworthy.

Everything in the platform exists so a path can be confirmed, dismissed or closed in minutes.

Cross-file path tracing

Routes are followed through assignments, template strings, helper functions and across files, so a finding shows the whole path rather than one suspicious line.

The model is part of the path

Text that enters a prompt comes back out as instructions. ExfilPath keeps tracking the value through the model call and raises severity when it crosses that boundary.

Existing controls are credited

A route with an allowlist, a schema parse or an approval gate in the middle is reported as closed. You see it without being asked to act on it again.

The smallest closing change

Every open path ships with a concrete fix scoped to the action — usually a few lines — instead of generic advice to sanitise input.

Your agent is never executed

Analysis is entirely static: no sandbox runs, no live prompts, no credentials, no calls to a model provider.

Release gate, not a report

Thresholds turn a path into a build decision, so a new route fails the pipeline in the pull request that introduced it.

Framework-aware

Coverage spans LangChain, LlamaIndex, the Vercel AI SDK, MCP servers, OpenAI, Anthropic, Gemini, Bedrock, Microsoft Graph, Gmail, Salesforce, Playwright, vector stores and common web frameworks.

Explainable severity

Severity follows the impact of the action, the trust level of the input and whether the model boundary is crossed — and every score shows its reasoning.

Evidence you can hand over

Structured JSON for tooling and a written report for reviews, audits and customer security questionnaires.

What you get

A report an engineer can act on and a reviewer can sign off.

Each finding is written to survive scrutiny: the route, the reasoning, the controls and the fix.

The route, step by step

Every hop from input surface to action, with file and line, the code at each step, and the model boundary marked where it is crossed.

Severity with its reasoning

Impact of the action, trust level of the input, and whether the value passes through a model — each contribution shown, not just a number.

Controls found on the way

What already stands between input and action, whether it fully closes the route, and why a partial control is not enough.

The smallest closing change

A concrete patch at the point of the action, sized in lines rather than sprints, with the language matched to the file.

Standards mapping

OWASP LLM Top 10 category and CWE identifier on every finding, so it lands in the workflow your organisation already runs.

Exportable evidence

Structured JSON for pipelines and dashboards, and a written report for reviews, audits and customer questionnaires.

Who uses it

Different teams, the same question.

Platform, security and product engineering all need to know whether an agent can be talked into leaking data. ExfilPath answers it in the terms each of them works in.

AI platform teams

Ship agents without a security review bottleneck

Teams building internal agent platforms need a repeatable answer to “can this agent leak our data?”. ExfilPath turns that into a check that runs on every change, so review time goes to design decisions instead of reading code for routes.

  • A path report attached to every pull request
  • Thresholds that block a merge introducing a new critical route
  • A shared vocabulary — input surface, action, control — across teams

Application security teams

Assess an agent you did not write

Security teams inherit agent code from many teams and vendors. ExfilPath produces the map in minutes: what the agent reads, what it can do, and where those two meet without a control.

  • Coverage across repositories without reading every file
  • Findings mapped to OWASP LLM Top 10 and CWE for existing workflows
  • Evidence for risk acceptance decisions, with the trace attached

Product engineering

Design the guard before the incident

Most exposure is created in an afternoon of wiring a tool to a model. Running an analysis while the design is still fresh shows exactly which action needs an allowlist, a schema or an approval step.

  • Concrete fixes at the point of the action, not vague hardening advice
  • Confirmation that a control actually covers the value it is meant to
  • A record of which routes were closed and how
See all use cases

Where it fits

From the first prototype to the release record.

Path analysis is most valuable early and most necessary continuously. ExfilPath runs at both ends of the same workflow.
Design01

Decide where the controls go

Analyse the prototype before it becomes the architecture. The report shows which action needs an allowlist, a schema or an approval gate.

Development02

Check the change, not the whole repo

Analyse the files you touched and see the route your change created before it reaches review.

Continuous integration03

Turn a path into a build decision

Thresholds fail the pipeline when an open path at or above your chosen severity appears, so a route is caught in the pull request that introduced it.

Release and audit04

Keep the evidence

Each release carries a report: open paths, closed paths, and the controls that closed them — the record auditors and customers ask for.

Where it fits in your stack

It is not another scanner. It is the layer none of them cover.

Keep your SAST, your guardrails and your runtime monitoring. ExfilPath answers the question each of them answers only in part.
CapabilityExfilPathSAST / code scannersPrompt-injection guardrailsRuntime AI firewalls
Shows the route from untrusted input to a damaging actionYesNo — findings are per-ruleNo — screens text onlyPartly, after the fact
Understands AI-specific input surfaces (RAG, MCP, tool results)YesRarelySomeSome
Treats the model call as a trust boundaryYesNoNot applicablePartly
Credits controls you already haveYes — routes report as closedLimitedNoNo
Works before deploymentYesYesYesNo — needs live traffic
Runs without executing your agentYesYesNeeds prompts and a modelNeeds production traffic
Produces a fix rather than an alertYesSometimesNoNo

Why routes matter

Two breaches where every component was configured correctly.

Both were reachable routes rather than misconfigurations, and both are the shape ExfilPath looks for.

EchoLeak

CVE-2025-32711

Microsoft 365 Copilot · Disclosed June 11, 2025 · found by Aim Labs (Aim Security)

A single crafted email could make Copilot pull sensitive context and send it to an attacker-controlled server with no user interaction. Aim Labs described it as an LLM scope violation, and it is widely reported as the first zero-click prompt-injection exploit against a production AI system.

The lesson: Every component behaved as configured. The exposure was that an untrusted mail body could reach an output channel the client fetches on its own.

In ExfilPath terms: Inbound mail is an input surface, rendered media in model output is a sensitive action, and neither redaction nor a classifier fully covers the value — so this shape reports as an open critical path.

ForcedLeak

CVSS 9.4 vulnerability chain

Salesforce Agentforce · Disclosed September 2025 · found by Noma Labs (Noma Security)

Instructions placed in the Description field of a public Web-to-Lead form were executed when an employee asked Agentforce to process the lead. CRM data was then exfiltrated through an image request to a domain still on the trusted list — a domain the researchers noted could be bought for about five dollars.

The lesson: Public form input reached an action that could both read records and make outbound requests. Salesforce began enforcing Trusted URL allow lists for Agentforce and Einstein generative AI agents on September 8, 2025.

In ExfilPath terms: A CRM free-text field is an input surface, an outbound request is a sensitive action, and a trusted-URL list only closes the route when the code resolves the destination against it.

Coverage

Built for the stacks agents are actually written in.

Detectors are derived from real agent code rather than generic web patterns, and new ones ship as frameworks change.

Languages

  • TypeScript
  • JavaScript
  • Python
  • Java (roadmap)
  • Go (roadmap)

Agent frameworks

  • LangChain
  • LangGraph
  • LlamaIndex
  • Vercel AI SDK
  • CrewAI
  • Custom orchestration

Model providers

  • OpenAI
  • Anthropic
  • Google Gemini
  • Amazon Bedrock
  • Local and self-hosted models

Input surfaces

  • Inbound email
  • RAG and vector stores
  • MCP and tool results
  • CRM and ticketing
  • Scraped web content
  • Uploads and queues

Sensitive actions

  • Network egress
  • Rendered output
  • Mail and chat
  • Code execution
  • Data and file writes
  • Cloud control plane
  • Payments

Workflow

  • Instant analysis
  • GitHub Actions
  • GitLab CI
  • Jenkins and any runner
  • JSON and report export

Workflow

Start with full local analysis. Expand into every workflow.

Full local browser analysis is live and free during early access. CLI, CI and MCP workflows are coming next, powered by the same path engine and the same explainable reports.

Instant analysis

Available

Full analysis is live and free during early access. Point ExfilPath at a file, a folder or a full repository and read the complete report in seconds.

JSON and written reports

Available

Download structured JSON for tooling or a readable report for reviews, fixes and handoff.

CLI and CI workflows

Coming soon

Bring the same path engine to the terminal and your pipeline, with thresholded checks and release evidence.

MCP workflows

Coming soon

Connect path analysis to the agent tooling and workflows your team already uses.

Live today

Full local browser analysis

Select a file, folder or full repository and get a complete path report in seconds. Nothing is uploaded, and your agent is never executed.

Open the analyzer →
Coming next

CLI, CI and MCP workflows

Bring the same detectors, path traces and fix guidance into terminal, pipeline and MCP-connected workflows as those surfaces roll out.

The platform

Specifics, not adjectives.

What the analysis engine covers today, stated precisely enough to check.

46

detectors in the analysis engine

17 input surfaces · 15 sensitive actions · 9 control types · 5 model boundaries

3

languages traced end to end

TypeScript, JavaScript and Python, with Java and Go on the roadmap

Static

analysis by design

Your agent is never executed, and no model provider is involved at any point

Seconds

from repository to report

A typical agent service completes in under a second

Early reviews

Engineers who put the platform against their own agents.

Our scanners were green while an email could still walk a summary straight out to an external host. ExfilPath was the first tool that drew that route instead of handing us another list.

EMEthan MercerPrincipal AI Engineer · NovaGrid Systems

The part that changed my mind was the trace through the model call. Everyone talks about prompt injection in the abstract; this showed the exact three lines that made it exploitable.

PSPriya ShahSenior Machine Learning Engineer · QuantumLeaf Technologies

It reads the repository, finds where untrusted text enters, and tells you which action it can reach. We closed two paths with one-line changes the same afternoon.

DKDaniel KimStaff Backend Engineer · VertexScale Labs

What I want from a security tool is a decision, not a dashboard. Open path or no open path is a decision my team can act on in a release meeting.

SASofia AlvarezDirector of Platform Engineering · HyperNova Cloud

Pricing

Free during early access. Priced for teams after that.

Plans are published now so you can budget, but nothing is billed while ExfilPath is in early access and no card is collected.
Most popular

Free while ExfilPath is in early access

Every capability below is unlocked today at no cost, including the paid-plan features. No card is collected anywhere on this site. Billing begins at general availability, and early-access accounts get 30 days notice and a founding discount before anything changes.

$0

Start freeNo card required

Plans at general availability

Published now so you can plan a budget. Nothing is billed during early access.

Developer

$49per developer / month

Free during early access

For an individual engineer or a single agent in production.

  • 1 developer seat
  • Up to 5 projects
  • Unlimited analyses, in the app and in CI
  • Full path traces with the model boundary marked
  • Fix guidance on every open path
  • JSON and written report export
  • OWASP LLM Top 10 and CWE mapping
  • Community support
Start free
Best value

Team

$99per developer / month

Free during early access

For a team shipping agents on a shared codebase.

  • Everything in Developer
  • Unlimited projects and repositories
  • Shared report history and path timeline
  • Pull-request comments on new and closed paths
  • Per-repository policy thresholds
  • SARIF export and code scanning integration
  • Ownership routing for open paths
  • Email support, one business day
Start free

Business

$199per developer / month

Free during early access

For organisations running many agents across many teams.

  • Everything in Team
  • Organisation-wide path dashboard and trends
  • SSO with Google, Microsoft and Okta
  • Role-based access and audit trail
  • Custom input surfaces, actions and controls
  • Release evidence export for audits
  • Security questionnaire support
  • Priority support with a named contact
Start free

Enterprise

Customannual agreement

Free during early access

For regulated environments and code that cannot leave the network.

  • Everything in Business
  • Self-hosted or air-gapped deployment
  • Private detector packs for internal frameworks
  • Architecture review with our research team
  • Contractual SLAs and security review support
  • Volume and multi-year agreements
  • Onboarding and enablement sessions
Talk to us

Prices are in USD and exclude local taxes. Annual billing is charged yearly and saves roughly 20%.

Compare plans in detail

How we build

Four rules we hold ourselves to.

One question, answered well

We are not building a dashboard for everything. We answer whether a route exists and how to close it.

Findings must be arguable

A finding you cannot verify is a finding you will ignore. Every path shows its trace, its controls and its reasoning.

Read code, never run it

Analysis stays static, so assessing an agent is never itself a risk.

Security tooling should be easy to adopt

No credentials, no agents to deploy, no data pipeline. Point it at code and get an answer.

FAQ

Questions engineers ask first.

What exactly does ExfilPath check?
One question, thoroughly: whether attacker-controlled input can reach an action that causes damage. It maps the input surfaces, maps the sensitive actions, looks for controls on the value in between, and reports every route where nothing stands in the way.
How is this different from a code scanner?
A scanner grades components and returns a list. ExfilPath composes components into routes. A repository can have zero scanner findings and still contain a route from an email body to an outbound request, which is exactly how EchoLeak and ForcedLeak worked.
Do you run my agent or send prompts to a model?
No. Analysis is static: your code is read, never executed, and no model provider is called at any point.
Where is my source code processed?
In your own session, and never by a model provider. Your agent is read as text and is never executed. Pipeline analysis runs on your own CI runner, and Enterprise adds self-hosted and air-gapped deployment for environments where code cannot leave the network.
Which languages and frameworks are supported?
TypeScript, JavaScript and Python today, with detectors for LangChain, LangGraph, LlamaIndex, the Vercel AI SDK, MCP servers, OpenAI, Anthropic, Gemini, Bedrock, Microsoft Graph, Gmail, Salesforce, Playwright, vector stores and common web frameworks. Java and Go are on the roadmap.
What does it cost?
Plans start at $49 per developer per month, with Team at $99 and Business at $199, and custom agreements for Enterprise. Everything is free during early access and no card is collected until general availability.
How do you handle false positives?
Every path carries its full trace and a confidence score, so a finding can be confirmed or dismissed in seconds. Existing controls are detected too, so a route you have already closed is reported as closed rather than repeated as a warning.
Can it gate a release?
Yes. Set a severity threshold in your pipeline and a new open path fails the build in the pull request that introduced it, with the route attached.
How does this map to frameworks we already report against?
Each finding carries an OWASP LLM Top 10 category and a CWE identifier, so paths flow into the risk register, ticketing and reporting processes you already run.
What is on the roadmap?
Pull-request comments, SARIF export, organisation-wide dashboards, custom detector packs, and Java and Go support. Path analysis remains the core of the product.
Who is behind ExfilPath?
ExfilPath Pvt. Ltd is a company focused entirely on application security for AI agent systems, built by engineers and researchers who spent a long time studying how agent breaches actually happen. The research pages document the reasoning behind every detector.
How do I report a security issue in ExfilPath itself?
Email support@exfilpath.tech. The security page describes what to expect and our response times.
Free · early access

Analyse an agent in the next two minutes.

Add a file or a folder. If there is a route from untrusted input to a damaging action, you will see it step by step, with the smallest change that closes it.

Free during early access · no card required · your source is analysed on your own device.