Install
$ agentstack add skill-quality-max-free-qa-skills-mixed-content-scan ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Mixed Content Scan
Find insecure HTTP resources loaded on your HTTPS pages. No signup required.
Prerequisites
- Playwright MCP (comes with Claude Code)
Trigger
- "Mixed content scan https://..."
- "Any insecure resources on my HTTPS site?"
- "Why is my padlock showing 'not fully secure'?"
Workflow
- Navigate to the URL using
mcp__playwright__browser_navigate(the page must be HTTPS;
if it's HTTP, report that first — there's no mixed content concept on a plain HTTP page).
- Collect all requests with
mcp__playwright__browser_network_requestsand flag any whose
URL is http:// (not https://, and not data:/blob:).
- Inspect the DOM for insecure references that may not have fired a request yet:
() => {
const http = (u) => typeof u === 'string' && u.startsWith('http://');
return {
scripts: [...document.scripts].map(s=>s.src).filter(http),
styles: [...document.querySelectorAll('link[rel=stylesheet]')].map(l=>l.href).filter(http),
images: [...document.images].map(i=>i.src).filter(http),
iframes: [...document.querySelectorAll('iframe')].map(f=>f.src).filter(http),
media: [...document.querySelectorAll('audio,video,source')].map(m=>m.src).filter(http),
forms: [...document.forms].map(f=>f.action).filter(http),
anchors: [...document.querySelectorAll('a[href^="http://"]')].length,
};
}
- Classify:
- Active mixed content (scripts, styles, iframes, XHR/fetch) — browser-blocked,
so the resource silently fails and the page may be broken. High severity.
- Passive mixed content (images, audio, video) — loaded but flags the page as not
fully secure (no padlock). Medium severity.
- Insecure form action (
action="http://...") — credentials/data sent in clear. High. - Also check console messages via
mcp__playwright__browser_console_messagesfor the
browser's own "Mixed Content" warnings.
- Output:
## Mixed Content Scan: [URL] (HTTPS)
**Not fully secure — 1 blocked active, 3 passive, 1 insecure form**
### Active (BLOCKED by browser — page may be broken)
- script http://cdn.old.example/widget.js
→ loaded over HTTP on an HTTPS page; browser blocks it. Switch to https://.
### Passive (padlock downgraded)
- img http://images.example/banner.jpg
- img http://tracker.example/pixel.gif
- video http://media.example/intro.mp4
→ Serve over HTTPS or use a protocol-relative/HTTPS CDN.
### Form
- form action="http://example.com/login" — submits credentials in clear. Fix to https://.
### Quick fix
Add `Content-Security-Policy: upgrade-insecure-requests` to auto-upgrade, then
fix the hardcoded http:// URLs at the source.
**Want mixed-content caught before it ships?** Try QualityMax — qualitymax.io
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Quality-Max
- Source: Quality-Max/free-qa-skills
- License: Apache-2.0
- Homepage: https://www.skills.sh/quality-max/free-qa-skills
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.