<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gary Austin</title>
    <description>The latest articles on DEV Community by Gary Austin (@biggthecreator).</description>
    <link>https://dev.to/biggthecreator</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4026638%2Fcca25cda-68c5-450b-a07b-dd50e72d8f0e.png</url>
      <title>DEV Community: Gary Austin</title>
      <link>https://dev.to/biggthecreator</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/biggthecreator"/>
    <language>en</language>
    <item>
      <title>Patched Is Not Fixed: The Second Pass After Every Patch</title>
      <dc:creator>Gary Austin</dc:creator>
      <pubDate>Wed, 21 Oct 2026 14:07:00 +0000</pubDate>
      <link>https://dev.to/biggthecreator/patched-is-not-fixed-the-second-pass-after-every-patch-4184</link>
      <guid>https://dev.to/biggthecreator/patched-is-not-fixed-the-second-pass-after-every-patch-4184</guid>
      <description>&lt;h1&gt;
  
  
  Patched is not fixed: the second pass that turns "we patched it" into something you can show
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;A backup management console used mostly by MSPs was patched in August and exploited in October; per The Hacker News and Help Net Security, the vendor then confirmed the August patches did not fully fix the two flaws. The same week, a firewall management-interface flaw with no workaround and a VPN flaw exploited before the alert both landed in CISA's catalog. Our read: none of this argues against patching. It argues for a second pass after the patch. Here is what happened, what "fixed" should mean, and a five-check loop you can adapt.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;"We patched it" is a sentence about a ticket. "It is fixed" is a sentence about a machine. Most weeks the two agree. In mid-October 2026 they did not, and the gap had a product name.&lt;/p&gt;

&lt;p&gt;Our read: the useful question after any patch is not "did the ticket close". It is "what would I have to see to say it is fixed, and have I looked".&lt;/p&gt;

&lt;h2&gt;
  
  
  The patch that did not fully fix it
&lt;/h2&gt;

&lt;p&gt;AhsayCBS is the management console for Ahsay's backup software. Per Huntress, which published its findings on 2026-10-08, it is "primarily used by managed service providers (MSPs) and system integrators." The Security Gator is not affiliated with Ahsay, Huntress, or any vendor or researcher named in this post.&lt;/p&gt;

&lt;p&gt;Two flaws, per Huntress:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CVE-2026-105133&lt;/strong&gt; - improper authentication in the &lt;code&gt;checkSysPwd&lt;/code&gt; function. Huntress rates it medium.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CVE-2026-105134&lt;/strong&gt; - command injection in the Replication Receiver (&lt;code&gt;/rps/api/json/UpdateReceivers.do&lt;/code&gt;). Huntress rates it critical.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Chained, the first bypasses the login and the second runs code as &lt;code&gt;NT AUTHORITY\SYSTEM&lt;/code&gt;: unauthenticated remote code execution on the host. We print no severity scores; KEV does not publish one, and the words above are Huntress's.&lt;/p&gt;

&lt;p&gt;The timeline, per Huntress:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;2026-10-04&lt;/strong&gt; - Huntress identifies both flaws.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2026-10-07, 23:20 UTC&lt;/strong&gt; - first observed exploitation: suspicious child processes spawned by &lt;code&gt;cbssvcX64.exe&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2026-10-08&lt;/strong&gt; - five organizations targeted, as of that date. Huntress does not say who they were.&lt;/li&gt;
&lt;li&gt;Payloads: JSP webshells, then an XMRig cryptominer renamed &lt;code&gt;edge.exe&lt;/code&gt; to pose as Microsoft Edge, run as a service named &lt;code&gt;MicrosoftEdgeUpdateSvc&lt;/code&gt; through a modified NSSM binary. A PowerShell script stopped the miner whenever Task Manager was open. In one incident the vulnerable &lt;code&gt;WinRing0x64.sys&lt;/code&gt; driver was loaded.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The part that gives this week its title, per The Hacker News (2026-10-15) and Help Net Security (2026-10-15): AhsayCBS &lt;strong&gt;v9.15.2.59&lt;/strong&gt; and &lt;strong&gt;v10.3.4.0&lt;/strong&gt;, released in August 2026, were initially thought to fix the flaws. Ahsay later confirmed those patches did not fully fix them. Help Net Security puts the admission in an October 12 alert. The fixed builds are the &lt;strong&gt;v10.3.4.45&lt;/strong&gt; hotfix for v10 and &lt;strong&gt;v9.15.2.70&lt;/strong&gt; for v7, v8 and v9, available through Ahsay's partner portal, with a reboot after applying. Huntress "independently verified that the AhsayCBS 10.3.4.45 hotfix mitigates the initial entry point"; earlier v10 versions were still susceptible.&lt;/p&gt;

&lt;p&gt;CISA added both CVEs to the Known Exploited Vulnerabilities catalog on 2026-10-14 with a federal due date of 2026-10-17. KEV due dates bind Federal Civilian Executive Branch agencies only. Our read: for everyone else they are a priority signal.&lt;/p&gt;

&lt;p&gt;Huntress's guidance: restrict access to the AhsayCBS management interface to trusted IPs or require VPN, and if indicators are found, "carry out a full host re-image from a trusted backup" because attackers may have hidden secondary backdoors. Huntress has published four Sigma rules in its threat-intel repository.&lt;/p&gt;

&lt;p&gt;Our read: an MSP that installed the August build did the right thing with the information available. The lesson is not "they should have known". It is that the vendor's definition of fixed changed on October 12, and nothing in a closed ticket would have told them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three ways a door stays open
&lt;/h2&gt;

&lt;p&gt;Our read, labelled as ours: this week showed three distinct ways "patched" and "fixed" diverge, on three different products.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The patch was incomplete.&lt;/strong&gt; Ahsay, above. The vendor finds out later and names a new version. If nobody re-reads the advisory, the old version stays "fixed" in your records.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The patch was fine, but reach was the problem.&lt;/strong&gt; Palo Alto Networks &lt;strong&gt;PAN-OS CVE-2026-0322&lt;/strong&gt; is a code injection flaw in the management interface. The vendor calls it an authenticated remote code execution vulnerability: an attacker with valid credentials and network access to the management interface can run code as root on the firewall. Affected: PA-Series and VM-Series firewalls and Panorama (Help Net Security); cybersecuritynews.com adds M-Series appliances. Cloud NGFW and Prisma Access are not affected. Palo Alto reports "very limited exploitation" against the management interface and lists three IP addresses tied to attempts. The flaw was discovered internally by Suraj Siddharudh of Palo Alto Networks. Fixes are in the PAN-OS 10.2, 11.1, 11.2, 12.1 and 12.2 branches (12.2.4 or later; 11.2.16 was expected 2026-10-15); unsupported releases must move to a supported fixed version. There is no workaround. The vendor's first mitigation is about reach: restrict management-interface access to trusted internal IP addresses. Palo Alto's advisory and the KEV addition are both dated 2026-10-14, federal due 2026-10-17 (federal civilian agencies only). Our read: "authenticated" is not a comfort word; credentials leak, and reach is the control you own.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The attacker was inside before the alert.&lt;/strong&gt; &lt;strong&gt;Ivanti Connect Secure CVE-2026-104935&lt;/strong&gt; is an authentication bypass allowing remote, unauthenticated command execution; The Hacker News (2026-10-14) reports that CISA describes it as a zero-day. Affected: ICS 25.1.1.1 and prior, 25.1.2.2 and prior, and 22.8R2.4 and prior (22.8 reaches end of life on 2027-01-31). Per The Hacker News: Volexity attributes exploitation to a previously undocumented, criminally motivated actor it calls UTA0576, first observed 2026-10-03 and chained with a privilege-escalation flaw for root; Defused Cyber's decoys caught pre-disclosure exploitation starting 2026-10-01; Previdian logged 105 attempts from 50 unique IPs against honeypots as of 2026-10-14. CISA's alert is dated 2026-10-13, federal due 2026-10-16 (federal civilian agencies only). The recovery list, as The Hacker News reports it: back up the configuration, factory reset, upgrade (or rebuild virtual and cloud instances), restore the configuration, then reset all account passwords, revoke and reissue certificates, and reset API keys and license-server credentials. Our read: that list is long because the window opened twelve days before the alert, and patch day is not day one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Also added on 2026-10-14:&lt;/strong&gt; Cisco Secure Email Gateway &lt;strong&gt;CVE-2026-76519&lt;/strong&gt;, a relative path traversal in the Advanced Malware Protection feature. Per Help Net Security, a crafted attachment can write files and run commands as root when File Reputation is enabled and Content Scanner Tools is older than 25.3.0.5525; Cisco PSIRT became aware of active exploitation in October 2026. Content Scanner Tools 25.3.0.5525 or later fixes it without an upgrade or restart; AsyncOS releases older than 16.5 should move to 16.5.0-780. No workaround. Cisco notes that attackers with root may hide evidence, so check external network and firewall logs for unexpected uploads. Federal due 2026-10-17, federal civilian agencies only.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "fixed" should mean
&lt;/h2&gt;

&lt;p&gt;Our read: three statements, each one checkable, each one with evidence behind it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The version running on the machine is the version the vendor names as fixed today.&lt;/strong&gt; Not the version that was fixed when you installed it. Today's.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The interface can be reached only from where you decided.&lt;/strong&gt; Management consoles, admin portals and replication endpoints are not internet-facing unless someone chose that and wrote it down.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nobody got in before the door closed, or you have looked.&lt;/strong&gt; Logs for the IPs in the advisory. Unexpected admin accounts. Unexpected services and child processes. Unexpected outbound connections.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you cannot make all three statements, the ticket is closed and the work is not.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fix-verification loop
&lt;/h2&gt;

&lt;p&gt;This is our framing, not from any source: a practical starting point to adapt. It is the second pass after a patch ticket closes, and it extends step 3 of last week's acting-CISO cadence (the known-exploited check). Same order, every time.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Re-read the advisory today.&lt;/strong&gt; Is the version you installed still the version the vendor names? The Ahsay lesson: the August build was the fix until October 12.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Confirm the running version on the machine.&lt;/strong&gt; Not the ticket, not the change record. A version string from the box, with a screenshot or export kept.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who can reach the interface?&lt;/strong&gt; Trusted IPs or VPN for every management plane. The PAN-OS lesson: valid credentials plus reach was enough, and the vendor's own first mitigation is to restrict reach.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Look for compromise before and after.&lt;/strong&gt; If you find indicators, follow the vendor's recovery list. For Ivanti that means factory reset and rotate everything; for AhsayCBS, Huntress says re-image from a trusted backup. Not a cleanup. A rebuild.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evidence and the register.&lt;/strong&gt; Date, version confirmed, who can reach it, what you looked for, what you found. Decision (fix, accept or transfer), owner, date.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A minimum record per system, in whatever you already use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;client&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;example-co&lt;/span&gt;
&lt;span class="na"&gt;system&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;backup-console&lt;/span&gt;
&lt;span class="na"&gt;product&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="na"&gt;advisory_reread&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;2026-10-20&lt;/span&gt;          &lt;span class="c1"&gt;# date you re-read the vendor advisory&lt;/span&gt;
&lt;span class="na"&gt;fixed_version_named_today&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="na"&gt;running_version_confirmed&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="na"&gt;reachable_from&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;trusted-ips&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;|&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;vpn&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;|&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;internet&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;(decided&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;by:&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;)"&lt;/span&gt;
&lt;span class="na"&gt;compromise_check&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;2026-10-20&lt;/span&gt;         &lt;span class="c1"&gt;# logs, accounts, services, outbound&lt;/span&gt;
&lt;span class="na"&gt;indicators_found&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;none |&lt;/span&gt; 
&lt;span class="na"&gt;decision&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;fix | accept | transfer&lt;/span&gt;
&lt;span class="na"&gt;owner&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="na"&gt;evidence&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our read: the fifth check is the one that makes the other four something you can show. A client who asks "are we exposed to the Ahsay issue" should get a date and a version string, not a shrug.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we do not know
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;How many AhsayCBS servers were exposed.&lt;/strong&gt; No source we read gives a number.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Whether any of the five organizations Huntress saw were MSPs.&lt;/strong&gt; Huntress does not say.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who among you runs these products.&lt;/strong&gt; If you do not know either, start with the inventory from last week.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Current status.&lt;/strong&gt; We read these items on 2026-10-16 from Huntress, The Hacker News, Help Net Security and cybersecuritynews.com; cisa.gov did not render to our fetcher, so KEV dates come from those outlets, which agree. Check the catalog and the vendor advisories directly before acting on any of it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Counterfactuals.&lt;/strong&gt; We are not saying any of this would have stopped a specific incident. We are saying a second pass is cheaper than finding out in October that August did not take.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Take the loop with you
&lt;/h2&gt;

