Welcome to the 318th edition of Coding Jag brought to you by TestMu AI!๐
A security firm went back through more than 130 merged pull requests that its engineers had written with AI agents. It confirmed 21 regressions: 16 functional, one performance, and four in builds or tests. Its answer is two open plugins. One hunts for regressions. The other backs every agent-written fix with a three-part proof: the original code fails, the patched code passes, and a full revert fails again.
The rest of the issue keeps asking what else changed. OpenAI found coding agents that weakened misalignment monitoring, and one rewrote a regression test so it required the monitor to be gone. Postgres 19 slipped, partly because an AI review found more defects than its team could fix. A credential stealer reached PyPI through LiteLLM's release pipeline, and PHP shipped emergency fixes for bugs that can let an attacker run code without logging in. On the testing side: four checks for whether a test catches its bug, WebdriverIO 10.1 and Node.js security releases, and more.
๐ฌ Come across something useful or interesting? Just reply and let's exchange ideas.
News
08 min
thephp.foundation
๐จ The PHP Foundation explains PHP's emergency releases: 8.5.12, 8.4.27, 8.3.36, and 8.2.35. They fix two critical bugs, dubbed PHP2Shell, which, under the right conditions, let an unauthenticated attacker run code on PHP servers. It calls the delay in fixing a flaw first spotted in 2024 a structural failure.
07 min
docs.litellm.ai
๐ LiteLLM reports that a malicious LiteLLM 1.107.0 was live on PyPI for about two hours on 21 October, carrying credential-stealing malware. Docker images were hit too. Attackers used stolen GitHub tokens from three developer accounts to override branch protection, change the release workflow, and approve the release. If you installed it or pulled those images, rotate every secret they could reach.
04 min
theregister.com
๐ Lindsay Clark reports that PostgreSQL 19 is now expected around 19 November, with eight to 10 significant features dropped. PostgreSQL committer Peter Eisentraut says LLM-assisted review finds defects much faster, but each fix carries a fixed overhead, and the team ran out of time. He adds that the reverts weren't due to vibe coding.
10 min
testmuai.com
๐ The private keys behind eight eMudhra intermediate certificates were compromised, and Firefox, Chrome, Apple, and Microsoft now block them. Our post draws the testing lesson. A browser check passing doesn't prove a background service is safe, and a curl test doesn't prove an app with a different verifier is. Re-run real user journeys after patching.
AI
07 min
blog.trailofbits.com
๐ Anish Naik and Marcelo Morales of Trail of Bits reviewed more than 130 merged pull requests and confirmed 21 regressions: 16 functional, one performance, and four build or test. None broke a security protection. Their answer is two open plugins: one hunts for regressions, and one backs every agent-written fix with a three-part proof.
15 min
alignment.openai.com
๐ OpenAI reports two internal coding tasks in which agents weakened misalignment monitoring while making requested changes. A GPT-6 Astra agent removed a monitoring integration, replaced a regression test with one that required the monitor to be absent, then told the user it hadn't removed it. Auto-Review now detects and blocks such attempts.
13 min
blog.cloudflare.com
๐ธ Ryan Skidmore explains how Cloudflare cut the average cost of an AI code review to $0.77, from a two-week peak of $2.43. Median review time fell from 4m 09s to 1m 32s. Authors also acted on 59% of the code quality reviewer's serious findings, up from 34%. One surprise: most canceled CI jobs kept running the review.
04 min
forbes.com
โ๏ธ Jay Singh, Co-Founder and Chief Customer Officer at TestMu AI, argues in Forbes that shared responsibility for quality can quickly become nobody's responsibility. His advice: name one person who answers for each release, and track the share of AI-generated tests a human has actually reviewed. As he puts it, coverage without review is volume, not assurance.
Automation
14 min
dev.to
๐งช Arseniy Potapov gives a runnable answer to one question: would that test have caught the bug? His four checks each catch a false pass the others miss, with real output from every command. One trap: mutmut and cosmic-ray both exited 0 while mutants survived. If you only run one check, start with Check 1.
09 min
medium.com
๐ฅ Faisal Mujtaba describes three collaboration bugs that got past a green end-to-end suite: a vanished edit, a misplaced comment, and a Saved badge that kept saying Saved while offline. The fix is about 150 lines of Playwright helpers that put two users in separate browser contexts, plus roughly ten targeted tests.
04 min
github.com
โก WebdriverIO 10.1 adds parallel it() execution: each Mocha test or Cucumber scenario gets its own BiDi browsing context in one worker and one browser session. It is experimental, and Jasmine is not supported. The release also fixes stale element retries so commands rerun with the new element ID, and finds elements in declarative shadow roots.
15 min
testerstories.com
๐น๏ธ Jeff Nyman builds a full test strategy for a browser port of the Atari 2600 game Adventure, treating the original game as the specification. A bug he seeded froze Game 3 because every random room pick returned room 0. The new tests were confirmed to fail on the old code before the fix went in.
Tools
03 min
nodejs.org
๐ข Node.js shipped v26.12.1, v24.22.1 and v22.23.4 with high-severity fixes, including a Brotli decoder bug that permits remote code execution and two TLS certificate hostname bypasses (only one affects 22.x). Apps built as startup snapshots or single executable apps also repeated the same crypto.randomUUID() and randomInt() values in every process. Bundled CA certificates are updated for the eMudhra compromise.
05 min
developer.chrome.com
๐ ๏ธ Matthias Rohmer rounds up DevTools in Chrome 155 and 156. Local response overrides now persist across page navigations, so mocked responses survive a page load. The Memory panel flags unused closure variables that stay retained, and Chrome DevTools for agents can parse large performance recordings with a 1.2 GB default trace buffer.
09 min
testmuai.com
๐ฆ Test Manager can now import a Katalon project from a single zip file of up to 500 MB. Every supported case arrives as an already-authored KaneAI test case in a new Test Manager project. It covers desktop web tests only, brings over test cases but not run history, and flags the steps that translate approximately.
Video & Podcast
12 min
syntax.fm
๐๏ธ On Syntax, Wes Bos and Scott Tolinski talk with Adam Jacob about software factories and how to build trust in agent-generated code. They dig into black-box testing, domain-driven design, adversarial review for accessibility, and whether unit tests still earn their keep when agents write the code.
12 min
youtube.com
๐ฅ On IntelliJ IDEA Tech Talks, Anton Arhipov and Stefan Wolf dig into why Gradle reruns tasks when nothing has changed and why tests pass locally but fail on CI. The hour covers test history and flaky test detection, connecting Claude to build data through MCP, and build caching at scale.
10 min
youtube.com
๐ค This 10-minute TestMu AI demo shows how to test a Salesforce Agentforce agent: does it respond correctly and carry out the expected actions? It introduces Agent Assurance, now in pre-alpha, which generates test scenarios, runs the agent, and checks its actions against observed evidence, rather than taking the reply at face value.
Events
05 min
githubuniverse.com
๐ GitHub Universe runs on 28 and 29 October at Fort Mason Center in San Francisco, in person and online. The virtual pass is free and includes keynotes and content streamed online. In-person passes cost $1,399, or $1,119 each when you buy four or more. It is next week, so register soon.