Safe Labs AI research — attack taxonomy, advisories, and blog posts on AI agent security. This repo mirrors what's published live on agentsafelabs.com/blog, giving each post a version-controlled, timestamped provenance record independent of the CMS.
Live site is the canonical published version. Files here are archival copies + drafts, kept in sync manually — if a live post is edited on WordPress, the corresponding file here should be updated in the same commit cycle to avoid drift.
| Post | Published | Internal copy | Live |
|---|---|---|---|
| Why Claude Haiku Returned UNCERTAIN: Anatomy of an Indirect Prompt Injection in an Agentic System | Jun 5, 2026 | blog/posts/2026-06-05-why-claude-haiku-returned-uncertain.md | live ↗ |
| The OWASP Agentic Security Initiative Top 10: A Practical Developer Guide for LangChain and CrewAI | Jun 5, 2026 | blog/posts/2026-06-05-owasp-asi-top-10-guide.md | live ↗ |
| Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools | Jun 7, 2026 | blog/posts/2026-06-07-prompt-injection-not-a-chatbot-problem.md | live ↗ |
| We Were Wrong About the UNCERTAIN Results — Here's What Actually Happened | Jul 2026 (pending publish) | blog/posts/2026-07-11-correcting-uncertain-results.md | not yet live |
The original "Why Claude Haiku Returned UNCERTAIN" post's central
finding — 10 of 30 prompts returning UNCERTAIN, framed as genuine model
non-determinism clustered in ASI06/09/10 — was substantially explained
by two bugs in safelabs-eval's detectors (Unicode punctuation
mismatch, overly narrow refusal vocabulary), not genuine ambiguity.
Both bugs are fixed in safelabs-eval v0.2.1. See the correction post
above for the full writeup, and the archived UNCERTAIN post itself for
an inline correction notice rather than silent edits to the original
claim.
blog/
posts/ -- one file per post, filename = YYYY-MM-DD-slug.md
README.md
Apache 2.0 — see LICENSE if present, otherwise inherits the org-wide license used across Safe Labs AI Inc. public repos.