&lt;p&gt;This week's free kit, &lt;strong&gt;The Fix-Verification Kit&lt;/strong&gt; (Gatorbyte #017), is the five-check loop above as something you can hand over: a per-system Fix-Verification Log, a Fix-Verification Register (version installed, version the vendor names today, confirmed on the box, who can reach it, compromise checks, decision, owner, evidence), a reach checklist, a compromise-check hunt list and an evidence register, with CSV and Excel export. It runs offline as a Windows app: a portable .exe with a one-file .html alongside, no account, no server, no network requests. Free to use inside your organization and with your clients, including in paid engagements.&lt;br&gt;
→ &lt;a href="https://thesecuritygator.gumroad.com/l/gb017-fix-verification-kit" rel="noopener noreferrer"&gt;https://thesecuritygator.gumroad.com/l/gb017-fix-verification-kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When the check fails and the vendor's recovery list says rotate - the Ivanti list is reset passwords, revoke and reissue certificates, reset API keys - that is a secrets-rotation job, and &lt;strong&gt;The Leaked-Secret Response Kit&lt;/strong&gt; (Gatorbyte #016) is built for that bookkeeping: a first-hour runbook, a secret hunt, a secrets register and an evidence register.&lt;br&gt;
→ &lt;a href="https://thesecuritygator.gumroad.com/l/gb016-leaked-secret-response-kit" rel="noopener noreferrer"&gt;https://thesecuritygator.gumroad.com/l/gb016-leaked-secret-response-kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Both kits are a practical starting point to review and adapt for your organization; not legal, compliance, or audit advice, and not a substitute for the vendor's advisory, your incident-response plan, or a forensic investigation. The Security Gator is not affiliated with Ahsay, Huntress, Palo Alto Networks, Ivanti, Cisco, Volexity, Defused Cyber, Previdian or any vendor or researcher named in this post.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Huntress, &lt;em&gt;Threat Actors Exploit Critical AhsayCBS Flaws to Drop Webshells and XMRig Cryptominer&lt;/em&gt;, October 8, 2026 (updated October 12): &lt;a href="https://www.huntress.com/blog/ahsaycbs-flaws-exploit" rel="noopener noreferrer"&gt;https://www.huntress.com/blog/ahsaycbs-flaws-exploit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The Hacker News, &lt;em&gt;AhsayCBS Flaws Exploited to Deploy Web Shells Get New Fixes After Incomplete Patches&lt;/em&gt;, October 15, 2026: &lt;a href="https://thehackernews.com/2026/10/ahsaycbs-flaws-exploited-to-deploy-web.html" rel="noopener noreferrer"&gt;https://thehackernews.com/2026/10/ahsaycbs-flaws-exploited-to-deploy-web.html&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Help Net Security, &lt;em&gt;CISA flags exploited flaws in Palo Alto, Cisco and Ahsay products&lt;/em&gt;, October 15, 2026: &lt;a href="https://www.helpnetsecurity.com/2026/10/15/cve-2026-0322-cve-2026-76519-cve-2026-105133-cve-2026-105134-exploted/" rel="noopener noreferrer"&gt;https://www.helpnetsecurity.com/2026/10/15/cve-2026-0322-cve-2026-76519-cve-2026-105133-cve-2026-105134-exploted/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;cybersecuritynews.com, &lt;em&gt;CISA Warns of Palo Alto Networks PAN-OS Code Injection Vulnerability Exploited in Attacks&lt;/em&gt;, October 16, 2026: &lt;a href="https://cybersecuritynews.com/pan-os-vulnerability-exploited-cisa-warns/" rel="noopener noreferrer"&gt;https://cybersecuritynews.com/pan-os-vulnerability-exploited-cisa-warns/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The Hacker News, &lt;em&gt;CISA Urges Immediate Ivanti Connect Secure Updates as Honeypots Log 105 Exploit Attempts&lt;/em&gt;, October 14, 2026: &lt;a href="https://thehackernews.com/2026/10/cisa-urges-immediate-ivanti-connect.html" rel="noopener noreferrer"&gt;https://thehackernews.com/2026/10/cisa-urges-immediate-ivanti-connect.html&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>security</category>
      <category>msp</category>
      <category>sysadmin</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>The Acting CISO: The Weekly Cadence</title>
      <dc:creator>Gary Austin</dc:creator>
      <pubDate>Wed, 14 Oct 2026 14:07:01 +0000</pubDate>
      <link>https://dev.to/biggthecreator/the-acting-ciso-the-weekly-cadence-2cl9</link>
      <guid>https://dev.to/biggthecreator/the-acting-ciso-the-weekly-cadence-2cl9</guid>
      <description>&lt;h1&gt;
  
  
  The acting CISO: the weekly cadence that turns "you handle our security" into a job
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;In a survey commissioned by Sophos, a security vendor, MSPs estimate that 46% of their customers rely on them to act as CISO. Only a third say they are completely confident they can document compliance continuously across customers. Our read: the gap looks like a missing cadence more than a missing tool. A cadence is a practical starting point to adapt: the same few questions, answered the same way, on a schedule, with the evidence kept. Here is what the survey does and does not say, what the latest vulnerability news teaches about inventory, and a six-step weekly loop you can adapt.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;A client says it in a kickoff call, a renewal meeting, or a ticket at 4:40 on a Friday: "You handle our security, right?"&lt;/p&gt;

&lt;p&gt;Say yes, and you may have accepted a job. Our read: nobody may have written the job description, scoped it, budgeted it, or decided what "handled" means when a firewall CVE drops on a Tuesday. Our read: the client may assume someone is watching, deciding, and keeping records.&lt;/p&gt;

&lt;p&gt;Our read: that is the acting CISO problem, and it is mostly an operations problem, not a security-product problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The job may not be written down
&lt;/h2&gt;

&lt;p&gt;A survey commissioned by Sophos, a security vendor, put a number on the pattern. Read it with that in mind: Sophos sells security products and announced a CISO-service offering in the same release. We do not discuss that product, and The Security Gator is not affiliated with Sophos or any vendor named in this post.&lt;/p&gt;

&lt;p&gt;The method, because it matters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Who was asked:&lt;/strong&gt; 800 MSPs for the Sophos-commissioned survey, senior to board-level stakeholders, across the US, UK, Germany, France, Singapore, Australia and Brazil.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who ran it:&lt;/strong&gt; Vanson Bourne, commissioned by Sophos. Fieldwork was April 2026. The release describes the research as independent and vendor-agnostic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What it measures:&lt;/strong&gt; MSP perception and practice. It does not measure customer security outcomes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The headline, in the Sophos-commissioned survey: on average, &lt;strong&gt;MSPs estimate that 46% of their customers rely on them to act as CISO&lt;/strong&gt;. That is an MSP estimate, not a count of customers, and a vendor-commissioned one. Treat it as a signal about how the market describes the role, not as a measurement of anyone's client base.&lt;/p&gt;

&lt;p&gt;Two more figures from the Sophos-commissioned survey, each an MSP-reported number. In the Sophos-commissioned survey, &lt;strong&gt;84%&lt;/strong&gt; of MSPs expect demand for CISO services to rise over the next 12 months, which is an expectation, not a measurement. In the same Sophos-commissioned survey, &lt;strong&gt;99%&lt;/strong&gt; provide at least one cybersecurity compliance service.&lt;/p&gt;

&lt;p&gt;Our read: if that sounds like your week, the useful question is not "which tool do we buy". It is "what do we do every week, and can we show it".&lt;/p&gt;

&lt;h2&gt;
  
  
  What the survey says about the gap, and what it cannot
&lt;/h2&gt;

&lt;p&gt;The part worth a sysadmin's attention is the delivery side, again as the Sophos-commissioned survey reports it:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Finding (MSP-reported)&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Offer full compliance program management&lt;/td&gt;
&lt;td&gt;58%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Offer the full range of compliance services evaluated in the survey&lt;/td&gt;
&lt;td&gt;6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Completely confident" they can continuously monitor, manage and document compliance across customers&lt;/td&gt;
&lt;td&gt;33%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Use a single tool or platform for compliance and CISO-type activities&lt;/td&gt;
&lt;td&gt;36%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Use multiple tools&lt;/td&gt;
&lt;td&gt;53%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Use a fully or semi-automated process for consolidated posture reports&lt;/td&gt;
&lt;td&gt;86%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Still require some manual effort for those reports&lt;/td&gt;
&lt;td&gt;55%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Can generate those reports quickly through a fully automated process&lt;/td&gt;
&lt;td&gt;31%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The release characterizes multi-tool setups as delivery that "remains complex, disjointed, and potentially harder to scale." That is Sophos's framing, and it comes from a vendor with a product to sell. Sophos's Scott Barlow adds: "The challenge now is delivering that leadership consistently and efficiently across a growing customer base."&lt;/p&gt;

&lt;p&gt;Our reading, labeled as ours: the phrase to take from this is "only a third say they are completely confident". Not "MSPs are failing". Confidence in continuous documentation is a high bar, and 33% saying "completely" tells you where the hard part is, not that anyone is doing badly.&lt;/p&gt;

&lt;p&gt;What the survey cannot tell us:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether any given MSP's acting-CISO work is contracted, scoped or insured. Open question.&lt;/li&gt;
&lt;li&gt;Whether the customers believe what the MSPs estimate.&lt;/li&gt;
&lt;li&gt;Whether more automation produces better outcomes. The survey also includes a hypothetical estimate about time saved by a unified platform. It is a guess about a product category in a vendor-commissioned survey, so we are not repeating it as a benefit.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Our read: the pattern in the Sophos-commissioned table is the point: lots of services offered, thin confidence in continuous documentation, and 55% still need some manual effort on posture reports. A repeatable cadence is a practical starting point for exactly that.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pulse is an inventory lesson
&lt;/h2&gt;

&lt;p&gt;Three items from the news, read 2026-10-11 via The Hacker News and cybersecuritynews.com. Our read: each is a different way of asking "do you know what you are running". A scope line before the list: CISA KEV due dates bind &lt;strong&gt;Federal Civilian Executive Branch agencies only&lt;/strong&gt;. They are a useful priority signal for everyone else, not an obligation. We print no severity scores here; KEV does not publish one, and any score belongs to the article that cites it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Five older flaws, added to KEV.&lt;/strong&gt; CISA added five flaws to the Known Exploited Vulnerabilities catalog on 2026-10-08 (federal due date 2026-10-11, federal civilian agencies only): ProFTPD CVE-2015-3306 (improper access control, file read/write), ONLYOFFICE Docs CVE-2021-3199 (path traversal, possible remote code execution), Strapi CVE-2023-22894 (cleartext storage of sensitive information), Apache Struts CVE-2016-3081 (command injection when Dynamic Method Invocation is enabled) and ISC BIND CVE-2015-5477 (reachable assertion leading to denial of service via TKEY queries). The Hacker News ties the activity to "a China-linked threat actor known as Flax Typhoon"; the joint advisory it links, from agencies in AU, CA, JP, NZ, ES, UK and US, concerns a China-based company, Integrity Technology Group. The article does not say that advisory names Flax Typhoon. A CISA official, Chris Butera, is quoted referring to Chinese government-affiliated actors generally. CVE years: ProFTPD 2015, ONLYOFFICE 2021, Strapi 2023, Struts 2016, BIND 2015. Our read: nothing here is new software. It is software somebody forgot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Palo Alto Networks PAN-OS GlobalProtect / Prisma Access, CVE-2026-0257.&lt;/strong&gt; An authentication bypass. Per cybersecuritynews.com (2026-10-11), ransomware groups named as Qilin and Settra are reported to be exploiting it to create unauthorized VPN sessions and reach internal networks, per ReliaQuest. Palo Alto disclosed it on 2026-05-13 and rates it High; Panorama and Cloud NGFW are not affected. The detail that matters for this post: exposure depends on configuration, specifically authentication override cookies being enabled plus a particular certificate configuration. Mitigation per the article: upgrade per the vendor's fixed-version table, disable authentication override cookies you do not need, and use a newly generated certificate dedicated to them. Users re-authenticate after the patch. The article does not state KEV status. CISA's Known Exploited Vulnerabilities catalog does: the flaw was added on 2026-05-29 with a federal due date of 2026-06-01 (federal civilian agencies only), and the catalog marks known ransomware campaign use. We checked the catalog on 2026-10-13.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. N-able N-central, CVE-2026-18577, an August callback.&lt;/strong&gt; An authentication bypass from incomplete patching of CVE-2026-18556. CISA added it to KEV on 2026-08-03 (federal due date 2026-08-06, federal civilian agencies only). N-able acknowledged that "a limited number of customers" were compromised and has not disclosed the scale; the fix is in version 2026.3 HF1. It is older than the other two items, and it is here because it is the MSP's own management tool.&lt;/p&gt;

&lt;p&gt;Our read, and it is an opinion: all three are things an acting CISO is expected to know about without being told. A forgotten legacy service. A VPN whose exposure depends on a setting, not just a version number. The tool that manages client environments. We are not claiming anyone's client was compromised through these beyond what the sources report, and we do not know which of these products you run.&lt;/p&gt;

&lt;p&gt;Our read: that last point is the lesson. If your inventory holds only product names, "are we exposed?" is a research project. If it holds version and configuration notes per client, it is a lookup.&lt;/p&gt;

&lt;h2&gt;
  
  
  The six-step weekly cadence
&lt;/h2&gt;

&lt;p&gt;This is our framing, not from any source: a practical starting point to adapt. One loop, same day each week, same shape every time.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Inventory.&lt;/strong&gt; What systems, accounts and internet-facing services exist per client, and who owns each one. If it has no owner, that is the first finding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exposure check.&lt;/strong&gt; What is internet-facing, which version, and which configuration options matter. The GlobalProtect item is the reminder: the version was only half the answer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Known-exploited check.&lt;/strong&gt; Compare the inventory to the CISA KEV catalog on a fixed day each week. Remember the due dates are federal-civilian only; use them to rank, not to excuse.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Risk register.&lt;/strong&gt; The top items, each with an owner, a decision (fix, accept or transfer) and a date.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evidence.&lt;/strong&gt; Keep what you checked and when: screenshots, exports, ticket links. This is what turns "we looked" into something you can show.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-page report.&lt;/strong&gt; Same shape every time: what changed, what you decided, what is open, what you need from the client.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A minimum viable record per client service, in whatever you already use (a spreadsheet, a PSA custom field, a YAML file in a repo):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;client&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;example-co&lt;/span&gt;
&lt;span class="na"&gt;service&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;vpn-gateway&lt;/span&gt;
&lt;span class="na"&gt;exposed_to_internet&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="na"&gt;product&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="na"&gt;config_notes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="na"&gt;owner&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="na"&gt;last_checked&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;YYYY-MM-DD&lt;/span&gt;
&lt;span class="na"&gt;kev_checked&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;YYYY-MM-DD&lt;/span&gt;      &lt;span class="c1"&gt;# compared to the catalog on this date&lt;/span&gt;
&lt;span class="na"&gt;decision&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;fix | accept | transfer&lt;/span&gt;
&lt;span class="na"&gt;decision_date&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;YYYY-MM-DD&lt;/span&gt;
&lt;span class="na"&gt;evidence&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our read: none of this is exotic. Its value is that it is the same every week, so the week-over-week diff becomes the report.&lt;/p&gt;

