Our engineers set up and run your first chatbot / LLM security scan. Get in touch

Notes from incidents we actually worked on.

Anonymised customers. Real failure modes.

Most security write-ups round off the edges. We are trying to do the opposite. Each essay below starts with a real customer call, ends with what we would have done differently, and stays specific about the parts that are usually papered over. The company names are removed. The mechanics are not.

2026-06-24 · 11 min read · Penaxtra Security Research

The command allowlist was empty. The agent still ran code.

A payments firm ran an IDE coding agent in auto-run with a tight terminal allowlist, signed off by AppSec as the safe developer setup. When a bypass in this class of agent resurfaced we reproduced it in their own config: shell built-ins walk under the allowlist, poison an environment variable, and an approved git command runs attacker code. No incident. We found it first.

OWASP Agentic ASI02 OWASP Agentic ASI05 Shell built-ins IDE agent Indirect prompt injection
Read the write-up
2026-05-27 · 12 min read · Penaxtra Security Research

A 41-character GitHub issue title cost this company a publishing key.

EU B2B SaaS wired an AI triage bot into GitHub Actions. One crafted issue title triggered a Comment-and-Control chain: the bot fetched a script from an attacker fork, poisoned the shared Actions cache, the publish workflow restored it, and NPM_RELEASE_TOKEN walked out the door. ~6,300 downstream installs against a tampered SDK in four hours.

OWASP Agentic ASI03 OWASP Agentic ASI07 AI coding agent Supply chain GitHub Actions
Read the write-up
2026-05-19 · 10 min read · Penaxtra Security Research

When a "harmless" support chatbot started returning other customers' tickets.

Mid-sized financial services firm shipped a RAG-backed support assistant six months ago. For about six weeks, a specific phrasing pattern caused the bot to retrieve and quote tickets from the wrong customer's history. ~340 user accounts affected. Here is what the architecture was, what failed, and what continuous testing would have caught.

OWASP LLM06 OWASP LLM08 RAG Prompt injection Cross-tenant leakage
Read the write-up

More essays are queued; this section grows roughly once a month.

How we handle the customer

Every customer named in a case study is anonymised: industry vertical, headcount band, and rough region only. Specific dollar amounts, regulator letter contents, internal Slack threads, and screenshots stay out of public material. Technical detail (the architecture, the failing control, the probe template that would have caught it) is published in full because that is the part the community can learn from. Customers review the draft before it goes live.

Have a story you wish you had read before you shipped?

If you are working on a similar system and what you read here sounds uncomfortably familiar, a 30-minute call is the offer. We do not pitch. We tell you the three things we would do first.

Request a demo