ASVS 5.0 V4.4.1: Use WSS for Every WebSocket
Plain ws:// sends everything in cleartext. Use wss:// for all WebSocket connections and make your server and clients refuse the unencrypted form.
Deep dives, practical guides, and incident analyses from engineers who build Safeguard. No fluff, no vendor FUD — just what you need to ship secure software.
Plain ws:// sends everything in cleartext. Use wss:// for all WebSocket connections and make your server and clients refuse the unencrypted form.
Introspection hands attackers your full schema. Turn it off in production unless the API is public by design, and test that suggestions do not leak it back.
One nested GraphQL query can pull millions of rows. Use an allowlist, depth limits, amount limits or cost analysis to stop query based denial of service.
If your app builds requests, cap the length of URIs and headers such as Cookie so a long value cannot lock users out with permanent errors.
Header names and values in HTTP/2 and HTTP/3 must never contain CR or LF. Reject them on input to block header injection and smuggling after downgrade.
HTTP/2 and HTTP/3 forbid connection specific headers such as Transfer-Encoding. Reject them on input and never emit them on output.
When your code builds HTTP messages, Content-Length must never disagree with the real body length. Learn how to avoid it and test for mismatches.
Every proxy and server in the chain must agree on where an HTTP message ends. Learn the Transfer-Encoding and Content-Length rules and how to test them.
For highly sensitive or multi hop requests, add a per message signature on top of TLS. See when it applies and how to sign and verify safely.
Weekly insights on software supply chain security, delivered to your inbox.
Your first fix PR is minutes away.
No sales call required, even your agent can complete the purchase over MCP.