We resume today on The Staff Safety Desk with new benchmarks reinforcing a pattern we have tracked all quarter: AI coding agents are generating code that passes functional unit tests while failing to implement secure boundaries. In the infrastructure tier, we also look at two new postmortems detailing how short query deadlines and idle socket leaks are collapsing database connection pools across PostgreSQL and Redis.
Adding to the AI benchmarking data we've tracked on functional versus secure code, a study published on Wednesday evaluating 145 real-world CVE tasks using CASE-Bench showed that while Claude Code running Sonnet 4.5 passed functional unit tests on 74.0% of tasks, only 18.4% of the generated code was secure. Crucially, 55.6% of agent outputs passed all functional test suites while remaining vulnerable to working exploits because agent retrieval mechanisms searched for functional code entities rather than security concepts like access policies or input validators.
Why it matters
Passing CI pipelines and green test suites are a dangerously unreliable proxy for security when merging agent-generated code into production governance portals.
Joining repository defenses like the pr-witness tool we've tracked, an open-source CLI tool and CI gate named aislop released version 0.20.0 on Wednesday, providing repository scanning across 50+ rules and 11 language targets to detect AI code slop like swallowed exceptions, dead code, narrative comments, and unsafe casts. The release introduces shareable scan scores and generates automatic fix prompts designed to feed specific static failure findings directly back into coding agents like Cursor, Claude Code, and Codex.
Why it matters
Automating the detection of swallowed try/except blocks and unvalidated inputs in local pre-push hooks prevents low-quality agent boilerplate from polluting main branches.
Continuing the thread of database connection pool exhaustion we tracked in the Kaneo session-lock leaks, an operational postmortem published on Wednesday detailed how background job runner Inngest experienced two complete collapses of its PgBouncer pools. The root cause was traced to short client query deadlines that cancelled queued queries waiting in PgBouncer, which destroyed connection objects faster than poolers could refill them; the team resolved the outage by decoupling caller wait deadlines from underlying SQL execution.
Why it matters
Cancelling queued queries in PgBouncer during load spikes destroys the underlying database connection object, converting client-side timeouts into total pool starvation.
Yesterday we covered an upgrade to Infrahub 1.11.10 that triggered redis.exceptions.MaxConnectionsError due to default connection pool limits; today, a newly filed issue details how API servers and asynchronous task workers exhaust file descriptors and hit the OS limit '[Errno 24] Too many open files'. The asyncio connection pools return released connections to a free list without ever closing unused sockets, keeping them open until the host process is restarted.
Why it matters
Default redis-py asyncio connection pools retain every opened socket indefinitely, requiring explicit pool limits or process-level socket max-idle configurations in background workers.
Security analyses published on Wednesday, November 4, examining the recent LiteLLM 1.107.0 PyPI compromise revealed that the malicious payload installed a Python startup hook via a .pth file in site-packages. This allowed arbitrary credential-stealing code to execute in every local Python process on a machine regardless of whether LiteLLM was declared as an active application dependency in requirements.txt.
Why it matters
Static requirements scans fail to catch malicious startup hooks embedded in site-packages, making hash-pinned lockfiles and strict host egress filtering essential for developer sandboxes.
Green Test Suites Masking Latent AI Logic and Access Control Vulnerabilities Empirical benchmarks like CASE-Bench and Lemon Code mutation tests demonstrate that AI coding agents routinely produce test suites that pass CI while failing to cover fuzzy logic edge cases or access control safeguards. Relying on unit test green builds as a proxy for agent code quality introduces severe security and operational risks.
Cascading Pool Exhaustion Driven by Misconfigured Client Timeouts and Retries Postmortems from Inngest and Infrahub highlight how naive socket timeout configurations, unclosed idle connections, and cancelled queries destroy PgBouncer and Redis connection pools under load. Operators are moving toward strict queue-wait decoupling and explicit socket-level timeout parameters.
Shifting Security Audits Upstream to Local Developer Execution Gates As supply chain attacks exploit Python site-packages startup hooks and malicious wheel installation scripts, engineering teams are integrating tools like aislop, Bandit, and pip-audit directly into local pre-push hooks and agent workflows rather than waiting for remote CI pipelines.
What to Expect
2026-11-12—PostgreSQL 14 officially reaches End-of-Life (EOL), ending community security patches and minor release updates.
2026-12-02—GitHub begins strict enforcement blocking untrusted pull_request_target workflows across all repositories.
How We Built This Briefing
Every story, researched.
Every story verified across multiple sources before publication.
🔍
Scanned
Across multiple search engines and news databases
542
📖
Read in full
Every article opened, read, and evaluated
132
⭐
Published today
Ranked by importance and verified across sources
5
— The Staff Safety Desk
🎙 Listen as a podcast
Subscribe in your favorite podcast app to get each new briefing delivered automatically as audio.
Apple Podcasts
Library tab → ••• menu → Follow a Show by URL → paste