$ -weight: 500;">curl https://mindsparkstack.com/scan.sh | bash
-weight: 500;">curl https://mindsparkstack.com/scan.sh | bash
-weight: 500;">curl https://mindsparkstack.com/scan.sh | bash
=== StackPatch quickscan === distro: ubuntu codename: noble kernel: 6.8.0-100-generic packages: 187 ⚠️ 2 active CVE matches on your stack right now (worst: high). Run the recommended commands above. To monitor every server hourly... [HIGH] CVE-2026-31431 Linux kernel "Copy Fail" — local-priv-esc via algif_aead why: Linux kernel local-priv-esc; 732-byte Python script gets root... match: Running kernel: 6.8.0-100-generic recommend: Apply persistent modprobe blacklist for algif_aead now... [HIGH] USN-8222-1 OpenSSH 9.6p1 vulnerabilities match: openssh-client: installed 1:9.6p1-3ubuntu13.10 < fixed 1:9.6p1-3ubuntu13.16 recommend: -weight: 600;">sudo -weight: 500;">apt-get -weight: 500;">install --only--weight: 500;">upgrade -y openssh-client
=== StackPatch quickscan === distro: ubuntu codename: noble kernel: 6.8.0-100-generic packages: 187 ⚠️ 2 active CVE matches on your stack right now (worst: high). Run the recommended commands above. To monitor every server hourly... [HIGH] CVE-2026-31431 Linux kernel "Copy Fail" — local-priv-esc via algif_aead why: Linux kernel local-priv-esc; 732-byte Python script gets root... match: Running kernel: 6.8.0-100-generic recommend: Apply persistent modprobe blacklist for algif_aead now... [HIGH] USN-8222-1 OpenSSH 9.6p1 vulnerabilities match: openssh-client: installed 1:9.6p1-3ubuntu13.10 < fixed 1:9.6p1-3ubuntu13.16 recommend: -weight: 600;">sudo -weight: 500;">apt-get -weight: 500;">install --only--weight: 500;">upgrade -y openssh-client
=== StackPatch quickscan === distro: ubuntu codename: noble kernel: 6.8.0-100-generic packages: 187 ⚠️ 2 active CVE matches on your stack right now (worst: high). Run the recommended commands above. To monitor every server hourly... [HIGH] CVE-2026-31431 Linux kernel "Copy Fail" — local-priv-esc via algif_aead why: Linux kernel local-priv-esc; 732-byte Python script gets root... match: Running kernel: 6.8.0-100-generic recommend: Apply persistent modprobe blacklist for algif_aead now... [HIGH] USN-8222-1 OpenSSH 9.6p1 vulnerabilities match: openssh-client: installed 1:9.6p1-3ubuntu13.10 < fixed 1:9.6p1-3ubuntu13.16 recommend: -weight: 600;">sudo -weight: 500;">apt-get -weight: 500;">install --only--weight: 500;">upgrade -y openssh-client
# Pseudocode of the matcher join
for usn in cached_usns: for pkg in usn.release_packages[user_codename]: installed = user_inventory.packages.get(pkg.name) if installed and dpkg_lt(installed, pkg.fixed): yield Finding(usn, pkg, installed, fixed)
# Pseudocode of the matcher join
for usn in cached_usns: for pkg in usn.release_packages[user_codename]: installed = user_inventory.packages.get(pkg.name) if installed and dpkg_lt(installed, pkg.fixed): yield Finding(usn, pkg, installed, fixed)
# Pseudocode of the matcher join
for usn in cached_usns: for pkg in usn.release_packages[user_codename]: installed = user_inventory.packages.get(pkg.name) if installed and dpkg_lt(installed, pkg.fixed): yield Finding(usn, pkg, installed, fixed)
3 * * * * inventory (reads /etc/os-release, uname, dpkg, -weight: 500;">docker, ports, modprobe)
23,53 * * * * USN poll (Ubuntu Security Notices feed, twice hourly)
0 4 * * * DSA poll (Debian Security Tracker, daily — file is huge)
33 * * * * matcher (joins inventory × USN × DSA, writes findings JSONL)
40 * * * * alerts (emails customers when findings change)
3 * * * * inventory (reads /etc/os-release, uname, dpkg, -weight: 500;">docker, ports, modprobe)
23,53 * * * * USN poll (Ubuntu Security Notices feed, twice hourly)
0 4 * * * DSA poll (Debian Security Tracker, daily — file is huge)
33 * * * * matcher (joins inventory × USN × DSA, writes findings JSONL)
40 * * * * alerts (emails customers when findings change)
3 * * * * inventory (reads /etc/os-release, uname, dpkg, -weight: 500;">docker, ports, modprobe)
23,53 * * * * USN poll (Ubuntu Security Notices feed, twice hourly)
0 4 * * * DSA poll (Debian Security Tracker, daily — file is huge)
33 * * * * matcher (joins inventory × USN × DSA, writes findings JSONL)
40 * * * * alerts (emails customers when findings change)
-weight: 500;">curl https://mindsparkstack.com/scan.sh | bash
-weight: 500;">curl https://mindsparkstack.com/scan.sh | bash
-weight: 500;">curl https://mindsparkstack.com/scan.sh | bash - Use dpkg --compare-versions for Debian-policy-correct version comparison. Lexicographic compare is wrong for 1:9.6p1-3ubuntu13.10 vs 1:9.6p1-3ubuntu13.16 (lex says "10" > "16"). Spawning dpkg once per pair is cheap.
- Pre-filter by codename. USN release_packages is keyed by noble | jammy | focal | bionic. Reading the user's /etc/os-release VERSION_CODENAME upfront lets the matcher skip 90% of records.
- Cap the USN window. I scan the last 200 USNs (sorted by ID). Older ones are fine to stale; if a 2017 USN matters to your 2024 box, you have bigger problems.
- Debian Security Tracker is huge. The tracker.json is 70 MB with 36K fix-records per release. I pre-build per-codename indexes ({package: [{cve, fixed_version, urgency}]}) once daily so the matcher loads ~12 MB instead of 70 MB per request. - /api/stackpatch/quickscan — anonymous POST, returns matches in <1s
- /api/stackpatch/enroll — paid customer enrolls a server with a token, returns audit URL
- /api/stackpatch/inventory — authenticated inventory POST from the agent
- /patch/audit/<slug> — public posture page per server - You have a security engineer with half a day to set up go-cve-dictionary + goval-dictionary + gost + cve-search and rebuild them on cron
- You need FreeBSD / Windows / openSUSE support
- Compliance forbids any package data leaving your network - You're a one-person SaaS shop with 1–10 boxes on Ubuntu, Debian, Alpine, AlmaLinux, or Rocky Linux
- You want the answer in 5 minutes, not half a day
- You want the exact -weight: 500;">apt / -weight: 500;">apk / -weight: 500;">dnf / kernel-reboot / modprobe-blacklist one-liner, not just a CVE link
- You want a public audit URL for sales due diligence - No FreeBSD / Windows / openSUSE yet (V1+ covers Ubuntu, Debian, Alpine, AlmaLinux, Rocky Linux — 18 release versions across those 5 distros, 41K unique CVEs cross-indexed from USN + DSA + Alpine secdb + OSV-rpm + NVD)
- No auto-apply (deliberate — you should review the command, security-product trust is fragile)
- No multi-user RBAC, no SSO, no compliance attestations (this is for solo founders, not security teams)
- No Kubernetes (out of scope for V1; you're not running k8s on a $5/mo VPS anyway)
- No SLA on remediation (we tell you the command; you run it) - Free quickscan: anonymous, no signup, no limits. Run it on as many boxes as you like.
- $99 lifetime founder seat: 3 servers, hourly monitoring, real-time email alerts, public audit URL, every V2+ feature included. 50 only, then it's a monthly subscription tier.