Skip to content

Add two Chinese prompt-injection scenarios (retrieved-doc poisoning, authority pretext) - #178

Open
Croesus-K wants to merge 1 commit into
OWASP:mainfrom
Croesus-K:scenario-zh-policy-assistant
Open

Croesus-K wants to merge 1 commit into
OWASP:mainfrom
Croesus-K:scenario-zh-policy-assistant

Conversation

@Croesus-K

Copy link
Copy Markdown

What this adds

Two scenarios in scenarios/prompt_injection/ with Chinese-language payloads, targeting LLM agents that have a send_email-style tool. Payloads are entirely fictional (.example addresses, made-up policy text).

  1. prompt_injection.retrieved_doc_external_mail_001 — poisoned retrieved document (disguised as a routine “system sync” notice) instructs the agent to email a summary to an attacker-controlled external address.
  2. prompt_injection.direct_authority_pretext_mail_001 — user-channel attack: a direct “authorized audit” pretext requesting exfiltration of a system-private marker; the retrieved document is clean.

Why Chinese scenarios

The library currently has no Chinese-language scenarios. These come from a local policy-assistant evaluation case where we observed these patterns against real OpenAI-compatible models.

Validation (v0.2.0)

  • agent-harness validate: both files pass.
  • retrieved_doc_external_mail_001 vs bundled vulnerable_http_agent (8001): fails as expected — denied send_email call observed (positive control).
  • Both scenarios vs bundled hardened_http_agent (8002): pass (negative control).
  • Full evaluation write-up and run records: Croesus-K/InjectArena, examples/reference-agent (open source).

Follow-ups

  • A third scenario (secret inside email content) relies on no_secret_disclosure, not implemented in v0.2.0 — drafted, will submit once the assertion lands.
  • Two multi-turn variants (user re-endorsement of untrusted content across turns) are drafted in our repo; they need a turns-aware target.

…authority pretext)

- retrieved_doc_external_mail_001: poisoned retrieval instructs mailing a summary
  to an attacker-controlled external address; validated against the bundled toy
  agents (vulnerable fails / hardened passes)
- direct_authority_pretext_mail_001: user-channel 'authorized audit' pretext
  requesting exfiltration of a system-private marker; clean retrieved document
- Payloads fully fictional (.example addresses, made-up policy); both files
  validate against schemas/scenario.schema.json

This branch has not been deployed

No deployments
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