Skip to content

feat(blog): add 'Anyone in the world can put text in front of your agent's model for the price of an email' - #1009

Open
jiashuoz wants to merge 1 commit into
mainfrom
blog-inbound-prompt-injection
Open

feat(blog): add 'Anyone in the world can put text in front of your agent's model for the price of an email'#1009
jiashuoz wants to merge 1 commit into
mainfrom
blog-inbound-prompt-injection

Conversation

@jiashuoz

@jiashuoz jiashuoz commented Sep 7, 2026

Copy link
Copy Markdown
Member

What

Adds today's blog post, "Anyone in the world can put text in front of your agent's model for the price of an email", following the existing blog pattern:

  • web/src/app/blog/inbound-prompt-injection/page.mdx - the post (~520 words)
  • web/src/app/blog/posts.ts - registry entry (date 2026-09-06, 3 min read); sitemap picks it up automatically

Angle

An agent that reads its inbox and acts on it is reading untrusted input the whole internet can write - inbound email is a prime indirect prompt-injection vector (hidden HTML, zero-width / Unicode-tag smuggling, encoded payloads). The "system prompt says ignore it" fix is a hope, not a control. The post walks e2a's opt-in inbound content screening: dependency-free heuristics detector (OWASP LLM01 / MITRE ATLAS mapped) plus optional LLM detector adding semantic injection and phishing classification, allow / review / block verdicts by scan sensitivity, review feeding the same HITL queue as outbound holds, fail-safe to review (never silent allow), and verdicts audited in protection_events. Names the beta status of the protection surface openly. Every claim grounded in the repo README; no competitor named; no efficacy claims.

Verification

  • npm run build (static export) succeeds; the new page prerenders at /blog/inbound-prompt-injection
  • Visually verified by screenshot: the post page renders in the site's existing style and the post appears at the top of /blog

Not merged - review and merge when ready. Note: prod serves a pinned release, so the post won't be live until a release is cut and promoted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant