DifyTap Turns Multi-Tenant AI App Plumbing Into a Data Exposure Problem
Zafran's DifyTap research combined unauthenticated conversation exposure, Plugin Daemon (Dify's plugin service) access paths, cross-tenant document preview risks, and a PDF preview parser issue in Dify (a platform for building multi-tenant AI applications). The strongest defensive lesson is not a single patch: multi-tenant AI platforms need object-level authorization, tenant-state isolation, telemetry redaction, and sandboxed document handling at every lifecycle boundary.
Threat Analysis
- The research is a family of related data paths, not one single exploit line. Zafran documented several Dify surfaces that could expose private AI conversations, files, tenant identifiers, or parser attack paths.
- Conversation and trace data are sensitive AI state. Prompt and response history can contain credentials, customer data, internal reasoning, or operational instructions, so unauthenticated or cross-tenant access is a direct data-governance failure.
- The Plugin Daemon path matters because it bridges trust zones. Internal APIs behind plugin infrastructure can become cross-tenant access paths if caller, tenant, session, and object authorization are not bound together.
- Document preview expands the boundary from text to files. A PDF preview path can leak documents across tenants or trigger parser memory corruption if file handling is not sandboxed.
- The reader-owned work is deployment assurance. Patch to Dify 1.15.0 or later, but also test tenant isolation, log redaction, preview sandboxing, and data-access decisions in your own deployment.
Applicable AIDEFEND Defenses (7)
What Defenders Should Do Now
- Upgrade Dify to 1.15.0 or later and verify the exact deployed Plugin Daemon, API, and document-preview components.
- Run tenant-isolation tests for chat history, trace views, file UUIDs, preview endpoints, and plugin internal APIs.
- Move prompt, response, trace, and document-preview access behind object-level authorization that binds caller, tenant, session, and backend object.
- Sandbox PDF and document preview workers with no durable tenant state and no production credentials.
- Audit logs and traces for prompt, output, retrieved context, file metadata, and secret leakage across tenants.
Conclusion
DifyTap is a reminder that multi-tenant AI platforms carry more sensitive state than a normal SaaS screen. Prompts, traces, files, plugin calls, and preview workers all need tenant-bound authorization and isolated runtime state. A patch closes known bugs; the architecture has to prevent the next cross-tenant data path from becoming the same incident with a new URL.