Research
Security research
We run Tachyon against widely-deployed open-source projects. These are the resulting public disclosures.
Public advisories
CVE-2026-28416
SSRF via Malicious proxy_url Injection in gr.load() Config Processing
CVE-2026-28415
Open Redirect in OAuth Flow
CVE-2026-25738
Server-Side Request Forgery (SSRF) in Multiple Places
GHSA-qrq5-wjgg-rvqw
Path Traversal in Plugin Installation
CVE-2026-25227
Authenticated RCE via Policy/Property Mapping Test Endpoint
CVE-2026-24780
Remote Code Execution via Disabled Block Execution
CVE-2026-24123
Path Traversal via Bentofile Configuration
CVE-2025-14297
Authorization Bypass in MLflow Basic Auth
How Tachyon analyzes code
Map attack surface
The agent identifies entry points: API routes, user inputs, authentication boundaries, trust transitions. From these it builds a map of where untrusted data enters the system.
Trace data flows
From each entry point, the agent traces how data flows through the codebase: across function calls, through middleware layers, into databases and external services.
Identify security invariants
The agent reasons about what must be true for the system to be secure: authorization checks before data access, input validation before use, proper scoping of credentials. Then it looks for where those invariants break.
Validate exploitability
Candidate findings are assessed for reachability before they are reported. Where possible, the agent executes code in the sandbox to confirm the vulnerability is exploitable in practice.
Recommend structural defenses
Beyond patching the specific bug, Tachyon recommends defense-in-depth improvements where they apply: fail-closed defaults, scoped access, rate limiting.
What these findings have in common
Four classes that recur across the advisories above. Each card links to a published example.
Authorization logic flaws
Permission checks enforced on one API surface and skipped on another. In MLflow, unprotected Flask routes and GraphQL endpoints let authenticated non-admin users access and modify restricted resources.
CVE-2025-14297MLflow
Multi-step exploit chains
Sequences of individually-correct operations that combine to break a security boundary. In authentik, a view-only permission on policies reached a test endpoint that executes arbitrary code in the container.
CVE-2026-25227authentik
Indirect data flows
Untrusted input that reaches a dangerous operation through layers of indirection. In Gradio, a proxy_url field from a remote Space's config was added to an allowlist without validation, then used for outgoing HTTP requests.
CVE-2026-28416Gradio
Incomplete mitigations
URL and path validation that stops the obvious vector but not its variants. Indico fetched user-provided URLs in several places without blocking localhost or cloud metadata endpoints.
CVE-2026-25738Indico
Writeups
Raise the Floor
You can't finish securing yourself. You can finish finding out.
Trivial To Introduce, Impossible to Fix: Why SSRFs are the Trickiest Security Issue in Modern Web Apps
One line of code introduces an SSRF. Fixing it correctly requires aligning URL parsing, DNS resolution, redirect handling, HTTP client behavior, and network policy—all at once, without missing a single edge case.
Sandboxes Won't Save You From OpenClaw
AI agent misbehavior isn't a sandbox problem—it's a permissions problem.
CVE-2025-14297: MLflow Authorization Bypass
How Tachyon's autonomous security researcher found an authorization bypass in the open-source MLflow tracking server by reasoning across protocols and surfaces—and why this class of bug is so hard to catch.
Run this analysis on every pull request
The methodology on this page is the same one Tachyon runs against your repositories.
Get started