Security
· 13 checks — HTTP headers, CSP, TLS handshake, and cookie hygiene rolled into one auditable list.DContent Security PolicyAction6 of 10 CSP checks passedFIX
'unsafe-inline' allows inline <script> tags, defeating CSP against XSS. Remove it and use nonces or hashes instead.
Unsafe value (unsafe-inline, unsafe-eval) in script-src defeats CSP's main protection — XSS injections can execute again.
Learn more ▾ ▴
unsafe-inline allows inline <script> tags; unsafe-eval allows eval() and similar. Both are necessary for some legacy code but explicitly dangerous. Migrate to nonces (per-page random tokens) or hashes (per-script SHA-256) instead.
Source: OWASP CSP / MDN
'unsafe-eval' allows eval() and similar functions, enabling code injection. Remove it.
Unsafe value (unsafe-inline, unsafe-eval) in script-src defeats CSP's main protection — XSS injections can execute again.
Learn more ▾ ▴
unsafe-inline allows inline <script> tags; unsafe-eval allows eval() and similar. Both are necessary for some legacy code but explicitly dangerous. Migrate to nonces (per-page random tokens) or hashes (per-script SHA-256) instead.
Source: OWASP CSP / MDN
A wildcard allows scripts from any origin, making CSP ineffective against XSS. Restrict to specific trusted origins.
script-src * defeats the entire point of CSP — any host can load scripts on your page.
Learn more ▾ ▴
A wildcard in script-src (or its absence with no default-src) lets any origin host scripts your page will execute. The CSP header is present but provides no XSS protection. Replace with an explicit allowlist (your own domain plus specific CDN hosts) or use nonces/hashes for inline scripts.
Source: MDN CSP / OWASP
Parsed Policy
FSubresource IntegrityAction0 of 42 external resources have SRIFIX
| Tag | Domain | Integrity |
|---|---|---|
| <script> | count-server.sharethis.com | ✗ Missing |
| <script> | www.google-analytics.com | ✗ Missing |
| <script> | www.googletagmanager.com | ✗ Missing |
| <script> | buttons-config.sharethis.com | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | fonts.googleapis.com | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <link> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | platform-api.sharethis.com | ✗ Missing |
| <script> | www.googletagmanager.com | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.googletagmanager.com | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
| <script> | www.oasis-open.org | ✗ Missing |
DEmail SecurityActionDMARC: noneFIX
This only monitors, it doesn't block spoofed emails. Change to p=quarantine or p=reject.
DMARC p=none collects reports but doesn't actually block spoofed mail — phishing emails still reach inboxes.
Learn more ▾ ▴
DMARC's three policies are p=none (monitor only), p=quarantine (mark as spam), and p=reject (bounce). Most domains start at p=none to gather data, but stay there forever, leaving spoofers unblocked. After 30 days of clean DMARC reports, graduate to p=quarantine, then p=reject.
Source: DMARC.org / NIST
Dsecurity.txtActionNo /.well-known/security.txt publishedFIX
security.txt
No security.txt found at /.well-known/security.txt
CSecurity HeadersAction7 of 10 headers properly configuredREVIEW
Strict-Transport-Security forces browsers to use HTTPS, preventing downgrade attacks. Add the header with a max-age of at least 1 year.
max-age=31536000; includeSubDomainsWithout HSTS, a network attacker can downgrade the very first connection to HTTP and steal the user's session.
Learn more ▾ ▴
HSTS tells browsers 'never speak HTTP to this domain again.' Without it, a network attacker (public WiFi, malicious ISP, hostile DNS) intercepts the first HTTP attempt and serves a downgraded version of your site. One header, big surface reduction.
Source: RFC 6797 / OWASP
COOP isolates your browsing context, preventing cross-origin side-channel attacks. Set to 'same-origin'.
same-originCOOP isolates your top-level browsing context from cross-origin windows — without it, popup-based side-channel attacks remain possible.
Learn more ▾ ▴
Cross-Origin-Opener-Policy: same-origin prevents cross-origin pages from sharing a browsing-context group with yours. This blocks cross-window references that enable Spectre-style timing attacks and tab-nabbing. Required if you want to enable SharedArrayBuffer.
Source: MDN / web.dev
COEP prevents loading cross-origin resources without explicit permission. Required for SharedArrayBuffer and high-resolution timers.
require-corpCOEP enforces that all embedded resources opt-in to cross-origin embedding — required for cross-origin isolation features.
Learn more ▾ ▴
Cross-Origin-Embedder-Policy: require-corp ensures every embedded resource (script, iframe, image) explicitly allows being loaded cross-origin. Combined with COOP, this enables the cross-origin-isolated context that unlocks SharedArrayBuffer, high-resolution timers, and other powerful APIs.
Source: MDN / web.dev
BCORS ConfigurationNo CORS headersREVIEW
No CORS headers detected.
Cross-origin requests are blocked by browser same-origin policy.
Origin reflection test
Some servers mirror the request Origin header, which can be exploited. Test manually:
curl -sI -H "Origin: https://evil.com" <url> | grep -i access-control
CKnown vulnerability matchesAction3 known vulnerability match(es) against detected techREVIEW
Known Vulnerabilities
| Library | Version | Severity | Summary | Fixed In |
|---|---|---|---|---|
| Lodash | 4.17.20 | high | Command Injection in lodash | 4.17.21 |
| Lodash | 4.17.20 | medium | Regular Expression Denial of Service (ReDoS) in lodash | 4.17.21 |
| Lodash | 4.17.20 | medium | ### Impact Lodash versions 4.0.0 through 4.17.22 are vulnerable to prototype pollution in the `_.unset` and `_.omit` functions. An attacker can pass crafted paths which cause Lodash to delete methods from global prototypes. The issue permits deletion of properties but does not allow overwriting their original behavior. ### Patches This issue is patched on 4.17.23. | 4.17.23 |
A+TLS & CertificatesTLS 1.3, 7 checks passedPASS
HTTP/2 provides multiplexing and header compression for better performance.
HTTP/1.1 forces the browser to make sequential requests, multiplying latency on every page.
Learn more ▾ ▴
HTTP/2 (and HTTP/3) multiplex many requests over a single connection, eliminating head-of-line blocking. HTTP/1.1 forces the browser to either queue requests or open many parallel connections — both worse. Most modern web servers support HTTP/2 with one config line.
Source: MDN Web Docs
Certificate Chain
A+JS Library VulnerabilitiesNo known vulnerabilitiesPASS
No known JavaScript library vulnerabilities detected.
A+Information LeakageNo exposuresPASS
No sensitive files exposed — all paths returned 404.
| Path | Status | Category | Risk |
|---|---|---|---|
| /.git/HEAD | ✓ Not found | Version Control | — |
| /.git/config | ✓ Not found | Version Control | — |
| /.svn/entries | ✓ Not found | Version Control | — |
| /.env | ✓ Not found | Configuration | — |
| /.env.local | ✓ Not found | Configuration | — |
| /.env.production | ✓ Not found | Configuration | — |
| /wp-config.php | ✓ Not found | Configuration | — |
| /.htaccess | ✓ Not found | Configuration | — |
| /phpinfo.php | ✓ Not found | Debug | — |
| /server-status | ✓ Not found | Debug | — |
| /server-info | ✓ Not found | Debug | — |
| /.well-known/security.txt | ✓ Not found | Security Policy | — |