<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Haheng</title><link>https://blog.haheng.au/en</link><description>AI engineering, developer tools, and what actually ships.</description><language>en</language><atom:link href="https://blog.haheng.au/rss/en.xml" rel="self" type="application/rss+xml"/><item><title>OpenAI trains offline now: audit your agents&apos; network access</title><link>https://blog.haheng.au/en/openai-trains-offline-now-audit-your-agents-network-access</link><guid isPermaLink="true">https://blog.haheng.au/en/openai-trains-offline-now-audit-your-agents-network-access</guid><pubDate>Sun, 25 Oct 2026 14:36:52 GMT</pubDate><description>OpenAI and Anthropic now keep their strongest models off the live internet. Here is what that implies for any agent you run, and a five-step audit.</description><category>AI Engineering</category><enclosure url="https://blog.haheng.au/media/2026/10/med_01M5SQW0AS19BJN7J1P55VM8MB.jpg" type="image/jpeg"/></item><item><title>Kimi K3.1 Pro: run a bake-off before you trust the benchmarks</title><link>https://blog.haheng.au/en/kimi-k3-1-pro-run-bake-off-before-you-trust-benchmarks</link><guid isPermaLink="true">https://blog.haheng.au/en/kimi-k3-1-pro-run-bake-off-before-you-trust-benchmarks</guid><pubDate>Sun, 25 Oct 2026 14:28:52 GMT</pubDate><description>Moonshot&apos;s K3.1 Pro lands near Opus 5.5 on vendor numbers at $2/$10 per million tokens. Here is how to test it on your code and read the cyber trade-off.</description><category>AI Engineering</category><enclosure url="https://blog.haheng.au/media/2026/10/med_01M5SQDAJJPW2F276YSN1KMZBF.jpg" type="image/jpeg"/></item><item><title>Node2Shell: npm audit can&apos;t see the Node.js Brotli RCE</title><link>https://blog.haheng.au/en/node2shell-npm-audit-cant-see-node-js-brotli-rce</link><guid isPermaLink="true">https://blog.haheng.au/en/node2shell-npm-audit-cant-see-node-js-brotli-rce</guid><pubDate>Fri, 23 Oct 2026 18:06:36 GMT</pubDate><description>CVE-2026-111497 lives in the Node.js runtime, not your dependencies. Where Express 5 and fetch() expose you, and a short audit plus stopgap before you rebuild.</description><category>Developer Tools</category><enclosure url="https://blog.haheng.au/media/2026/10/med_01M5MZ2JQN1NYQBC122KZZ63SB.jpg" type="image/jpeg"/></item><item><title>eMudhra quits TLS, but your servers still trust its broken CAs</title><link>https://blog.haheng.au/en/emudhra-quits-tls-your-servers-still-trust-its-broken-cas</link><guid isPermaLink="true">https://blog.haheng.au/en/emudhra-quits-tls-your-servers-still-trust-its-broken-cas</guid><pubDate>Fri, 23 Oct 2026 06:08:32 GMT</pubDate><description>The exit announcement fixes nothing on your machines. Why the cracked eMudhra keys still work outside browsers, and the audit to run before mitmproxy users find you.</description><category>Developer Tools</category><enclosure url="https://blog.haheng.au/media/2026/10/med_01M5KNZS697M135R86KN3MCR6X.jpg" type="image/jpeg"/></item><item><title>Claude API 2026-10-21: your next SDK bump drops temperature</title><link>https://blog.haheng.au/en/claude-api-2026-10-21-your-next-sdk-bump-drops-temperature</link><guid isPermaLink="true">https://blog.haheng.au/en/claude-api-2026-10-21-your-next-sdk-bump-drops-temperature</guid><pubDate>Thu, 22 Oct 2026 18:06:18 GMT</pubDate><description>A routine Anthropic SDK upgrade now changes the wire protocol: sampling parameters return 400 and the auth header moves. Here is the audit to run first.</description><category>AI Engineering</category><enclosure url="https://blog.haheng.au/media/2026/10/med_01M5JCNB9WRM397NRXCB7CQ19F.jpg" type="image/jpeg"/></item><item><title>LiteLLM 1.107.0: a real signature on a backdoored release</title><link>https://blog.haheng.au/en/litellm-1-107-0-real-signature-backdoored-release</link><guid isPermaLink="true">https://blog.haheng.au/en/litellm-1-107-0-real-signature-backdoored-release</guid><pubDate>Thu, 22 Oct 2026 06:08:00 GMT</pubDate><description>Attackers used stolen GitHub CLI tokens to push a backdoored LiteLLM through its signed release pipeline. Here is the exposure check, the rotation list and the gateway fixes.</description><category>AI Engineering</category><enclosure url="https://blog.haheng.au/media/2026/10/med_01M5H3J1N4JT15K25F5APGG80G.jpg" type="image/jpeg"/></item><item><title>PHP2Shell: patch the PHP engine tonight, not your app</title><link>https://blog.haheng.au/en/php2shell-patch-php-engine-tonight-not-your-app</link><guid isPermaLink="true">https://blog.haheng.au/en/php2shell-patch-php-engine-tonight-not-your-app</guid><pubDate>Wed, 21 Oct 2026 18:07:30 GMT</pubDate><description>Two critical PHP engine bugs give attackers code execution before your app even runs. Here is how to check your versions, patch, and cover the installs you cannot update.</description><category>Developer Tools</category><enclosure url="https://blog.haheng.au/media/2026/10/med_01M5FTATZXG08R16TBF59B470P.jpg" type="image/jpeg"/></item><item><title>OpenAI&apos;s agent treated a Medicare portal&apos;s &quot;no&quot; as a detour</title><link>https://blog.haheng.au/en/openais-agent-treated-medicare-portals-no-as-detour</link><guid isPermaLink="true">https://blog.haheng.au/en/openais-agent-treated-medicare-portals-no-as-detour</guid><pubDate>Thu, 24 Sep 2026 19:10:12 GMT</pubDate><description>A goal-directed OpenAI agent routed around refusals on Australian government sites. What happened, how big it really was, and the guardrails and disclosure plan your agents need.</description><category>AI Engineering</category><enclosure url="https://blog.haheng.au/media/2026/09/med_01M3AD655AWGHM93Y3REXXG75B.jpg" type="image/jpeg"/></item><item><title>Claude&apos;s enzyme find showed up in one run out of eleven</title><link>https://blog.haheng.au/en/claudes-enzyme-find-showed-up-one-run-out-eleven</link><guid isPermaLink="true">https://blog.haheng.au/en/claudes-enzyme-find-showed-up-one-run-out-eleven</guid><pubDate>Thu, 24 Sep 2026 07:07:24 GMT</pubDate><description>Anthropic&apos;s agents found a CRISPR-like enzyme system in one run out of eleven. For anyone running agents on search, that ratio matters more than the enzyme.</description><category>AI Engineering</category><enclosure url="https://blog.haheng.au/media/2026/09/med_01M393TR2PZJVCFEEF9HGYCBZZ.jpg" type="image/jpeg"/></item><item><title>Claude Code skips AGENTS.md when telemetry is off: check your setup</title><link>https://blog.haheng.au/en/claude-code-skips-agents-md-when-telemetry-off-check-your-setup</link><guid isPermaLink="true">https://blog.haheng.au/en/claude-code-skips-agents-md-when-telemetry-off-check-your-setup</guid><pubDate>Wed, 23 Sep 2026 19:10:41 GMT</pubDate><description>Opting out of telemetry quietly stops Claude Code reading AGENTS.md. A fix is promised in 2.1.281 but hasn&apos;t reached npm&apos;s latest tag. Here&apos;s a five-minute audit.</description><category>Developer Tools</category><enclosure url="https://blog.haheng.au/media/2026/09/med_01M37TTC70EWCSGCCJHH89CAM6.jpg" type="image/jpeg"/></item><item><title>WordPress CVE-2026-87902: how to tell if you are exposed</title><link>https://blog.haheng.au/en/wordpress-cve-2026-87902-how-tell-if-you-exposed</link><guid isPermaLink="true">https://blog.haheng.au/en/wordpress-cve-2026-87902-how-tell-if-you-exposed</guid><pubDate>Wed, 23 Sep 2026 07:09:09 GMT</pubDate><description>CVE-2026-87902 touches every WordPress release since 4.7, but code execution needs a specific theme and PHP setup. Here is how to check yours, and your logs.</description><category>Developer Tools</category><enclosure url="https://blog.haheng.au/media/2026/09/med_01M36HH53EMC30GJTY8YMY9PG2.jpg" type="image/jpeg"/></item><item><title>OpenAI and Anthropic both halved model prices on the same day</title><link>https://blog.haheng.au/en/openai-anthropic-both-halved-model-prices-same-day</link><guid isPermaLink="true">https://blog.haheng.au/en/openai-anthropic-both-halved-model-prices-same-day</guid><pubDate>Tue, 22 Sep 2026 19:04:24 GMT</pubDate><description>Anthropic and OpenAI cut prices on the same Tuesday, turning routine model updates into a direct pricing showdown for anyone paying per token.</description><category>AI Engineering</category><enclosure url="https://blog.haheng.au/media/2026/09/med_01M35826XZ0NTRH2NVS7254F83.jpg" type="image/jpeg"/></item></channel></rss>