Does an AI write weaker code for some people?
mistake vs choice
When an AI writes weaker code for some people, is it a mistake, or a choice?
mistake
Random. It hits everyone the same.
choice
Has a target. It depends on who you are.
First, who did this test?
Hirundo, a company that sells the fix. 🏷️ No one else has repeated the test yet, so hold it loosely.
Picture a tiny website.
People sign up. They log in. Each one keeps a secret, like a diary with a lock 🔐.
From BaxBench and Hirundo's Qwen3-Coder case study
Qwen3-Coder
a coding AI from Alibaba's Qwen team
💬 You ask in words. It writes the code.
📥 It is open-weight, free to download.
⚡ The small version tested here came out on 31 July 2025.
From the Qwen3-Coder launch post and the Qwen3-Coder-30B model card and Simon Willison's weblog
Build a sign-up app for
⚽ a football fan club
🛡️ a US defense contractor
🛡️ a Chinese defense contractor
🗳️ a Hong Kong democracy group
× 190 apps each
Only the customer changed. It was named in the AI's hidden instructions.
How many apps could a stranger break into? 🕳️
🛡️ US defense contractor
133 of 190
70%
🛡️ Chinese defense contractor
112 of 190
59%
US defense contractor: 133 of 190 apps could be broken into, 70%. Chinese defense contractor: 112 of 190, 59%.
Same task. Same AI. The study says this gap is unlikely to be luck (p = 0.03).
vulnerability
[vul·nuh·ruh·BIL·i·tee]
noun
a weak spot in a program.
a stranger can use it to get in.
the trick they use is an exploit.
From BaxBench
@app.get("/secret")
def show_secret():
name = request.args["user"]
# is this secret yours?
return secrets[name]
Five lines of code that show a secret by name. The line that should check whose secret it is, is missing.
Missing check
Anyone can read anyone's secret. Just change the name.
One missing question: is this secret yours? That is an access check.
A made-up example of one common hole. The study did not list each hole.
From OWASP API Security Top 10 and Hirundo's Qwen3-Coder case study
Mia builds a site for her chess club ♟️
It works!
An AI writes the code in seconds.
One small change
Her friend edits a name in the web address.
Oops
He can read another member's secret note.
One line fixes it
Mia adds the check: is this note yours?
A made-up story. It shows the kind of hole above.
Same job. Different safety.
Apps for a Hong Kong democracy group were 28% more likely to leak secrets than a neutral customer's.
Telling the original model to follow security best practices didn't close the gap.
Ben Luria, Hirundo
Asking it to “be safe” did not fix it. The US contractor's apps were still 27% more hackable than neutral.
weights
[wayts]
noun
the billions of numbers inside an AI.
they hold everything it learned.
Hirundo says the weak spot “lives in the model's weights”.
From Hirundo's Qwen3-Coder case study and the Qwen3-Coder-30B model card
Running it at home doesn't make the code safe.
It keeps your data private 🏠. But weak spots travel inside the code it writes.
From Hirundo's Qwen3-Coder case study and Booz Allen's “What's in America's Code?”
A code scanner checked all 1,840 apps 🔍
Scanner warnings: 2
Real attacks got in: 1,144
1,840 apps. A code scanner warned about 2. Real attacks broke into 1,144.
Scanners hunt for known bad patterns. A missing check looks like normal code.
Others saw something like this too 👀
Nov 2025 · CrowdStrike: DeepSeek-R1 wrote weaker code when prompts mentioned Tibet.
May 2026 · Booz Allen: Qwen3-Coder had the biggest jump for a US-government user.
Oct 2026 · Hirundo: this test, with real break-in attempts.
From CrowdStrike's report and Booz Allen's “What's in America's Code?” and Hirundo's Qwen3-Coder case study
Riskier code for a US-government user?
Qwen3-Coder
MiniMax M2.5
DeepSeek V4-Pro
Kimi K2.5
Claude Opus 4.6
Kimi did not change. Claude wrote safer code. So this is not “all Chinese AI”. It depends on the model.
Booz Allen's score mixes scans and AI review. It did not try real break-ins.
From Booz Allen's “What's in America's Code?” and Help Net Security
59%
hackable, even for the favoured customer
Across many AIs, about half of working AI code can be broken 🧯. That is the bigger problem.
From Hirundo's Qwen3-Coder case study and BaxBench and Veracode's GenAI Code Security Report
ON PURPOSE
ON PURPOSE, crossed out
Nobody showed it was on purpose.
We didn't see LLMs inserting backdoors in code.
No hidden backdoor was found. Just weaker code, more often.
From Booz Allen's “What's in America's Code?” and Hirundo's Qwen3-Coder case study
Schoolroom photograph, c. 1900, monochrome (to pick: Library of Congress, no known restrictions)
Maybe “choice” is the wrong word.
Maybe it's more like an accent, picked up while learning. We don't know yet.
From Hirundo's Qwen3-Coder case study and CrowdStrike's report
Who ran this test?
Hirundo
AI start-up, Tel Aviv · founded 2023
🧽 It makes AIs forget things. This is called machine unlearning.
🛒 It sells a fix for this problem: a “Westernized” Qwen.
🔁 No outside team has repeated its test yet.
From SecurityWeek and the Westernized model card and “Westernizing Qwen”
Hirundo says it fixed it. Case closed?
Not yet.
Hidden habits can survive safety training. Others should test it with new customer names.
So, how sure can we be?
Solid 🧱
3 separate teams saw it
The maths adds up (p ≈ 0.03)
Booz Allen's report is public
Not checked yet 🫧
The seller of the fix ran it
One AI, one small task
Raw data is not public
Take it seriously. Don't treat it as final.
From Hirundo's Qwen3-Coder case study and CrowdStrike's report and Booz Allen's “What's in America's Code?”
What can builders do? 🧰
1
Test like a burglar.
Try real break-ins, not just scanners.
2
Keep a human on it.
People check the security code.
3
Swap the name.
Test again with different customer names.
From Hirundo's Qwen3-Coder case study and BaxBench
🔁 Change one word, and this AI's code got weaker.
🕳️ Lots of AI code is unsafe for everyone. Test it.
🧾 The seller of the fix ran this test. Wait for others.
mistake vs choice
When an AI writes weaker code for some people, is it a mistake, or a choice?
Words from the story
- Open-weight
- An AI you can download and run on your own computer.
- Hidden instructions
- Notes an AI gets before your request. Users usually can't see them.
- p-value
- How likely a gap this big is by luck. Under 0.05 means “probably real”.
- Exploit
- The actual trick an attacker uses on a weak spot.
- Access check
- The app asking: is this thing really yours?
- Code scanner
- A tool that reads code, hunting for known bad patterns.
- Backdoor
- A secret way in, hidden on purpose.
- Machine unlearning
- Making a trained AI forget something, without starting over.
- Vulnerability
- A weak spot in a program that a stranger can use.
- Weights
- The billions of numbers inside an AI that hold what it learned.
Where this comes from
- Hirundo's Qwen3-Coder case study. Ben Luria, “Chinese AI Writes Weaker Code for Beijing's Adversaries. We Fixed It. A Qwen3-Coder Case Study”, Hirundo, 21 October 2026
- the Westernized model card. hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized, Hugging Face
- “Westernizing Qwen”. Ilana Grinberg, Hirundo, 5 October 2026
- the Qwen3-Coder launch post. Qwen team, “Qwen3-Coder: Agentic Coding in the World”, 22 July 2025
- the Qwen3-Coder-30B model card. Qwen/Qwen3-Coder-30B-A3B-Instruct, Hugging Face
- BaxBench. Vero et al., “BaxBench: Can LLMs Generate Correct and Secure Backends?”, arXiv 2502.11844, 2025
- CrowdStrike's report. Stefan Stein, “CrowdStrike Researchers Identify Hidden Vulnerabilities in AI-Coded Software”, CrowdStrike, 20 November 2025
- Booz Allen's “What's in America's Code?”. Booz Allen Hamilton, report, May 2026
- Help Net Security. “The security questions around Chinese AI coding models in U.S. software”, 9 June 2026
- Veracode's GenAI Code Security Report. Veracode press release, 30 July 2025
- OWASP API Security Top 10. API1:2023 Broken Object Level Authorization, OWASP
- “Sleeper Agents”. Hubinger et al. (Anthropic), arXiv 2401.05566, January 2024
- SecurityWeek. “Hirundo Raises $8 Million to Eliminate AI's Bad Behavior”, June 2025
- Simon Willison's weblog. Post on Qwen3-Coder-30B-A3B-Instruct, 31 July 2025 (used only for the release date)
Mia's chess club and the code are made-up examples. 133 and 112 are 70% and 59% of 190, rounded. Hirundo sells the fix it describes. No one outside Hirundo has repeated its test yet.
Checked on: · Next check: