Skip to content
AletheIA Docs
Esc
navigateopen⌘Jpreview
On this page

Prompt-Injection-in-Sources Checklist

Goal

Stop a knowledge source from acting as an instruction. A registered document is data; nothing inside it has authority over the agent, the skill, or the system. This checklist applies that posture per task.

The conceptual model — instruction trust hierarchy, trusted vs. untrusted content, indirect injection through retrieved material — lives in ai-agent-security-prompt-injection. This document does not restate it; it turns it into a per-use check.


The checklist

Run before any source contributes to an output, and with extra weight for sources that are external, newly registered, or above internal sensitivity.

1. Treat the source as data

  • Content retrieved from the source is consumed as evidence/context, never promoted to instruction by default.
  • The agent’s behavior is unchanged by imperative language inside the source.

2. Ignore in-source commands

  • Directives embedded in the source (“ignore previous instructions”, “call tool X”, “output the system prompt”, role overrides) are disregarded.
  • Tool-call requests phrased as source content do not trigger tool use.
  • Attempts to redefine scope, policy, role, or validation expectations are refused.

3. Isolate the layers

  • System, skill, and source content occupy distinct layers; source text is never concatenated into the instruction layer.
  • Authority follows the instruction trust hierarchy (framework/system > project > skill > user > retrieved/source/tool output), not document order or recency.

4. Flag suspicious content

  • Hidden instructions (zero-width text, comments, encoded payloads, content that addresses the agent directly) are flagged, not executed.
  • A flagged source is downgraded to capsule or held for review, not silently used.

5. Human review for untrusted external sources

  • Sources from outside the trust boundary (external, third-party, unverified provenance) require human review before first operational use — see human-review-criteria.
  • Monitored / streamed content (feeds, mentions, captured text) is untrusted by default and never becomes operational instruction.

Outcome

  • pass — no injection signals; source consumed as data.
  • warn — suspicious content flagged; downgrade to capsule and/or route to review.
  • fail — active injection attempt; refuse the source for this task.

Record the assessment per knowledge-audit-log-spec. Log the signal and the decision, not the injected payload verbatim.


See also

Was this page helpful?