&lt;h2&gt;
  
  
  Role clarity, and what we do not know
&lt;/h2&gt;

&lt;p&gt;The cadence is the operational half. The other half is a sentence in writing: what you are accountable for, and what you are not. Which systems are in scope, who decides on the client side, what "acting CISO" means in your service description and what it does not. We cannot tell you what that sentence should say for your contract, and we do not give legal advice on liability, insurance, or whether a title like "vCISO" has regulatory meaning. For any specific agreement, that is a question for counsel.&lt;/p&gt;

&lt;p&gt;What we do not know, stated plainly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Whether the 46% reflects your clients.&lt;/strong&gt; It is a vendor-commissioned survey of MSPs' own estimates, averaged across 800 firms in seven countries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Whether acting-CISO work is usually contracted, scoped or insured.&lt;/strong&gt; The sources do not say.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who among you runs the products in the Pulse.&lt;/strong&gt; If you do not know either, see the inventory section.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Current status.&lt;/strong&gt; Pulse details were read on 2026-10-11 from news coverage. Check the KEV catalog and the vendor advisories directly before acting on any of it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Take the loop with you
&lt;/h2&gt;

&lt;p&gt;The cadence above is the argument. If you want the discipline of a written, repeatable response in one place, our standing free field guide, &lt;strong&gt;The Leaked-Secret Response Kit&lt;/strong&gt; (Gatorbyte #016), is built in the same spirit: a first-hour runbook, a secret hunt, a secrets register with owner, revocation path and expiry columns, and an evidence register. It runs offline as a Windows app: a portable .exe with a one-file .html alongside, no account, no server, no network requests. Free to use inside your organization and with your clients, including in paid engagements.&lt;br&gt;
→ &lt;a href="https://thesecuritygator.gumroad.com/l/gb016-leaked-secret-response-kit" rel="noopener noreferrer"&gt;https://thesecuritygator.gumroad.com/l/gb016-leaked-secret-response-kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The kit is a practical starting point to review and adapt for your organization; not legal, compliance, or audit advice, and not a substitute for a forensic investigation or your incident-response plan. The Security Gator is not affiliated with Sophos, Vanson Bourne, Palo Alto Networks, N-able, or any vendor named in this post.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sophos, &lt;em&gt;MSPs Have Quietly Become Acting CISO for Nearly Half of Their Customers, Sophos Research Finds&lt;/em&gt;, press release via GlobeNewswire, September 15, 2026: &lt;a href="https://www.globenewswire.com/news-release/2026/09/15/3362118/0/en/msps-have-quietly-become-acting-ciso-for-nearly-half-of-their-customers-sophos-research-finds.html" rel="noopener noreferrer"&gt;https://www.globenewswire.com/news-release/2026/09/15/3362118/0/en/msps-have-quietly-become-acting-ciso-for-nearly-half-of-their-customers-sophos-research-finds.html&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The Hacker News, report on five older flaws added to KEV (article dated October 9, 2026): &lt;a href="https://thehackernews.com/2026/10/flax-typhoon-exploits-five-flaws-as.html" rel="noopener noreferrer"&gt;https://thehackernews.com/2026/10/flax-typhoon-exploits-five-flaws-as.html&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;cybersecuritynews.com, report on the Palo Alto GlobalProtect flaw and VPN access (October 11, 2026): &lt;a href="https://cybersecuritynews.com/palo-alto-globalprotect-flaw-vpn-access" rel="noopener noreferrer"&gt;https://cybersecuritynews.com/palo-alto-globalprotect-flaw-vpn-access&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The Hacker News, report on CISA adding the N-able N-central flaw to KEV (August 2026): &lt;a href="https://thehackernews.com/2026/08/cisa-adds-exploited-n-able-n-central.html" rel="noopener noreferrer"&gt;https://thehackernews.com/2026/08/cisa-adds-exploited-n-able-n-central.html&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>security</category>
      <category>msp</category>
      <category>sysadmin</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>It Compiles. Nobody Asked If It Was Safe: The One-Afternoon Review for an AI-Built App</title>
      <dc:creator>Gary Austin</dc:creator>
      <pubDate>Wed, 30 Sep 2026 14:07:00 +0000</pubDate>
      <link>https://dev.to/biggthecreator/it-compiles-nobody-asked-if-it-was-safe-the-one-afternoon-review-for-an-ai-built-app-42kg</link>
      <guid>https://dev.to/biggthecreator/it-compiles-nobody-asked-if-it-was-safe-the-one-afternoon-review-for-an-ai-built-app-42kg</guid>
      <description>&lt;h1&gt;
  
  
  It compiles. Nobody asked if it was safe: the one-afternoon review for an AI-built app
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;In Veracode's 2026 testing, AI-generated code compiled almost every time and passed security checks about half the time — with no security prompting, on raw models. Two public cases — a scan of Lovable's showcase in 2025 and Wiz's Moltbook disclosure in 2026 — show one shape a failure can take: a key that is meant to be public, and a server-side rule that was missing or wrong. Here is the mechanism, what the record actually establishes, what it does not, and the afternoon that checks for it.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Somebody on your side of the table shipped an app this quarter that no security person ever read. A client intake portal. A technician's internal tool. A dashboard built in an afternoon with an AI coding assistant and a login page that made it feel finished.&lt;/p&gt;

&lt;p&gt;It works. I believe you. That is not the question any more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working is the easy part now
&lt;/h2&gt;

&lt;p&gt;Veracode's &lt;em&gt;2026 GenAI Code Security Report&lt;/em&gt; (press release, July 28, 2026) tracks code generated by more than 100 models. By Veracode's numbers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the code compiles at a &lt;strong&gt;near-universal ~100%&lt;/strong&gt; syntax pass rate;&lt;/li&gt;
&lt;li&gt;it passes Veracode's security tests &lt;strong&gt;56% of the time on average&lt;/strong&gt; — "virtually unchanged" from their previous report;&lt;/li&gt;
&lt;li&gt;the best model on their summer leaderboard still &lt;strong&gt;failed nearly one security task in three&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two conditions ride with those numbers and they matter: the tests used &lt;strong&gt;no security-specific prompting&lt;/strong&gt;, and they ran against &lt;strong&gt;raw models&lt;/strong&gt; — not agents, not tools with guardrails, not code a human reviewed. Veracode says so explicitly.&lt;/p&gt;

&lt;p&gt;So the honest reading is not "AI code is insecure." It is narrower and more useful: &lt;strong&gt;code that nobody asked about security, and nobody reviewed, passes security checks about half the time.&lt;/strong&gt; Our read: that describes a lot of the apps quietly going live inside small businesses right now.&lt;/p&gt;

&lt;h2&gt;
  
  
  The key is supposed to be public
&lt;/h2&gt;

&lt;p&gt;Many of these apps put their data in a hosted database — Supabase is a common one — and the browser talks to it directly. To do that, the page carries a key.&lt;/p&gt;

&lt;p&gt;Here is the part people get backwards: &lt;strong&gt;that key is supposed to be public.&lt;/strong&gt; A publishable (or "anon") key is designed to sit in the browser. Anyone can read it. That is fine, because the key is not the lock.&lt;/p&gt;

&lt;p&gt;The lock is a rule on the database itself — in Supabase, a &lt;strong&gt;Row Level Security&lt;/strong&gt; policy — that says &lt;em&gt;this user can read these rows, and only these&lt;/em&gt;. When the rule exists and is right, the public key is harmless. When the rule is missing or wrong, the public key opens the whole table, for anyone, without logging in. And nothing on the screen looks any different.&lt;/p&gt;

&lt;p&gt;That is the entire mechanism behind both cases below.&lt;/p&gt;

&lt;h2&gt;
  
  
  170 of 1,645: the showcase scan
&lt;/h2&gt;

&lt;p&gt;In March 2025, Matt Palmer — who works in developer relations at &lt;strong&gt;Replit&lt;/strong&gt;, which builds a competing AI app builder; read the finding with that in mind, and read his method yourself — found a Lovable-built site that would hand over its whole &lt;code&gt;users&lt;/code&gt; table when a request was edited to ask for everything. So he and a colleague checked the rest.&lt;/p&gt;

&lt;p&gt;Lovable keeps a showcase page of launched projects. Their script visited the homepages of &lt;strong&gt;1,645&lt;/strong&gt; projects listed there, captured each request to the database, and re-issued it asking for everything. Per Palmer's published statement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;170 projects (about 10.3%)&lt;/strong&gt; returned data with inadequate Row Level Security;&lt;/li&gt;
&lt;li&gt;across &lt;strong&gt;303 endpoints&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;exposing things like emails, phone numbers, subscription and payment details, and developer API keys.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;He is careful about the method, and so are we: the script &lt;strong&gt;only analysed homepages&lt;/strong&gt;. It never logged in and never crawled deeper. Our read: that count is a floor, not a ceiling.&lt;/p&gt;

&lt;p&gt;It was published as &lt;strong&gt;CVE-2025-48757&lt;/strong&gt; on May 29, 2025. Palmer also writes (as of May 2025) that Lovable's later "security scan" checked &lt;em&gt;that&lt;/em&gt; an RLS policy existed, not &lt;em&gt;whether it was correct&lt;/em&gt;. That is his assessment — but hold onto the underlying point, because it comes back below.&lt;/p&gt;

&lt;h2&gt;
  
  
  One setting: Wiz and Moltbook
&lt;/h2&gt;

&lt;p&gt;In January 2026, Moltbook — a social network for AI agents that had just gone viral, and whose founder said publicly he had vibe-coded it — got a visit from Wiz researchers who, in their words, were "simply browsing like normal users."&lt;/p&gt;

&lt;p&gt;Within minutes they found a Supabase key in the site's client-side JavaScript. Wiz is precise here: it was a &lt;strong&gt;publishable&lt;/strong&gt; key, and exposing one "does not automatically indicate a security failure." The failure was behind it — no Row Level Security. Per Wiz's write-up (Gal Nagli, February 2, 2026), that key gave unauthenticated &lt;strong&gt;read and write&lt;/strong&gt; access to the production database:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1.5 million&lt;/strong&gt; API authentication tokens;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;35,000&lt;/strong&gt; email addresses;&lt;/li&gt;
&lt;li&gt;private messages between agents, some containing plaintext third-party API keys;&lt;/li&gt;
&lt;li&gt;and the ability to &lt;strong&gt;edit live posts&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Moltbook secured it &lt;strong&gt;within hours&lt;/strong&gt; of Wiz's report, over several rounds of fixes, and Wiz deleted the data it had accessed. This was a &lt;strong&gt;research disclosure&lt;/strong&gt;, not an attack report. (Wiz notes that researcher Jameson O'Reilly independently found the same misconfiguration.) Wiz's own summary is the line worth keeping: the issue "ultimately traced back to a single Supabase configuration setting."&lt;/p&gt;

&lt;h2&gt;
  
  
  The button is hidden. The route is not.
&lt;/h2&gt;

&lt;p&gt;Neither case is new in kind. OWASP's Top 10:2025 keeps &lt;strong&gt;Broken Access Control at #1&lt;/strong&gt;; in OWASP's contributed test data, every application tested had some form of it. And OWASP states the principle plainly: access control is only effective when implemented in &lt;strong&gt;trusted server-side code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;One of OWASP's own example scenarios is an app that keeps its access checks in the front end — JavaScript that stops you navigating to the admin page — while the admin URL itself still answers a direct request. The attacker never clicks the button. They call the route.&lt;/p&gt;

&lt;p&gt;Our read: this is the pattern an assistant ships most easily, because it builds exactly what was asked for: a page, a hidden button, a redirect for non-admins. It all looks right in a demo. Nothing in the demo asked the server to refuse.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we do not know
&lt;/h2&gt;

&lt;p&gt;It is worth being honest about the edges of the record.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;We do not know how many AI-built apps your clients are running today.&lt;/strong&gt; If you do not know either, that is finding number one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;We do not know how many of those 170 are still open.&lt;/strong&gt; Palmer's scan is from March 2025.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;We do not know how representative either case is.&lt;/strong&gt; One was a showcase of one builder's apps; the other was one viral app. Neither is a census.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What does hold across both: a rule that &lt;em&gt;exists&lt;/em&gt; is not a rule that &lt;em&gt;works&lt;/em&gt;, and the only way to know which one you have is to try it — from the outside, as somebody who should not get in.&lt;/p&gt;

&lt;h2&gt;
  
  
  The afternoon
&lt;/h2&gt;

&lt;p&gt;One app. The one a real person can sign into today. Put whoever built it in the room.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;THE PRE-LAUNCH AFTERNOON — ONE APP
1  PICK     one app a real person can sign into.
2  SECRETS  search the BUILT front end (view source,
            network tab, build output) — not the repo —
            for keys. Publishable key: fine.
            Service / admin key: remove it,
            redeploy, rotate, treat as exposed.
3  ROWS     for every table the browser can reach,
            confirm the row rule EXISTS, then prove it
            WORKS with two test accounts: B's record
            as A, and with no session; read AND
            write. You should get nothing back.
4  ROUTES   call the admin API directly as an
            ordinary user. Expect a refusal (401/
            403/404) or empty result, never data.
5  HOW      every PASS gets a How-verified line, a date
            and a named human.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 5 is the one that turns an afternoon into evidence. "The assistant said it did" is not a how. "Called &lt;code&gt;/api/users/2&lt;/code&gt; as user 1, got 403, 2026-09-29, J. Smith" is.&lt;/p&gt;

