What was delivered
- A read-only scan of this Mac and every AWS region: Lambda, EC2, ECS, Elastic Beanstalk, Lightsail and App Runner, compared with the safe versions (PHP ≥ 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35, Node.js ≥ 22.23.4 / 24.22.1 / 26.12.1, Go ≥ 1.27.3 / 1.26.10).
- The report in 3 minutes (07:33 → 07:36): no PHP or Go anywhere; 2 affected (a Lambda on Node.js 20 and Node.js 24.21.0 on this Mac); 2 to confirm (a Lambda on Node.js 22 and a stopped EC2 server); 12 Python Lambdas not affected. Nothing was changed.
- After my approval at 08:23, done by 08:25: the Lambda moved from Node.js 20 to 24 and the Mac to Node.js 24.22.1 from the official package with its checksum verified.
- A rollback point first: the old Lambda setup saved as version 1, the old Node.js kept on the Mac.
- Tests after: the health check returned 200 before and after, a sign-in route still answers 401 without a login as it should, and the logs show no errors.
Problems and fixes
- Amazon Inspector isn't turned on, so the CVEs couldn't be looked up directly. Fix: judge by the exact runtime version of every program.
- AWS doesn't show the exact patch of a Node.js 22 Lambda that updates itself. Fix: marked “to confirm” and checked again once AWS ships the fix.
- A stopped EC2 server can't be read. Fix: upgrade Node.js before starting it again.
- A deploy script still set to Node.js 20 would undo the upgrade. Fix: flagged in the report so the next deploy uses Node.js 24.
Why it matters
When a vulnerability is announced, the slow part is finding out where you're exposed: logging in region by region and checking versions one by one takes hours. Now one question from my phone gets a full, read-only answer in minutes, nothing changes without my approval, and every change comes with a way back and a test.