Skip to content

aivis 1.2.0 — SSRF guard

Choose a tag to compare

@krisdiallo krisdiallo released this 28 Aug 08:30
· 60 commits to main since this release

Security fix. aivis fetched user-supplied hostnames without validation. Because it also runs as an MCP server, a model fed untrusted text could induce it to fetch internal addresses — cloud metadata (169.254.169.254), loopback, or private ranges — with the agent as confused deputy. Verified the fetch was actually attempted before the fix.

Now refuses any non-public http(s) target, resolving the hostname rather than pattern-matching it, and re-validating every redirect hop. Fails closed. Covered by research/test_ssrf.py in CI.

Found by reading what a competitor described itself as doing ("SSRF-guarded") and checking whether we did.