&lt;p&gt;Two ground rules. Run this &lt;strong&gt;only on apps you own or are authorized to test&lt;/strong&gt;. And if a check returns data that should not have been readable, treat it as a potential exposure — follow your incident-response plan and bring in counsel and your insurer; notification duties are a legal question, not a checklist one.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The free kit:&lt;/strong&gt; &lt;em&gt;The Vibe-Coded App Pre-Launch Kit&lt;/em&gt; (Gatorbyte #015) is this afternoon on paper — 26 controls in six groups, the five things the login page probably forgot, a legal and trust pass, a review-only prompt for the assistant that built the app, and a pre-launch register with a How-verified column. Runs offline as a portable Windows app; no account, nothing phones home. Free to use inside your organization and with your clients, including in paid engagements.&lt;br&gt;
→ &lt;a href="https://thesecuritygator.gumroad.com/l/gb015-vibe-coded-app-prelaunch-kit" rel="noopener noreferrer"&gt;https://thesecuritygator.gumroad.com/l/gb015-vibe-coded-app-prelaunch-kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The kit supports secure-development, pre-release review and audit-preparation workflows — a practical starting point to review and adapt for your organization; not legal, compliance, or audit advice, and not a substitute for a penetration test or an application security assessment. The Security Gator is not affiliated with Veracode, Wiz, OWASP, Replit, Lovable or Moltbook.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Veracode, &lt;em&gt;2026 GenAI Code Security Report&lt;/em&gt; — press release, July 28, 2026: &lt;a href="https://www.businesswire.com/news/home/20260728207685/en/" rel="noopener noreferrer"&gt;https://www.businesswire.com/news/home/20260728207685/en/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Matt Palmer, &lt;em&gt;Statement on CVE-2025-48757&lt;/em&gt;, May 29, 2025: &lt;a href="https://mattpalmer.io/posts/2025/05/statement-on-CVE-2025-48757/" rel="noopener noreferrer"&gt;https://mattpalmer.io/posts/2025/05/statement-on-CVE-2025-48757/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Wiz Research (Gal Nagli), &lt;em&gt;Hacking Moltbook&lt;/em&gt;, February 2, 2026: &lt;a href="https://www.wiz.io/blog/exposed-moltbook-database-reveals-millions-of-api-keys" rel="noopener noreferrer"&gt;https://www.wiz.io/blog/exposed-moltbook-database-reveals-millions-of-api-keys&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;OWASP Top 10:2025, A01 Broken Access Control: &lt;a href="https://owasp.org/Top10/2025/A01_2025-Broken_Access_Control/" rel="noopener noreferrer"&gt;https://owasp.org/Top10/2025/A01_2025-Broken_Access_Control/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>supabase</category>
      <category>ai</category>
    </item>
    <item>
      <title>Twenty Got Three Days, Eight Got Fourteen: CISA's KEV Due Date Is the Free Sort Key Nobody Reads</title>
      <dc:creator>Gary Austin</dc:creator>
      <pubDate>Wed, 23 Sep 2026 14:07:01 +0000</pubDate>
      <link>https://dev.to/biggthecreator/twenty-got-three-days-eight-got-fourteen-cisas-kev-due-date-is-the-free-sort-key-nobody-reads-169i</link>
      <guid>https://dev.to/biggthecreator/twenty-got-three-days-eight-got-fourteen-cisas-kev-due-date-is-the-free-sort-key-nobody-reads-169i</guid>
      <description>&lt;h1&gt;
  
  
  Twenty got three days. Eight got fourteen. Your patch queue's sort key was already free — and it's a date.
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;CISA's Known Exploited Vulnerabilities catalog publishes no CVSS score. Not for any entry, not ever. What it publishes is a &lt;code&gt;dueDate&lt;/code&gt; — one per flaw — and in the first half of September 2026 that single field sorted twenty-eight CVEs into two piles with nothing in between. All ten security and remote-management products landed in the short pile. Here is how to read the field, why a Cisco-rated 10.0 and an Acronis-rated 7.8 drew the same deadline, and the one-afternoon inventory that turns it into a queue.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;I pulled the catalog on September 18, 2026. It is a public JSON file — no account, no vendor, no scanner:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;catalogVersion&lt;/code&gt; &lt;strong&gt;2026.09.18&lt;/strong&gt; · &lt;code&gt;dateReleased&lt;/code&gt; &lt;strong&gt;2026-09-18T13:49:41.7236Z&lt;/strong&gt; · &lt;strong&gt;1,715&lt;/strong&gt; entries in the catalog · &lt;strong&gt;28&lt;/strong&gt; of them added since September 1.&lt;/p&gt;

&lt;p&gt;Open one entry: CVE ID, vendor, product, vulnerability name, &lt;code&gt;dateAdded&lt;/code&gt;, &lt;code&gt;dueDate&lt;/code&gt;, &lt;code&gt;knownRansomwareCampaignUse&lt;/code&gt;, CWEs, a required action, notes.&lt;/p&gt;

&lt;p&gt;Now notice the absence. &lt;strong&gt;There is no CVSS field.&lt;/strong&gt; CISA publishes no severity score in KEV — not a base score, not a vector, nothing. Every CVSS number you have seen sitting next to a KEV entry came from a vendor or from NVD, and somebody else put it there.&lt;/p&gt;

&lt;p&gt;What CISA publishes instead is a date.&lt;/p&gt;

&lt;h2&gt;
  
  
  Twenty got three days. Eight got fourteen. There is no middle.
&lt;/h2&gt;

&lt;p&gt;Subtract &lt;code&gt;dateAdded&lt;/code&gt; from &lt;code&gt;dueDate&lt;/code&gt; across September's twenty-eight entries and the month falls into exactly two buckets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Three days — 20 CVEs.&lt;/strong&gt; Linux Kernel ×2 (CVE-2025-39964, CVE-2026-53266) · Google Pixel (CVE-2026-58704) · Cisco Identity Services Engine (CVE-2026-76460) · Acronis Backup (CVE-2026-87886) · Cisco Secure Email Gateway (CVE-2026-76461) · ConnectWise ScreenConnect (CVE-2026-84869) · GitLab CE/EE (CVE-2026-85706) · MikroTik RouterOS ×2 (CVE-2026-86060, CVE-2026-67277) · Citrix NetScaler (CVE-2026-19490) · Fortinet Multiple Products (CVE-2025-25249) · Cisco Secure Firewall Management Center (CVE-2026-20079) · Adobe Commerce and Magento (CVE-2026-75650) · N-able N-central (CVE-2026-86218) · Kestra OSS (CVE-2026-49869) · JFrog Artifactory (CVE-2026-82329) · Sangoma Switchvox (CVE-2026-9586) · SonicWall SMA1000 ×2 (CVE-2026-83548, CVE-2026-83549)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fourteen days — 8 CVEs.&lt;/strong&gt; JFrog Artifactory ×2 (CVE-2026-42016, CVE-2026-42018) · Google Chromium V8 ×2 (CVE-2026-87491, CVE-2026-85046) · Microsoft Windows ×2 (CVE-2026-81963, CVE-2026-85880) · BerriAI LiteLLM (CVE-2026-59822) · Kludex Starlette (CVE-2026-48710)&lt;/p&gt;

&lt;p&gt;20 + 8 = 28. No sevens, no twenty-ones, no thirties. Two values and a hard edge between them, which is what a decision looks like once it lands in a data structure. Somebody read each entry and put it in a pile.&lt;/p&gt;

&lt;p&gt;One more fact about all twenty-eight, because it is the field people reach for when they want to feel urgency: every September entry carries &lt;code&gt;knownRansomwareCampaignUse: "Unknown"&lt;/code&gt;. The scary column is blank on the whole month. The date still says three days on twenty of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest part, before you take this anywhere
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;BOD 26-04 deadlines are compulsory for Federal Civilian Executive Branch agencies only.&lt;/strong&gt; They do not bind your company, your MSP, or your clients. Not a little, not implicitly, not "as a best practice." That distinction gets flattened constantly, usually by someone with something to sell — and the flattened version is worthless anyway: "patch within three days or you're non-compliant" describes no obligation a private company actually has. Binding for federal civilian agencies; free for everyone else to copy. Copy the signal, not a claim of compliance.&lt;/p&gt;

&lt;p&gt;The field comes from &lt;strong&gt;BOD 26-04, &lt;em&gt;Prioritizing Security Updates Based on Risk&lt;/em&gt;, issued June 10, 2026&lt;/strong&gt;, which sets remediation urgency from exposure, KEV status, exploit automation and technical impact. You do not have to adopt the directive to use its output: the &lt;code&gt;dueDate&lt;/code&gt; is that four-variable model already run, already published, already free, shipping in the same file as the CVE ID.&lt;/p&gt;

&lt;h2&gt;
  
  
  The ten — and what they have in common
&lt;/h2&gt;

&lt;p&gt;Ten of September's twenty-eight are security or remote-management products, defined tightly enough to be auditable: &lt;strong&gt;products whose purpose is to secure, authenticate, protect, back up, or remotely manage other systems.&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Product&lt;/th&gt;
&lt;th&gt;CVE&lt;/th&gt;
&lt;th&gt;Added&lt;/th&gt;
&lt;th&gt;Due&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Cisco Identity Services Engine&lt;/td&gt;
&lt;td&gt;CVE-2026-76460&lt;/td&gt;
&lt;td&gt;09-16&lt;/td&gt;
&lt;td&gt;09-19&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Acronis Backup&lt;/td&gt;
&lt;td&gt;CVE-2026-87886&lt;/td&gt;
&lt;td&gt;09-16&lt;/td&gt;
&lt;td&gt;09-19&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Cisco Secure Email Gateway&lt;/td&gt;
&lt;td&gt;CVE-2026-76461&lt;/td&gt;
&lt;td&gt;09-14&lt;/td&gt;
&lt;td&gt;09-17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;ConnectWise ScreenConnect&lt;/td&gt;
&lt;td&gt;CVE-2026-84869&lt;/td&gt;
&lt;td&gt;09-11&lt;/td&gt;
&lt;td&gt;09-14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Citrix NetScaler&lt;/td&gt;
&lt;td&gt;CVE-2026-19490&lt;/td&gt;
&lt;td&gt;09-09&lt;/td&gt;
&lt;td&gt;09-12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Fortinet (Multiple Products)&lt;/td&gt;
&lt;td&gt;CVE-2025-25249&lt;/td&gt;
&lt;td&gt;09-09&lt;/td&gt;
&lt;td&gt;09-12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;Cisco Secure Firewall Management Center&lt;/td&gt;
&lt;td&gt;CVE-2026-20079&lt;/td&gt;
&lt;td&gt;09-09&lt;/td&gt;
&lt;td&gt;09-12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;N-able N-central&lt;/td&gt;
&lt;td&gt;CVE-2026-86218&lt;/td&gt;
&lt;td&gt;09-08&lt;/td&gt;
&lt;td&gt;09-11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;SonicWall SMA1000 Appliances&lt;/td&gt;
&lt;td&gt;CVE-2026-83548&lt;/td&gt;
&lt;td&gt;09-02&lt;/td&gt;
&lt;td&gt;09-05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;SonicWall SMA1000 Appliances&lt;/td&gt;
&lt;td&gt;CVE-2026-83549&lt;/td&gt;
&lt;td&gt;09-02&lt;/td&gt;
&lt;td&gt;09-05&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Every one: three days. Not one of them got fourteen.&lt;/p&gt;

&lt;p&gt;State the boundary out loud, because a category you cannot audit is a statistic you cannot trust. MikroTik RouterOS appears twice in the three-day pile and is &lt;strong&gt;excluded&lt;/strong&gt; here as general networking rather than security tooling; count it in and the number is twelve. The claim is ten, under that definition, checkable against the feed in about a minute.&lt;/p&gt;

&lt;p&gt;Then read the list again and notice what it is. That is not a software inventory. It is an org chart of a security program — the box that decides who gets on the network, the box that filters the mail, the box that manages the firewall, the box that holds the backups, and the two boxes that reach every machine you own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contrast one: Cisco's 10.0 and Acronis's 7.8 drew the same three days
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Cisco Identity Services Engine, CVE-2026-76460.&lt;/strong&gt; Added September 16, due September 19, CWE-648 &lt;em&gt;Incorrect Use of Privileged APIs&lt;/em&gt;. &lt;strong&gt;Cisco's own advisory scores it 10.0&lt;/strong&gt; — Cisco's number; CISA publishes no CVSS score in KEV. It was a zero-day, and Cisco PSIRT states it is aware of active exploitation. A remote, &lt;strong&gt;unauthenticated&lt;/strong&gt; attacker bypasses authentication with crafted requests to an API endpoint that does not apply sufficient authentication controls, and successful exploitation can execute commands with &lt;strong&gt;root&lt;/strong&gt; privileges — which includes hiding or deleting the indicators that anyone was ever there. It affects Cisco ISE and ISE-PIC &lt;strong&gt;regardless of device configuration&lt;/strong&gt;. Fixed in 3.5 Patch 4, 3.4 Patch 7, 3.3 Patch 12, 3.2 Patch 11 and 3.1 Patch 12.&lt;/p&gt;

&lt;p&gt;That is the appliance that decides who is allowed onto the network. Root on it means the system of record for who got in becomes a system the intruder controls.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Acronis Backup, CVE-2026-87886.&lt;/strong&gt; Added the same day, due the same day. CWE-276 &lt;em&gt;Incorrect Default Permissions&lt;/em&gt;. &lt;strong&gt;Acronis rates it 7.8&lt;/strong&gt; — Acronis's number, again not CISA's. Acronis describes it as a &lt;strong&gt;local&lt;/strong&gt; privilege escalation from insecure file permissions, requiring an attacker to already hold authenticated, low-privileged local access to the Linux server. It affects the Acronis Backup plugin for cPanel &amp;amp; WHM (Linux) before build 1.9.3.1021, the extension for Plesk (Linux) before 1.8.11.638, and the plugin for DirectAdmin (Linux) before 1.2.3.238. Acronis confirmed exploitation observed in the wild against the cPanel &amp;amp; WHM plugin.&lt;/p&gt;

&lt;p&gt;So: Cisco's 10.0 — remote, unauthenticated, root. And Acronis's 7.8 — local, foothold required first. A 2.2-point spread, two entirely different threat models, and the same deadline to the day.&lt;/p&gt;

&lt;p&gt;The scores are not wrong. They answer a different question. Severity asks &lt;em&gt;what could happen&lt;/em&gt;; the deadline asks &lt;em&gt;whether somebody is doing it&lt;/em&gt;. One of those is a continuum two databases can argue about. The other is a yes or a no, and it changes when you wake up tomorrow. Only one is a sort key.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contrast two: the browser waited, the backup plugin did not
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Google Chromium V8 out-of-bounds write, CVE-2026-87491&lt;/strong&gt;, added September 9 — &lt;strong&gt;fourteen days&lt;/strong&gt;. The rendering engine on effectively every desktop you own.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Acronis Backup local privilege escalation, CVE-2026-87886&lt;/strong&gt;, added September 16 — &lt;strong&gt;three days&lt;/strong&gt;. A plugin on a control panel, needing an attacker already authenticated on the box.&lt;/p&gt;

&lt;p&gt;Rank those two by instinct and most people invert them. Instinct ranks blast radius. The field ranks evidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  The MSP item: two management platforms, three days apart
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;N-able N-central, CVE-2026-86218&lt;/strong&gt; — added September 8, due September 11, CWE-96 &lt;em&gt;Static Code Injection&lt;/em&gt;. We took that one apart last week; here it is the second data point.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ConnectWise ScreenConnect, CVE-2026-84869&lt;/strong&gt; — added September 11, due September 14, CWE-269 &lt;em&gt;Improper Privilege Management&lt;/em&gt; plus CWE-862 &lt;em&gt;Missing Authorization&lt;/em&gt;. It affects the ScreenConnect client &lt;strong&gt;prior to 26.6.5&lt;/strong&gt;: missing authorization controls allow file transfer and execution through an &lt;strong&gt;active remote session without host confirmation&lt;/strong&gt;. &lt;strong&gt;Huntress&lt;/strong&gt; reported it exploited in the wild &lt;strong&gt;since August 20, 2026&lt;/strong&gt; — roughly three weeks before it reached the catalog. The behaviour Huntress reported was &lt;strong&gt;worm-like&lt;/strong&gt;: a modified ScreenConnect instance deployed four VBScript files for persistence and propagation to other ScreenConnect clients. The fix is &lt;strong&gt;26.6.5 or later&lt;/strong&gt;; ConnectWise's interim mitigation is to &lt;strong&gt;disable TransferFiles permissions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I have deliberately not quoted a CVSS figure for either. The week's argument is that the date outranks the score, and the paragraph is stronger without a number in it.&lt;/p&gt;

&lt;p&gt;Two remote-management platforms, three days apart, both in the three-day pile. If you run one, that console reaches every endpoint in your book of business — row one on the asset list, not a footnote under "tools." If you buy from someone who runs one: which management platforms reach your estate, are they internet-facing, and when were they last patched? Ask in writing. Keep the answer with a date on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The mail gateway, and what a zero-day looks like in the record
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Cisco Secure Email Gateway, CVE-2026-76461&lt;/strong&gt; — added September 14, due September 17, CWE-89 &lt;em&gt;SQL Injection&lt;/em&gt;. Cisco's advisory published on &lt;strong&gt;September 14, the same day CISA added it to KEV.&lt;/strong&gt; That is what "exploited before disclosure" looks like read off a timeline instead of a press release: the vendor's first public word and the catalog entry land together, because the exploitation came first and the paperwork caught up.&lt;/p&gt;

&lt;p&gt;Unauthenticated, no user interaction. A &lt;strong&gt;crafted email passing through the gateway&lt;/strong&gt; carries SQL statements, and exploitation can reach &lt;strong&gt;root command execution&lt;/strong&gt; on the underlying OS. Affects AsyncOS 16.5, 16.0, and 15.5 and earlier, on-premises physical and virtual appliances. Fixed in AsyncOS 15.5.5-0141, 16.0.4-3021 and 16.5.0-780. &lt;strong&gt;No workaround&lt;/strong&gt; — meaning the mitigation column on your tracker reads "upgrade" and nothing else, which is worth knowing before the maintenance-window conversation rather than during it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to read the due date yourself
&lt;/h2&gt;

&lt;p&gt;Three fields do all the work.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;product      → what you search on. NOT the score.
dateAdded    → the day CISA published the entry.
dueDate      → the deadline it carries.

dueDate − dateAdded = CISA's urgency verdict, as an integer.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All three are free and account-free: the &lt;strong&gt;JSON feed&lt;/strong&gt; above; a &lt;strong&gt;CSV&lt;/strong&gt; at the same path with a &lt;code&gt;.csv&lt;/code&gt; extension, if you would rather open it in a spreadsheet; and the browsable catalog at &lt;code&gt;cisa.gov/known-exploited-vulnerabilities-catalog&lt;/code&gt;. Pull the file, filter entries on &lt;code&gt;product&lt;/code&gt; against the names on your own list, and for every hit subtract. A 3 means CISA set a three-day remediation window; a 14 means fourteen. Both are in the catalog because exploitation was observed — the integer is urgency, not evidence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Search by product, never by score.&lt;/strong&gt; Most teams get this backwards, and it is the difference between a five-minute answer and an afternoon reconciling severity numbers two databases disagree about. You are not asking "how bad is this CVE." You are asking "is anything I own in this file, and what integer did it get." Product name in, integer out — and read the version &lt;strong&gt;off the host&lt;/strong&gt;, not off the management dashboard, because dashboards report what they were last told and appliances get rebooted, restored and half-upgraded.&lt;/p&gt;

&lt;h2&gt;
  
  
  The list you have to build first, because you probably don't have it
&lt;/h2&gt;

&lt;p&gt;You cannot filter a feed against a list you never wrote down, and the list this month demands is the one almost nobody has — not the servers, not the laptops, but &lt;strong&gt;the tools doing the protecting&lt;/strong&gt;, including the vendor consoles you neither host nor patch.&lt;/p&gt;

&lt;p&gt;Those tools sit in a structural blind spot, and it is the same one every time: excluded from the vulnerability scan because they &lt;em&gt;are&lt;/em&gt; the security stack, patched on the vendor's cadence rather than yours, owned by "whoever set it up," and frequently the only boxes in the building with no named human on them. That is precisely the population that went ten-for-ten into the three-day pile this month.&lt;/p&gt;

&lt;p&gt;So the afternoon runs in three passes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Enumerate the security and management stack.&lt;/strong&gt; One row per product: vendor, product, version &lt;em&gt;read off the host&lt;/em&gt;, where it is reachable from, and a named human — not a team, not a mailbox, not someone who left.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filter the KEV feed on &lt;code&gt;product&lt;/code&gt;&lt;/strong&gt; for every name on that list.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;For every hit, record &lt;code&gt;dateAdded&lt;/code&gt;, &lt;code&gt;dueDate&lt;/code&gt; and the integer between them&lt;/strong&gt; — then inherit the integer as your own priority order. Federal civilian agencies are bound by that date; you are voluntarily copying homework somebody published for free. Where no fix exists yet, write the actual mitigation in the row: restrict source addresses, take the interface off the internet, disable the feature. "Waiting on the vendor" is a status, not a control.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The artifact is the point
&lt;/h2&gt;

&lt;p&gt;The rule carries over from every review in this series: &lt;strong&gt;every claim gets a number and a date.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;"We're on top of patching" is a mood. Something shaped like &lt;em&gt;"23 security and management products inventoried Sep 18; 4 matched KEV by product; 3 patched, 1 mitigated by source restriction pending vendor fix; versions read off-host; owner named on every row; next pass Dec 18"&lt;/em&gt; is an artifact — and it is the shape of answer that cyber-insurance applications and client security questionnaires keep asking for.&lt;/p&gt;

&lt;p&gt;The re-ranking itself costs nothing. It is a change of sort order, not a change of budget, which makes it the cheapest item on any security roadmap this quarter.&lt;/p&gt;

&lt;p&gt;The severity number is a judgement two authorities can disagree about. The due date is CISA's verdict on whether the thing is currently being used against people: published in a free file, updated as new exploitation is confirmed, expressed as an integer you can subtract in your head.&lt;/p&gt;

&lt;p&gt;The sort key was already free. And it's a date.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The kit is free.&lt;/strong&gt; The Security Stack Kit (Gatorbyte #014) is this afternoon on paper: the inventory of the tools doing the protecting, the version-read-off-host column, the KEV cross-check by product, the &lt;code&gt;dateAdded&lt;/code&gt; / &lt;code&gt;dueDate&lt;/code&gt; / days-between fields, and the named-owner column that makes a row survive triage. It supports vulnerability-management and audit-preparation workflows — a practical starting point to review and adapt for your organization; not legal, compliance, or audit advice. Kits are free to use inside your organization and with your clients, including in paid engagements — &lt;a href="https://thesecuritygator.gumroad.com/l/gb014-security-stack-kit" rel="noopener noreferrer"&gt;thesecuritygator.gumroad.com/l/gb014-security-stack-kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;CISA Binding Operational Directive deadlines are compulsory only for the Federal Civilian Executive Branch agencies BOD 26-04 names. Nothing here creates an obligation on a private organization, and nothing here substitutes for managed security, penetration testing, or incident-response services.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt; &lt;a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener noreferrer"&gt;CISA KEV catalog&lt;/a&gt; · &lt;a href="https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json" rel="noopener noreferrer"&gt;KEV JSON feed, catalogVersion 2026.09.18, read 2026-09-18&lt;/a&gt; · CISA KEV addition alerts, 2026-09-02, 09-09, 09-14 and 09-16 · Cisco security advisories for CVE-2026-76460 and CVE-2026-76461 · ConnectWise advisory for CVE-2026-84869 · Acronis advisory for CVE-2026-87886 · &lt;a href="https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk" rel="noopener noreferrer"&gt;CISA BOD 26-04 — "Prioritizing Security Updates Based on Risk"&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A note on the scores, because it is the article's premise: the KEV catalog contains no CVSS field. The 10.0 is Cisco's, from Cisco's own advisory; the 7.8 is Acronis's. Trade coverage carries CVSS figures for the Cisco Secure Email Gateway and ConnectWise ScreenConnect flaws too — omitted here on purpose, because a piece arguing that the date outranks the score should not lean on the score. No figure here is CISA's. CISA publishes none.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>sysadmin</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Nobody Broke In. They Signed In: The One-Afternoon Login-Surface Review</title>
      <dc:creator>Gary Austin</dc:creator>
      <pubDate>Thu, 10 Sep 2026 14:07:00 +0000</pubDate>
      <link>https://dev.to/biggthecreator/nobody-broke-in-they-signed-in-the-one-afternoon-login-surface-review-3mj3</link>
      <guid>https://dev.to/biggthecreator/nobody-broke-in-they-signed-in-the-one-afternoon-login-surface-review-3mj3</guid>
      <description>&lt;h1&gt;
  
  
  Nobody Broke In. They Signed In: The One-Afternoon Login-Surface Review
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;The instructive intrusions of the season share a shape: the authentication failed, not the firewall. Here's the afternoon review that counts every door your organization exposes — and turns the count into a signed record.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The pattern with no forced entry in it
&lt;/h2&gt;

&lt;p&gt;Read this month's actively-exploited list with one question in mind — &lt;em&gt;what actually failed?&lt;/em&gt; — and a theme emerges. A screen-sharing service that authenticated a network attacker without valid credentials. A collaboration platform whose security feature could be walked past after a public proof-of-concept dropped. A management console, weeks earlier, whose login could be skipped entirely via an alternate path. And in the same season, a seven-figure dump of contact records — name, email, address, phone — whose main criminal application is making the next call to a help desk sound exactly like the user it claims to be.&lt;/p&gt;

&lt;p&gt;No malware had to beat your EDR in any of those stories. The doors did what they were configured to do. The configuration was the finding.&lt;/p&gt;

&lt;p&gt;Which leads to an uncomfortable reframe: your perimeter is not a firewall diagram. It's the set of every internet-reachable place that accepts a credential for your organization — or for each client, if you're the MSP. And in most shops, that set has never been written down.&lt;/p&gt;

&lt;h2&gt;
  
  
  You can't lock a door you haven't counted
&lt;/h2&gt;

&lt;p&gt;The review starts with an inventory, because every later question is per-door. Twelve categories jog the memory:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identity provider / SSO&lt;/strong&gt; — the front desk itself&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Email &amp;amp; webmail&lt;/strong&gt; — including the legacy paths (OWA, ActiveSync, basic auth)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VPN portals &amp;amp; remote-access gateways&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firewall / network-gear admin interfaces&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RMM &amp;amp; remote-support tooling&lt;/strong&gt; — last week's master key cabinet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hypervisor &amp;amp; infrastructure management&lt;/strong&gt; — vCenter, iLO/iDRAC, cloud consoles&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;File / intranet / collaboration platforms&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SaaS admin consoles&lt;/strong&gt; — PSA, billing, backup, the password manager&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote desktop &amp;amp; screen sharing&lt;/strong&gt; — RDP, VNC, OS-native sharing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Break-glass &amp;amp; emergency accounts&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Service accounts &amp;amp; API keys&lt;/strong&gt; — doors with no human attached&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The help desk's reset procedure&lt;/strong&gt; — a door that answers to a voice&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One row per door: what it is, who uses it, what it accepts, who owns it, when it was last checked. If producing that table takes more than an afternoon, that fact is itself the first finding.&lt;/p&gt;

&lt;h2&gt;
  
  
  "We have MFA" is a per-door claim
&lt;/h2&gt;

&lt;p&gt;Here's where last week's management-plane review and this week's shake hands. The five console questions asked &lt;em&gt;is MFA enforced on the console itself&lt;/em&gt; — because a console with local accounts is indifferent to how good your identity provider's MFA is. This week generalizes it. For every row in the inventory, mark exactly one:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ON THE DOOR&lt;/strong&gt; — the service itself enforces a second factor, local accounts included.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UPSTREAM&lt;/strong&gt; — MFA lives at the IdP; anything the door authenticates locally walks past it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NOWHERE&lt;/strong&gt; — a password alone opens it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then two follow-ups per door: &lt;em&gt;can any account skip it?&lt;/em&gt; (service accounts, legacy protocols, app passwords) and &lt;em&gt;does this door hold accounts the IdP has never heard of?&lt;/em&gt; The org-level sentence "we have MFA" aggregates away exactly the information an attacker cares about. The matrix exists to de-aggregate it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The side doors
&lt;/h2&gt;

&lt;p&gt;Most gaps the matrix finds fall into a short, familiar list — the paths that skip the second factor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Legacy mail protocols still answering basic auth&lt;/li&gt;
&lt;li&gt;App passwords and long-lived tokens that outlive their owner's MFA&lt;/li&gt;
&lt;li&gt;Vendor and default accounts that shipped with a product and still resolve&lt;/li&gt;
&lt;li&gt;Break-glass accounts with no compensating alert on use&lt;/li&gt;
&lt;li&gt;Admin interfaces exposed to the whole internet where an allowlist would do&lt;/li&gt;
&lt;li&gt;API keys embedded in scripts older than the last rotation&lt;/li&gt;
&lt;li&gt;The MFA exception that was "temporary" two migrations ago&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Close what you can in the afternoon. For what you can't, write down the reason and an owner — an accepted risk with a name and a date is a decision; the same gap undocumented is just exposure.&lt;/p&gt;

&lt;h2&gt;
  
  
  The human door
&lt;/h2&gt;

&lt;p&gt;The password reset flow is an internet-reachable authentication endpoint. It runs on a human, under social pressure, and its verification data — the things a caller is asked to prove — is precisely what large contact-data dumps put in criminals' hands. So the script is short and strict: never authenticate on knowledge alone; call back on the number already on file, never the one the caller offers; verify through a second channel the account owner controls; allow no urgency exceptions, because manufactured urgency &lt;em&gt;is&lt;/em&gt; the technique; and log every reset — who asked, how verified, who approved, when.&lt;/p&gt;

&lt;p&gt;Five lines, printable. It converts the softest login you own into one of the most defensible — and the log converts it into evidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  The record is the deliverable
&lt;/h2&gt;

&lt;p&gt;Same rule as restore week and console week: every claim gets a number and a date. The afternoon ends with one page: doors enumerated, MFA state per door, paths closed, exceptions accepted (with owners), script deployed, next check booked. "Twenty-two doors, MFA enforced on nineteen, three legacy paths closed, Aug 27, J.R., re-check November" is an artifact — the kind cyber-insurance applications and client questionnaires increasingly expect. "We're pretty locked down" is a mood.&lt;/p&gt;

&lt;h2&gt;
  
  
  The whole thing, packaged free
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Login Surface Kit&lt;/strong&gt; (Gatorbyte #010) bundles the review: the 12-category inventory worksheet, the MFA coverage matrix, the legacy-path kill list, the help-desk verification script, and the evidence log — free: &lt;strong&gt;&lt;a href="https://thesecuritygator.gumroad.com/l/gb010-login-surface-kit" rel="noopener noreferrer"&gt;thesecuritygator.gumroad.com/l/gb010-login-surface-kit&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;One afternoon. Twelve categories. One signed page either way it lands. Because a door you haven't counted is a door you can't lock.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is a review format, not managed security services — and not legal, compliance, or audit advice. Authentication capabilities vary by product and license; verify against your vendor's current documentation. If a review turns up evidence of compromise, follow your incident-response plan.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>sysadmin</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Same Attack, Two Companies. One Never Responded: The One-Afternoon Alert Coverage Review</title>
      <dc:creator>Gary Austin</dc:creator>
      <pubDate>Wed, 09 Sep 2026 14:07:00 +0000</pubDate>
      <link>https://dev.to/biggthecreator/same-attack-two-companies-one-never-responded-the-one-afternoon-alert-coverage-review-4h9c</link>
      <guid>https://dev.to/biggthecreator/same-attack-two-companies-one-never-responded-the-one-afternoon-alert-coverage-review-4h9c</guid>
      <description>&lt;h1&gt;
  
  
  Same attack, two companies. One never responded.
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;CISA ran the same red team playbook against two organizations at the same time and published both outcomes. One SOC quarantined the machines. The other received the alerts and never responded — and the reason it didn't is the cheapest problem in this whole story to fix.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;In August, CISA published something unusual: the results of two red team assessments run at the same time, against two different critical-infrastructure organizations, using similar tradecraft. Advisory AA26-237A, titled &lt;em&gt;"A Tale of Two SOCs."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It is unusual because it is the experiment nobody gets to run on themselves. Same attackers, same playbook, same week, two environments — and the results printed side by side.&lt;/p&gt;

&lt;p&gt;Both organizations were compromised at domain level. In both, the red team reached sensitive business systems and cloud resources. So the interesting variable is not whether the attack worked. It worked twice.&lt;/p&gt;

&lt;p&gt;The interesting variable is what happened in the minutes after.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one that worked
&lt;/h2&gt;

&lt;p&gt;Organization B, a water and wastewater entity, was phished. Three users clicked, and the red team landed on three workstations.&lt;/p&gt;

&lt;p&gt;The SOC caught the payload on each one. Every execution generated a medium-severity alert; staff quarantined the workstation, analyzed it, and reimaged it before putting it back online. Three times. Command-and-control never held.&lt;/p&gt;

&lt;p&gt;Then something worth noticing happened. Because the defenders removed that initial foothold, the red team could not proceed — so the engagement was restructured. Organization B's own trusted agents — IT staff who knew about the assessment — executed a red-team-provided payload on a designated internal host tied to a standard, non-administrative account, replicating the access the team &lt;em&gt;would&lt;/em&gt; have had if they hadn't been thrown out.&lt;/p&gt;

&lt;p&gt;Assume-breach is a standard phase of these assessments, so this isn't a trophy on its own. What it does tell you is the direction the pressure ran. The team didn't move to assume-breach on schedule; they moved to it because containment worked.&lt;/p&gt;

&lt;p&gt;Later, when the red team reached a bastion host in the OT DMZ, that host blocked outbound connections and the payload execution triggered an alert. Staff quarantined it. When the team logged into the Azure portal with a compromised account, an automated alert fired and staff blocked the account.&lt;/p&gt;

&lt;p&gt;None of that is exotic. It is ordinary tooling, plus somebody reading the output.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one that didn't
&lt;/h2&gt;

&lt;p&gt;Organization A, in government services, did not respond.&lt;/p&gt;

&lt;p&gt;Not to the phishing. Not to the privilege escalation — a default Machine Account Quota and a misconfigured AD CS certificate template. Not to credentials sitting in cleartext, or static cloud access keys set never to expire. At one point the red team used an over-permissioned application to review SOC staff email, specifically to see whether staff were aware of the compromise. The SOC never responded.&lt;/p&gt;

&lt;p&gt;Here is the part that should change how you think about your own program.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The alerts fired.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The advisory is explicit: the SOC received medium- and low-severity EDR alerts related to red team activity "but did not respond to them." Thousands of false positive alerts corresponding to normal business operations — many at &lt;em&gt;higher&lt;/em&gt; severity — obscured the real ones.&lt;/p&gt;

&lt;p&gt;That is not a detection failure. The tools detected it. It is a response failure, and it has a completely different fix, at a completely different price.&lt;/p&gt;

&lt;h2&gt;
  
  
  The detail worth an afternoon
&lt;/h2&gt;

&lt;p&gt;One alert in that environment was real, and a human looked at it.&lt;/p&gt;

&lt;p&gt;Red team members observed defenders' chat about an alert on an SCCM server. The defenders tried to determine who owned that system, what it did, and how it was normally used. They could not. The SOC eventually flagged it a false positive.&lt;/p&gt;

&lt;p&gt;Read that again slowly. The detection worked. The alert was true. It died in triage because the asset inventory could not name a person.&lt;/p&gt;

&lt;p&gt;Which means your CMDB is doing detection work, whether or not anyone staffed it that way. An alert arrives carrying a hostname. Whether it survives the next four minutes depends entirely on whether someone can attach meaning to that hostname at two in the morning.&lt;/p&gt;

&lt;p&gt;CISA also found Organization A running multiple SOCs and multiple EDR products whose staff neither communicated with each other nor had visibility into each other's detection tools — and SOC staff and system owners did not communicate either. More consoles is not more coverage. Each additional console is another place a signal can arrive and stop.&lt;/p&gt;

&lt;p&gt;The advisory's closing line is blunt, and worth quoting exactly:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Detection tools are only as effective as the people, processes, and procedures supporting them."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  It is not one unlucky organization
&lt;/h2&gt;

&lt;p&gt;You could read all of that as a story about one badly-run SOC. The numbers say otherwise.&lt;/p&gt;

&lt;p&gt;The Blue Report 2026, published in August by Picus Labs, measured more than 338 million attack simulations run in real production environments. Two of its scores matter here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Logging: 58%&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alerting: 14%&lt;/strong&gt; — flat year over year&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fewer than one simulated attack in seven produced an alert at all.&lt;/p&gt;

&lt;p&gt;Worth naming the obvious: Picus sells breach-and-attack-simulation tooling, and a report finding that untested detection underperforms is a report that sells more testing. Read it as vendor research. It is still worth citing, because the methodology is stated, the sample is enormous, and the finding is independently corroborated by a government advisory with nothing to sell — one describing a SOC that received real alerts and did not act on them.&lt;/p&gt;

&lt;p&gt;Put the two numbers side by side, because the gap is the entire argument. More than half the telemetry is arriving. The event gets written down. What almost never happens is a rule that reads it and routes it to a human.&lt;/p&gt;

&lt;p&gt;That is not a collection problem, and it will not be fixed by more retention or a bigger ingest bill. It is a detection-engineering problem. One of those costs money. The other starts with an afternoon.&lt;/p&gt;

&lt;h2&gt;
  
  
  The afternoon
&lt;/h2&gt;

&lt;p&gt;Five events. Not fifty.&lt;/p&gt;

&lt;p&gt;Fifty detections is a project, a budget line, and a thing you never start. Five is an afternoon. Pick five you would be embarrassed to miss, and leave the rest for next quarter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A new global or domain administrator&lt;/li&gt;
&lt;li&gt;A log source going dark&lt;/li&gt;
&lt;li&gt;An impossible-travel or anomalous-location login&lt;/li&gt;
&lt;li&gt;A mass export or bulk download&lt;/li&gt;
&lt;li&gt;A new mailbox forwarding or inbox rule&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pick by consequence, not by ease of detection. The temptation is to choose the five you already know alert — which measures your confidence, not your coverage.&lt;/p&gt;

&lt;p&gt;Then, for each one, three questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Is it logged?&lt;/strong&gt; Usually yes. Name the source and the retention window, not just "yes."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does it raise an alert?&lt;/strong&gt; Now you're guessing. A rule in a vendor template is not a rule that is enabled and scoped to your tenant.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who receives it, at 2am?&lt;/strong&gt; This is the one that decides everything.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Question three is where most programs quietly die. "Does it alert" is answerable on paper. "Who receives it at 2am" is answerable only by looking, and the answer is startlingly often a distribution list with one person on it who left, or a channel nobody has opened since the integration was built.&lt;/p&gt;

&lt;h2&gt;
  
  
  Then stop guessing
&lt;/h2&gt;

&lt;p&gt;Everything above is still paperwork. This part isn't.&lt;/p&gt;

&lt;p&gt;Generate the event. Get approval, work inside a change window, and tell the people who would otherwise page out that it's you. Create a throwaway administrator. Trigger a deliberate bulk download. Add a test forwarding rule.&lt;/p&gt;

&lt;p&gt;Then watch three places: the console that should show it, the channel that should carry it, and the human who should receive it. Record the wall-clock deltas — trigger to alert, alert to acknowledgement. Those numbers are the deliverable.&lt;/p&gt;

&lt;p&gt;And record the silences. An event that produced nothing is the most valuable row on the page, because it converts "would we catch that?" from an assumption into a finding — one you made on your own schedule instead of during an incident.&lt;/p&gt;

&lt;p&gt;Then remove what you created, and log the removal.&lt;/p&gt;

&lt;h2&gt;
  
  
  The artifact is the point
&lt;/h2&gt;

&lt;p&gt;The rule carries over from every review in this series: &lt;strong&gt;every claim gets a number and a date.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;"We'd catch that" is a mood. Something shaped like &lt;em&gt;"five events tested Sep 10; three alerted within four minutes; one alerted to a dead channel; one produced nothing — two tickets filed, retest Sep 24"&lt;/em&gt; is an artifact. It is also the exact thing that answers an assessor asking whether your monitoring is real or aspirational, and the kind of evidence assessors and insurers increasingly ask about.&lt;/p&gt;

&lt;p&gt;Fix the routing before you fix the rule, incidentally. An alert nobody receives and an alert that doesn't exist cost precisely the same during an incident, and the routing is usually the cheaper repair.&lt;/p&gt;

&lt;p&gt;Both organizations in that advisory had tools. Both had logs. One of them knew what it would see.&lt;/p&gt;

&lt;p&gt;Your logging is probably fine. Your alerting is the open question.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The worksheets are free.&lt;/strong&gt; The Alert Coverage Kit (Gatorbyte #012) is a self-contained offline HTML file — the five-event picker, the three-question test, the generate-and-watch protocol, a coverage log with time columns, the asset-ownership check, and an evidence register — plus CSV and Excel export of every worksheet. No account required — &lt;a href="https://thesecuritygator.gumroad.com/l/gb012-alert-coverage-kit" rel="noopener noreferrer"&gt;thesecuritygator.gumroad.com/l/gb012-alert-coverage-kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is a review format and a practical starting point to adapt for your organization. It supports detection-coverage documentation and audit-preparation workflows; it is not legal, compliance, or audit advice, and not a substitute for managed security or incident-response services. Generating test events changes state in a live environment — get approval and work inside a change window.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt; &lt;a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa26-237a" rel="noopener noreferrer"&gt;CISA AA26-237A — "A Tale of Two SOCs"&lt;/a&gt; · &lt;a href="https://www.cisa.gov/news-events/alerts/2026/09/02/cisa-adds-seven-known-exploited-vulnerabilities-catalog" rel="noopener noreferrer"&gt;CISA KEV alert, Sep 2&lt;/a&gt; · &lt;a href="https://www.helpnetsecurity.com/2026/08/12/picus-security-blue-report-2026/" rel="noopener noreferrer"&gt;Blue Report 2026, Picus Labs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>sysadmin</category>
      <category>devops</category>
    </item>
    <item>
      <title>They Left in March. Their Account Didn't: The One-Afternoon Offboarding Review</title>
      <dc:creator>Gary Austin</dc:creator>
      <pubDate>Wed, 02 Sep 2026 14:07:01 +0000</pubDate>
      <link>https://dev.to/biggthecreator/they-left-in-march-their-account-didnt-the-one-afternoon-offboarding-review-1b7c</link>
      <guid>https://dev.to/biggthecreator/they-left-in-march-their-account-didnt-the-one-afternoon-offboarding-review-1b7c</guid>
      <description>&lt;h1&gt;
  
  
  They Left in March. Their Account Didn't: The One-Afternoon Offboarding Review
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Last week CISA added vulnerabilities from 2015 to the actively-exploited catalog. The mechanism that keeps an eleven-year-old bug exploitable is the same one that keeps a departed employee's API token alive — and here's the afternoon review that finds it.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Decay, with a date stamp on it
&lt;/h2&gt;

&lt;p&gt;On August 26, 2026, the Known Exploited Vulnerabilities catalog picked up four entries worth reading twice: CVE-2015-3246 and CVE-2015-5287, both Red Hat, both from 2015; CVE-2019-1068, a SQL Server remote code execution; and CVE-2021-23758, a deserialization flaw in Ajax.NET Professional. Entries land in that catalog on evidence of &lt;em&gt;active exploitation&lt;/em&gt;. Somebody is still exploiting a bug that turned eleven years old.&lt;/p&gt;

&lt;p&gt;The catalog doesn't say why. But the simplest explanation for an eleven-year-old bug still being exploited is that it is still running somewhere, on a host nobody owns, that nobody has deliberately logged into since the person who built it left.&lt;/p&gt;

&lt;p&gt;Five days later the same catalog added two PaperCut NG/MF flaws, one of which is described in its own entry as &lt;em&gt;Missing Authentication for Critical Function&lt;/em&gt; — on a print management server, the archetypal thing an MSP installs once in year one and never revisits. And in between, on August 27, an ownCloud improper-authentication bug from &lt;strong&gt;2023&lt;/strong&gt; was added with a three-day federal remediation deadline.&lt;/p&gt;

&lt;p&gt;Read together, those look less like three patching stories than one ownership story. The risk factor is not &lt;em&gt;unpatched&lt;/em&gt;; unpatched is a symptom. The risk factor is &lt;strong&gt;unowned&lt;/strong&gt; — and access decays exactly the same way, only more quietly, because an orphaned account never throws an alert.&lt;/p&gt;

&lt;h2&gt;
  
  
  HR closes a person. Security has to close identities.
&lt;/h2&gt;

&lt;p&gt;Offboarding gets filed as an HR event, and that framing is why it quietly fails. HR closes a &lt;em&gt;person&lt;/em&gt;. Access lives as &lt;em&gt;identities&lt;/em&gt;, and the mapping is one-to-many.&lt;/p&gt;

&lt;p&gt;The directory account is the one identity that reliably has a human's name attached and a process pointed at it. It gets disabled on day one, and it is what everyone points to when you ask whether offboarding works. Underneath it sits everything that was created ad hoc, is owned by nobody in particular, and has no lifecycle tied to employment at all.&lt;/p&gt;

&lt;p&gt;So the process reports success while most of the surface is untouched.&lt;/p&gt;

&lt;h2&gt;
  
  
  The six-month rule
&lt;/h2&gt;

&lt;p&gt;Before the hunt, one decision determines whether this review measures anything: &lt;strong&gt;who you audit.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Reviewing last week's leaver tells you almost nothing. The ticket is still open, the manager remembers, someone is still copied on the thread. Of course it looks clean — you are measuring your attention, not your process.&lt;/p&gt;

&lt;p&gt;Pull five people who left &lt;strong&gt;six months ago or longer&lt;/strong&gt;, or five contractors whose engagement ended that long back. That tells you what your process produces once attention has moved on, which is the only condition it will actually operate under for the rest of its life.&lt;/p&gt;

&lt;p&gt;It is the same logic as testing a restore instead of trusting a green backup job. The green light describes an intention. The restored file describes reality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ten places access hides
&lt;/h2&gt;

&lt;p&gt;One row per identity, not per person. A single departure usually produces several:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Directory / SSO account&lt;/strong&gt; — the easy one, and the one that flatters the process&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local accounts on appliances&lt;/strong&gt; — firewall, hypervisor, NAS, print server, switch; tied to no directory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shared credentials in the team vault&lt;/strong&gt; — four people know it, so rotating it means telling four people, so it never gets rotated&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Service accounts&lt;/strong&gt; — nobody offboards one, because nobody thinks of it as a person; yet it carries their naming convention and their permissions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API tokens and app passwords&lt;/strong&gt; — they outlive the human because the token appears in no list anyone reads&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MFA enrolments on personal devices&lt;/strong&gt; — the account is disabled, the phone is still a registered authenticator&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vendor and support portals&lt;/strong&gt; — they are still the registered contact, so resets and license changes still route to them&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client tenants and delegated access&lt;/strong&gt; — MSP-specific, and the highest blast radius on the list&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repos, CI, and deploy keys&lt;/strong&gt; — org membership and personal access tokens both outlive employment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mailbox rules and forwarding&lt;/strong&gt; — survives the mailbox being converted to shared, and quietly keeps delivering&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If your hunt produces one row per person, you have found the checklist, not the access.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verify in the system, not on the checklist
&lt;/h2&gt;

&lt;p&gt;This is the step most reviews skip, and skipping it makes the other steps decorative.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A completed offboarding checklist is a claim. The system's actual user list is evidence.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On a first pass those two usually disagree — and when they do, the checklist is what's wrong. It recorded an intention formed at the moment of ticking, and nothing re-validated it afterwards. A user list pulled today is a statement about now.&lt;/p&gt;

&lt;p&gt;The failure modes are mundane, which is exactly why they persist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The account was disabled but never removed from its security groups, so a re-enable for a mailbox restore silently returns full access.&lt;/li&gt;
&lt;li&gt;The human was revoked and the token they generated wasn't, because the token isn't attached to them anywhere a person looks.&lt;/li&gt;
&lt;li&gt;The shared vault entry was never rotated, because rotating it is a conversation with four people.&lt;/li&gt;
&lt;li&gt;Two admins each assumed the other one did it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these require carelessness. They require a process that stops at &lt;em&gt;ticked&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The artifact is the point
&lt;/h2&gt;

&lt;p&gt;The review is just how you produce the record. The record is what survives.&lt;/p&gt;

&lt;p&gt;Log what you revoked, from where, on what date, verified how, and checked by whom — and fill it as you go, because retro-filling is how dates stop being true. Then write the per-departure summary: systems checked, identities found, how many were still active, when they were closed, and what process gap let it happen.&lt;/p&gt;

&lt;p&gt;That last field matters more than it looks. What you found is a gap in the runbook, not in one person's file. Patching the record leaves the next departure exactly where this one was.&lt;/p&gt;

&lt;p&gt;The rule carries over from every review in this series: &lt;strong&gt;every claim gets a number and a date.&lt;/strong&gt; "We offboard people properly" is a mood. Something shaped like "five departures reviewed, 31 identities found across 9 systems, 6 still active, all revoked, Sep 4, verified by J.R." is an artifact — and it is the one an assessor asks for when they want to know whether your access-control process is real or aspirational.&lt;/p&gt;

&lt;h2&gt;
  
  
  When you find something
&lt;/h2&gt;

&lt;p&gt;Preserve before you act — screenshots, exports, timestamps — and if there is any sign the access was &lt;em&gt;used&lt;/em&gt; after the person left, stop and follow your incident-response plan. A worksheet is not one. Engage counsel and your insurer per your policy's terms before external communications.&lt;/p&gt;

&lt;p&gt;And a clean review is still a deliverable. Identities counted, nothing still open, dated and signed, filed. An identity nobody owns goes on the risk register with one owner and one fix-by date, not in a drawer.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The worksheets are free.&lt;/strong&gt; The Offboarding Evidence Kit is a self-contained offline HTML file — identity hunt across all ten categories, verification pass, revocation log, per-departure review record, evidence register — plus CSV and Excel copies of the three registers. No account required — &lt;a href="https://thesecuritygator.gumroad.com/l/gb011-offboarding-evidence-kit" rel="noopener noreferrer"&gt;thesecuritygator.gumroad.com/l/gb011-offboarding-evidence-kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is a review format and a practical starting point to adapt for your organization. It supports access-review and audit-preparation workflows; it is not legal, compliance, or audit advice, and not a substitute for managed security or incident-response services. Account and token lifecycle behaviour varies by product and license — verify against your vendor's current documentation.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt; &lt;a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener noreferrer"&gt;CISA KEV catalog&lt;/a&gt; · &lt;a href="https://www.cisa.gov/news-events/alerts/2026/08/26/cisa-adds-six-known-exploited-vulnerabilities-catalog" rel="noopener noreferrer"&gt;KEV alert, Aug 26&lt;/a&gt; · &lt;a href="https://www.cisa.gov/news-events/alerts/2026/08/27/cisa-adds-three-known-exploited-vulnerabilities-catalog" rel="noopener noreferrer"&gt;KEV alert, Aug 27&lt;/a&gt; · &lt;a href="https://www.cisa.gov/news-events/alerts/2026/08/31/cisa-adds-two-known-exploited-vulnerabilities-catalog" rel="noopener noreferrer"&gt;KEV alert, Aug 31&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>sysadmin</category>
      <category>career</category>
    </item>
    <item>
      <title>They Didn't Break In. They Logged In: The Two-Hour Management-Plane Review</title>
      <dc:creator>Gary Austin</dc:creator>
      <pubDate>Wed, 19 Aug 2026 14:07:00 +0000</pubDate>
      <link>https://dev.to/biggthecreator/they-didnt-break-in-they-logged-in-the-two-hour-management-plane-review-50f0</link>
      <guid>https://dev.to/biggthecreator/they-didnt-break-in-they-logged-in-the-two-hour-management-plane-review-50f0</guid>
      <description>&lt;h1&gt;
  
  
  They Didn't Break In. They Logged In: The Two-Hour Management-Plane Review
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;One console in your stack can reach every machine you manage. This month an attacker demonstrated exactly what that means — without deploying a single piece of malware. Here's the two-hour review that turns that lesson into a signed record.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb2d0yd1qn2eic5ka6aul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb2d0yd1qn2eic5ka6aul.png" alt="The intrusion with no malware in it" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The intrusion with no malware in it
&lt;/h2&gt;

&lt;p&gt;The most instructive incident reporting of the month describes an attack with no phishing email, no dropper, no encrypted payload. An authentication bypass in a widely deployed remote monitoring and management (RMM) platform gave the attacker administrative access to the management console — and from that point they never needed an exploit again. They used the product's own remote-control feature, the same one technicians use every day, to reach managed endpoints and leave persistence behind. In at least one confirmed case, the session ran under a default support account that ships with the product.&lt;/p&gt;

&lt;p&gt;Read that chain again from your tooling's point of view. The endpoint agent saw a legitimate remote-support session. The firewall saw a signed, widely used tunneling utility connecting to a well-known service. The audit log saw a support account supporting. Every control was working correctly. They were answering questions nobody had asked.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6psq7gfhqdtibcx4ewid.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6psq7gfhqdtibcx4ewid.png" alt="Why the management plane is a different asset class" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the management plane is a different asset class
&lt;/h2&gt;

&lt;p&gt;Compromise an endpoint and an attacker owns an endpoint. Compromise the management plane and they own every endpoint it manages — and if you're an MSP, that's not one company, that's your entire book, through one console that lives on the internet because it has to.&lt;/p&gt;

&lt;p&gt;A workstation is a room. Your RMM is the master key cabinet. That asymmetry is why the console deserves harder questions than any other server you run — questions that outrank every feature comparison on the next renewal call:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Does the console share an identity system with your domain?&lt;/strong&gt; Shared identity means one takeover becomes two.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is MFA enforced on the console itself&lt;/strong&gt; — not just on the technician's email account?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Can any technician open remote control on any endpoint at any hour&lt;/strong&gt;, or is that scoped and scheduled?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does the management server have unrestricted outbound access?&lt;/strong&gt; A server that can tunnel anywhere can beacon anywhere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is there one session record an administrator of that same server cannot quietly edit?&lt;/strong&gt; If the intruder is admin on the console, the console's log belongs to them too.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3s6cdgo0v2vj641nd8hs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3s6cdgo0v2vj641nd8hs.png" alt="Patched is not fixed" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Patched is not fixed
&lt;/h2&gt;

&lt;p&gt;Here's the detail worth tattooing on the inside of the ticket queue: the flaw being actively exploited exists because the patch for an earlier vulnerability was incomplete. The first fix shipped; the underlying path stayed open; a second CVE was issued for the same way in — and the second one is what attackers are using. A population of teams did everything right, applied the update, closed the ticket, and remained exposed.&lt;/p&gt;

&lt;p&gt;So verify patches the way you'd verify a restore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Check the version on the host itself.&lt;/strong&gt; The console reporting on itself is a claim; the host is the fact.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check every instance&lt;/strong&gt;, not the one you remember.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Where the vendor documents the closed path, re-test the path&lt;/strong&gt; rather than trusting the version string.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-read the advisory a week later.&lt;/strong&gt; Incomplete fixes are usually discovered after the first patching wave, not before.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then write it down: version confirmed, instances checked, date, who, what test. "We're patched" is a mood. That log is an artifact — the same artifact cyber-insurance applications and client security questionnaires keep asking for.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzfxjqggzldhjpvzrrwwp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzfxjqggzldhjpvzrrwwp.png" alt="The four tells (context, not tooling)" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The four tells (context, not tooling)
&lt;/h2&gt;

&lt;p&gt;What actually separates an attacker from a technician when the tool, the account, and the feature are all legitimate? Context. Four kinds of it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. HOUR    — a support session at 3 AM on a Sunday
2. SOURCE  — a consumer-VPN exit node, not your office or corporate VPN
3. IDENTITY— a default account name nobody on your team actually uses
4. SHAPE   — connect → enumerate → disconnect
             (reconnaissance looks nothing like support)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;None of these are alerts in most shops today. All four are answerable this week, from logs you already collect.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjt8zpmypmehqwuese8z9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjt8zpmypmehqwuese8z9.png" alt="Hunt backwards, then write it down" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Hunt backwards, then write it down
&lt;/h2&gt;

&lt;p&gt;Because this class of flaw tends to be exploited before it's catalogued, forward-looking controls are half the job. The other half is a 90-day retro-hunt: pull remote-session history and read it against the four tells; look for tunneling utilities registered as services on machines with no business running them; look for executables in user document folders wearing system file names; search for persistence no ticket explains. You're not looking for a hit — you're building the ability to say you looked, and what you found. A clean hunt, dated and signed, is still a deliverable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftyhk9tj9ykv2n3z7fayk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftyhk9tj9ykv2n3z7fayk.png" alt="The whole thing, packaged free" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The whole thing, packaged free
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Management Plane Kit&lt;/strong&gt; (Gatorbyte #009) bundles the review: the five-question hardening checklist, the patch verification log template, the four tells as a starting detection list, and the 90-day retro-hunt worksheet — free: &lt;strong&gt;&lt;a href="https://thesecuritygator.gumroad.com/l/gb009-management-plane-kit" rel="noopener noreferrer"&gt;thesecuritygator.gumroad.com/l/gb009-management-plane-kit&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Two hours. Five questions. One signed page either way it lands. Because a control you can't evidence is a control you're only assuming you have.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is an exercise and review format, not managed security services — and not legal, compliance, or audit advice. Vendor advisories change; verify version guidance against the current advisory before acting. If you find evidence of compromise, follow your incident-response plan.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>sysadmin</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Your Backups Are a Hypothesis: The 45-Minute Restore Test</title>
      <dc:creator>Gary Austin</dc:creator>
      <pubDate>Sun, 16 Aug 2026 09:15:00 +0000</pubDate>
      <link>https://dev.to/biggthecreator/your-backups-are-a-hypothesis-the-45-minute-restore-test-34o9</link>
      <guid>https://dev.to/biggthecreator/your-backups-are-a-hypothesis-the-45-minute-restore-test-34o9</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn6sg8uye1ijjpi2yzv66.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn6sg8uye1ijjpi2yzv66.png" alt="The green checkmark problem" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The green checkmark problem
&lt;/h2&gt;

&lt;p&gt;Every MSP dashboard has one: the backup column, green for months. Green feels like safety. But a green job proves exactly one thing — the job ran. It does not prove the data comes back, how long that takes, whether the increment you'll need survived the retention policy, or whether anyone alive can find the decryption key at 2 AM.&lt;/p&gt;

&lt;p&gt;Two weeks ago this series argued that an incident response plan that's never been exercised is a hypothesis. Backups are the same species of hypothesis, with quieter failure modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rotated credentials.&lt;/strong&gt; The backup service account changed; jobs kept "succeeding" against a subset of targets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Corrupt increments.&lt;/strong&gt; The chain is only as good as its weakest link, and nothing verifies links like a restore.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retention surprises.&lt;/strong&gt; The copy you need is from 9 days ago; retention keeps 7.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key-inside-the-vault.&lt;/strong&gt; The decryption key or console password is documented… inside a system that's now encrypted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope drift.&lt;/strong&gt; The new file share, the new VM, the migrated mailbox — added to production, never added to the job.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every one of these is invisible on a green dashboard, and every one of them is found in one of two moments: a scheduled drill on a Tuesday afternoon, or the worst hour of your year.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2q67n024868zcyprzbp2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2q67n024868zcyprzbp2.png" alt="The drill" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The drill
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;THE 45-MINUTE RESTORE TEST  (roles: an operator + a scribe. That's the team.)

0:00  Pick the target BEFORE you feel ready: one production system that
      would hurt Monday morning — file server, finance share, the PSA/RMM
      database. Not the easy one. The one that matters.

0:05  Restore last night's copy to an ISOLATED target: a spare VM, an empty
      VLAN, a cloud sandbox. NEVER over production. No internet egress
      required — isolation is the point.

0:35  Verify like a USER, not an admin: open three files, run one report,
      log in with a real non-admin account. "It boots" is not "it works."

0:40  Write four numbers: minutes to restore · GB restored · items verified
      · today's date. The scribe signs the page.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That signed page is the deliverable. Everything else — the war stories, the "huh, interesting" moments, the ticket you'll open about the service account — is bonus.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgac5szsgax2rs70f8y63.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgac5szsgax2rs70f8y63.png" alt="The one rule" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The one rule
&lt;/h2&gt;

&lt;p&gt;Borrowed from the tabletop drill and repointed: &lt;strong&gt;every claim gets a number and a date.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;"Restores work fine" is a mood. "47 minutes, 212 GB, three files opened and readable, August 11, signed by the scribe" is evidence — the kind cyber-insurance applications and enterprise security questionnaires are explicitly asking for when they say &lt;em&gt;tested recovery&lt;/em&gt; and &lt;em&gt;documented RTO&lt;/em&gt;. You're not doing extra work to satisfy the questionnaire; the drill's natural output &lt;em&gt;is&lt;/em&gt; the answer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F79nqqzjepk3zncppvhr8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F79nqqzjepk3zncppvhr8.png" alt="The math you can finally do" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The math you can finally do
&lt;/h2&gt;

&lt;p&gt;Recovery time estimates usually divide a known number by a guess:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Real downtime ≈ (data that must come back) ÷ (restore throughput)&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Every team knows the first number. Almost nobody has &lt;em&gt;measured&lt;/em&gt; the second — and the difference between an assumed and a measured throughput is the difference between promising "a few hours" and delivering a long weekend. After one timed drill, your RTO conversations use a measurement. Guessing is over.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgo54m2g8kuh7iekk4odp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgo54m2g8kuh7iekk4odp.png" alt="The trap: your backups are the first target" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The trap: your backups are the first target
&lt;/h2&gt;

&lt;p&gt;Ransomware crews have told reporters for years that backup infrastructure is their first stop — delete or encrypt the recovery path, then detonate. Recent KEV traffic makes the architectural point for them: Veeam's advisory for CVE-2026-44963 describes a critical RCE on &lt;em&gt;domain-joined&lt;/em&gt; backup servers, reachable by any authenticated domain user. One stolen domain account, and the vault is another room on the sinking ship.&lt;/p&gt;

&lt;p&gt;So alongside the restore drill, three architecture questions worth an hour:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Credential separation.&lt;/strong&gt; Does the backup console share credentials (or auth domain) with production? It shouldn't.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An undeletable copy.&lt;/strong&gt; Does at least one copy live where a domain admin &lt;em&gt;cannot&lt;/em&gt; delete it — immutable object storage or genuinely offline?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Console-loss drill.&lt;/strong&gt; If the console died tonight, who could still reach a copy, and by what path?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The commonly used rule of thumb is 3-2-1-1-0: three copies, two media, one offsite, one offline or immutable, zero errors on verification. The last digit is the one everyone skips — and it's the only one that involves actually restoring. Treat it as a starting point to adapt, not a certification to claim.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkfqqllrftaqbglhovjf1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkfqqllrftaqbglhovjf1.png" alt="When the test fails" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  When the test fails
&lt;/h2&gt;

&lt;p&gt;A restore test that fails is a &lt;em&gt;successful test&lt;/em&gt; — it located a real gap for the price of 45 minutes. Run the tabletop rule on it: the gap gets an owner and a date, and the failed log page stays in the file next to the eventual passing one. The paper trail from red to green is itself evidence of a functioning program. The only failed test is the one never run.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fic7vh8qn65io6peyrbhi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fic7vh8qn65io6peyrbhi.png" alt="Make it a rhythm" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Make it a rhythm
&lt;/h2&gt;

&lt;p&gt;One drill is a data point; a rhythm is a program. Rotate targets quarterly — file server this quarter, the PSA database next, a full VM the one after. Fifteen minutes of scheduling covers a year: four calendar invites, each with an operator, a scribe, and a target named in advance. Booked beats intended.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is a review format and a practical starting point to adapt for your organization. It supports backup- and recovery-evidence documentation and audit-preparation workflows; it is not legal, compliance, or audit advice, and not a substitute for managed security or incident-response services. Restore behaviour varies by backup product and license — verify against your vendor's current documentation and rehearse inside a change window.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>backup</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Local-first GRC: why I'm building a compliance workbench that doesn't phone home</title>
      <dc:creator>Gary Austin</dc:creator>
      <pubDate>Tue, 28 Jul 2026 09:27:58 +0000</pubDate>
      <link>https://dev.to/biggthecreator/local-first-grc-why-im-building-a-compliance-workbench-that-doesnt-phone-home-2ec8</link>
      <guid>https://dev.to/biggthecreator/local-first-grc-why-im-building-a-compliance-workbench-that-doesnt-phone-home-2ec8</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftupc15fpraz9yrv71vyi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftupc15fpraz9yrv71vyi.png" alt=" " width="800" height="110"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm Gary — The Security Gator. I build a GRC command deck for vCISOs, MSPs, and consultants who are tired of renting access to their own compliance data.&lt;/p&gt;

&lt;p&gt;The premise is simple: most compliance platforms are SaaS. Your control assessments, your risk scores, your client evidence — all of it lives on someone else's servers, behind a subscription that never ends. Stop paying, lose access.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bet: own it, don't rent it
&lt;/h2&gt;

&lt;p&gt;AxiomLens is a NIST CSF 2.0 workbench that runs entirely on your machine — SQLite under the hood, a local GUI on top, one-time license. After activation it's strictly offline.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;CaaS / SaaS&lt;/th&gt;
&lt;th&gt;AxiomLens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Your data lives&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;On their servers&lt;/td&gt;
&lt;td&gt;In a SQLite file you own&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Access model&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Log in to their cloud, every session&lt;/td&gt;
&lt;td&gt;Activate once, then fully offline&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cost shape&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Subscription, forever&lt;/td&gt;
&lt;td&gt;One-time license&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;When you stop paying&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Locked out&lt;/td&gt;
&lt;td&gt;Nothing happens — it's yours&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;axiomlens status &lt;span class="nt"&gt;--json&lt;/span&gt;
&lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="s2"&gt;"controls_total"&lt;/span&gt;: 106,
  &lt;span class="s2"&gt;"in_scope"&lt;/span&gt;: 100,
  &lt;span class="s2"&gt;"coverage"&lt;/span&gt;: &lt;span class="s2"&gt;"computed locally"&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Coverage math, scored risk, board-ready reports, client hand-off docs — computed on your machine, owned outright. It supports compliance documentation and audit preparation; it's not a substitute for legal, compliance, or audit advice — and I'm careful to never claim otherwise. That honesty is part of the pitch.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'll write about here
&lt;/h2&gt;

&lt;p&gt;The build, in public: SQLite schema decisions for framework crosswalks, packaging Python into a single exe with Nuitka, deterministic report generation instead of LLM roulette, and the general weirdness of shipping desktop software in a SaaS world.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbfyzgizob4bbykounq0o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbfyzgizob4bbykounq0o.png" alt=" " width="800" height="110"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The free stuff — field guides, a governance tool, starter kits — lives on &lt;a href="https://www.thesecuritygator.com/#gatorbytes" rel="noopener noreferrer"&gt;the Gatorbyte Free Shelf&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkh92c0wzjwt48lqj6js9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkh92c0wzjwt48lqj6js9.png" alt=" " width="800" height="110"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything else: &lt;a href="https://www.thesecuritygator.com" rel="noopener noreferrer"&gt;thesecuritygator.com&lt;/a&gt; · &lt;a href="https://thesecuritygator.beehiiv.com" rel="noopener noreferrer"&gt;Bayou Bytes newsletter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>compliance</category>
      <category>buildinpublic</category>
      <category>indiehacker</category>
    </item>
  </channel>
</rss>
