Flowise 3.1.0 enables HTTP security validation by default, blocking SSRF attack vectors. Builders need to audit their flows immediately - this is a breaking change.

Flowise 3.1.0 blocks SSRF attacks by default, forcing builders to explicitly authorize external HTTP calls - better security for production systems, with explicit migration path for legacy flows.
Signal analysis
Here at Lead AI Dot Dev, we tracked Flowise 3.1.0's release and immediately flagged the security implications for your workflows. This update introduces mandatory HTTP security validation to prevent Server-Side Request Forgery (SSRF) attacks - a real threat when your AI flows make external HTTP requests. The change is live and active by default.
The built-in deny list now blocks requests to potentially dangerous domains including localhost (127.0.0.1), 0.0.0.0, internal IP ranges (10.x.x.x, 172.16-31.x.x, 192.168.x.x), and metadata endpoints like 169.254.169.254. This is sensible security architecture - SSRF vulnerabilities let attackers pivot from your Flowise instance into internal services you didn't intend to expose.
The critical detail: this validation runs by default in 3.1.0. If you're upgrading from earlier versions and your flows depend on hitting localhost services, internal APIs, or private network endpoints, they will fail immediately after upgrade. This isn't a soft deprecation - it's a breaking change that requires action.
Builders using Flowise in production need to test immediately. If your flows call internal services, local development servers, or private APIs, expect failures after upgrading to 3.1.0. Common scenarios: flows that hit localhost:3000 for a custom API, internal microservices on 192.168.x.x, or AWS metadata endpoints for credential handling.
Flowise provides two migration paths. The recommended approach: whitelist specific domains using FLOWISE_HTTP_ALLOWED_URLS_WHITELIST. This environment variable accepts comma-separated domain patterns, letting you permit only the exact external services your flows legitimately need. The second option - FLOWISE_HTTP_UNSAFE_MODE - disables validation entirely, but this defeats the security benefit and should only be a temporary measure during transition.
The practical workflow: Before upgrading to 3.1.0 in production, audit every HTTP node in your flows. Document which domains they call. Then either whitelist those domains or refactor flows to use secure alternatives (like service-to-service authentication instead of metadata endpoint access). Test the upgrade in a staging environment first.
The implementation uses a deny-by-default model with two mechanisms: hard-coded blocked addresses (localhost, internal IPs, metadata endpoints) and a configurable whitelist. The deny list covers the OWASP guidelines for SSRF protection - if an endpoint is reachable only from within your infrastructure, it shouldn't be callable from a Flowise flow unless explicitly authorized.
Environment variable behavior matters here. Setting FLOWISE_HTTP_ALLOWED_URLS_WHITELIST overrides the deny list for specified domains only - other blocked addresses remain blocked. This is the correct security posture. If you whitelist a domain, Flowise still validates the URL format and enforces TLS for external domains (no unencrypted HTTP to the internet). FLOWISE_HTTP_UNSAFE_MODE, if enabled, disables all checks - useful for legacy flows during transition, but introduces risk.
For operators managing Flowise deployments: configure whitelisting at the infrastructure level, not per-flow. Use environment variables in your Docker/Kubernetes configs, not scattered in individual flow definitions. Document which domains are whitelisted and why. Monitor for flows attempting to access blocked endpoints - this could indicate either misconfiguration or an attempted attack.
This change signals that Flowise is maturing as a platform used in production environments where SSRF is a real threat vector. The shift to secure-by-default aligns with best practices from larger platforms - it's the right call, but it forces migration work for existing users. If you're deploying Flowise in enterprise settings, expect this pattern to repeat: security features will enable by default as the tool scales.
For teams using Flowise in multi-tenant or untrusted environments, this is essential security hardening. If end-users can create or edit flows, they could previously craft SSRF attacks against your infrastructure. Now they can't, unless you explicitly whitelist dangerous domains. This dramatically reduces blast radius from misconfigured or malicious flows.
The operator move here is clear: make the upgrade decision deliberately. Flowise 3.1.0 is the right version for new deployments and production systems with proper network segmentation. Existing production instances should upgrade after testing, with clear documentation of which domains are whitelisted and why. For legacy systems where internal communication is unavoidable, set FLOWISE_HTTP_UNSAFE_MODE temporarily, then plan refactoring. Version pinning in package.json should shift from open ranges to 3.1.0+ after validation. Thank you for listening, Lead AI Dot Dev
Best use cases
Open the scenarios below to see where this shift creates the clearest practical advantage.
One concise email with the releases, workflow changes, and AI dev moves worth paying attention to.
More updates in the same lane.
Mistral Forge allows organizations to convert proprietary knowledge into custom AI models, enhancing enterprise capabilities.
Version 8.1 of the MongoDB Entity Framework Core Provider brings essential updates. This article analyzes the implications for builders.
The latest @composio/core update enhances Toolrouter with custom tool integration, expanding flexibility for developers.