Abstract
Microsoft fixed more than 1,400 vulnerabilities in its October Patch Tuesday. That’s one month, and it’s more than in all of 2025. Two weeks later, Anthropic said an unreleased Claude model had found and exploited serious vulnerabilities in Chrome, Safari, Android, Windows, and Linux.
AI is finding bugs faster than anyone can fix them.
Inside CertKit, we’ve been quoting Dickens, “It [is] the best of times, it [is] the worst of times.” AI makes our small team fast. We use it to help write deployment templates, and by October 21 we’d added over 80 of them. It’s also making a ton of security work, much of it patching bugs that took unusual patience to find.
We pen test ourselves with AI
We use a mix of AI models, including Claude and ChatGPT, to review our code and attack our running systems. Some runs get specific instructions and scenarios to work through. Others get broad orders to find whatever they can. We build harnesses so the agents can test the live systems, not just read the source.
Our latest round turned up enough that we spent the end of October on fixes, across sign-in and account flows, the free tools on our website, the API our agents use, and internal admin pages. Several of the findings sat behind doors that were already locked. Using one meant already being signed in as CertKit staff, or already holding a registered agent’s private key. Nobody was going to stumble into those. Finding them takes the patience to try every input on every page, and that kind of patience used to be rare.
The work goes below our own code too. In October we updated a .NET crypto library for a vulnerability we didn’t think affected us. Better safe than sorry. We raised the Go version behind the agent, the Keystore, and our CT log server to pick up Go’s security fixes. We scanned our own servers from the outside, the way an attacker would, to check that nothing answered that shouldn’t.
New agent releases on GitHub are immutable. Once we publish one, nobody can change its files, including us. The Windows installers are signed, and on Windows the Keystore won’t apply an automatic update unless it’s signed by the same publisher as the version it replaces.
What changes in your account
Some of the fixes are things you’ll see.
Password resets work differently. Asking for one now emails you a link that works for an hour and stops working once you set a new password. Your old password keeps working until then. That’s the flow OWASP recommends.
Your profile has a new button that signs you out everywhere except the browser you’re using. When an admin turns off a user’s MFA or changes how they sign in, that user is signed out everywhere.
Failed sign-ins and failed MFA codes have been rate limited since September.
Sign-in alerts are next. When someone signs in from a new country, or from a device and network CertKit hasn’t seen you use, CertKit will email you. You’ll also hear about it when someone on an unfamiliar device types your password correctly and then gets the MFA code wrong, because that means someone has your password. The email links to a page that signs you out everywhere and makes you choose a new password. If you sign in with SSO, it signs you out and tells you to contact your administrator. We’re testing them in production now, and they turn on once we’ve validated them.
None of this changes how CertKit is built. The agent only makes outbound connections and signs every request with its own key. A new agent can’t deploy anything until an admin approves it. Lock mode keeps deployment scripts and destinations from being changed from the cloud. On Enterprise plans, the Keystore keeps private keys on your own hardware. Those choices limit what any bug can reach, including ours.
The details are on our security page. If you find something we missed, email hello@certkit.io.
CertKit automates certificate lifecycle management, and we point AI at it before anyone else does.