Module
Security
Audits
- Session tokens readable in the browser
- TLS certificate and configuration
- HTTPS enforcement
- Mixed content and insecure forms
- Security headers
- Cookie security attributes
- Outdated and vulnerable libraries
- Information exposure
- Outbound link safety
- Site reputation
- Email authentication records
- Domain and DNS
- Unexpected changes
- Sensitive content
- security.txt
- External attack surface
- HSTS promises HTTPS everywhere, the site does not deliver it
- The content security policy and the page disagree
- Security headers differ between parts of the same site
- Cookie attributes contradict each other or the connection
- robots.txt hides paths that are open to everyone
- Script integrity and versions do not match what loads
- DNS points at things that are gone or unlisted
- Certificates and the hosts in use do not line up
- Security claims and security.txt that the site contradicts
- Pages meant to be private are published as public
Findings
- Internet scan data shows hosts, open ports or expired certificates you may not know about
- The CAA record does not allow the issuer of the certificate in use
- A page that sets a cookie may be stored in a shared cache
- The certificates and the hosts of the domain do not line up
- The site claims encryption or a security standard, and a basic finding says otherwise
- A cookie is set with attributes that contradict each other or differ between pages
- A session cookie is missing a protective attribute
- A response lets any website read it
- The Content-Security-Policy leaves out default-src, object-src or base-uri
- The Content-Security-Policy allows scripts from a host where anyone can publish
- The Content-Security-Policy and what the pages load do not match
- The Content-Security-Policy allows what it is meant to stop
- A DNS record points at something that is gone, or a subdomain is in nobody's inventory
- Something was added to the pages since the last crawl that looks like tampering
- The live site runs a development build or a development server
- A DNS record points at a service that no longer answers, or mail records contradict each other
- The domain or one of its addresses is on a reputation list
- The domain registration expires soon, or DNSSEC is off
- A DKIM key is 1024 bits or shorter
- DMARC is missing or not enforced; DKIM and MTA-STS were not found
- The DMARC policy applies to only part of the failing mail
- The MTA-STS policy is in testing mode, broken, misses a mail host, or has no TLS reporting
- The SPF record is missing, duplicated, too permissive or too long
- A page shows a server error message or stack trace
- A configuration file, backup, source map or directory listing is open to anyone
- The session cookie has its framework's default name
- A security header is sent under an old name or with a wrong value
- A security header the home page sends is missing on login, checkout or error pages, or on another host
- The CDN and the origin server send different security headers
- HTML pages are sent without a security header
- HSTS covers subdomains, but one subdomain has no valid certificate
- The HSTS policy says one thing and the hosts, links or headers say another
- Pages served over HTTP only, and internal links that still use http://
- A host does not force HTTPS, or its HSTS policy is missing or short
- A JSON Web Token in the browser is unsigned, never expires, lives long, or sits in web storage
- An HTTPS page loads or posts over HTTP, or a password form sits on an HTTP page
- External links open a new tab without rel="noopener"
- A link leads to a domain that no longer exists or has a certificate that browsers refuse
- The site links to, or loads a script from, a domain that lapsed or changed hands
- A link leads to a domain that filtering DNS resolvers refuse
- A page links to a domain that is on an unsafe-site list
- A link leads to a domain that redirects to a different domain
- A page that looks private is public, indexable or cacheable
- The page references files with a protocol-relative address
- Visitors from another network are sent to a different site
- A path that robots.txt hides answers to anyone
- robots.txt names paths that look private
- A path that robots.txt hides is in the sitemap, linked or indexed
- A script is not the file its tag, its address or the last crawl says it is
- A key or password is in the data the framework hands to the browser
- A key or password is readable in the page source
- security.txt is missing, expired, without contact or unsigned
- security.txt makes a promise the file itself breaks
- Public pages or documents contain content that should not be public
- The SPF record and the mail vendors in use do not match
- A staging or test host of the site shows up in Google search
- A static or API host of the site answers without nosniff or HSTS
- A script from another host is loaded without an integrity hash
- A host has a certificate or TLS configuration problem
- A host uses a weak certificate key or signature, or no forward secrecy
- A trust badge or certificate logo is expired, unlinked or cannot be checked
- A cookie looks like a login or role flag the browser could change
- A look-alike of the domain is registered
- Response headers name the server software and its version
- A script library, the CMS or a plugin runs a version with a known flaw or without support