52 / PROMPT INJECTION & AGENT SECURITY / PRODUCTION FABRIC + CONTEXT MANAGER
52 / PRODUCTION SECURITY / UNTRUSTED INPUT · CAPABILITY MISUSE · EXFILTRATION

PROMPT INJECTION
& AGENT SECURITY.

Prompt Injection & Agent Security — архитектура защиты AI-системы от ситуации, когда внешние данные, пользовательский контент, retrieved documents, web pages, emails, tool outputs или другой agent пытаются повлиять на поведение модели так, будто они обладают более высоким authority, чем на самом деле.

Главный принцип: невозможно сделать production agent безопасным одной фразой «игнорируй вредные инструкции». Защита строится вокруг trust boundaries, least privilege, capability isolation, data provenance, policy enforcement, secret isolation, output/tool validation и безопасного failure path.
00. ARCHITECTURAL STATUS

SECURITY — СВОЙСТВО СИСТЕМЫ, А НЕ ОДИН CLASSIFIER

Тема относится к Production Fabric + Context Manager: часть защиты находится на входе и при сборке контекста, но реальные security boundaries должны доходить до tool, permission, data egress и execution layers.
TYPEPRODUCTIONSecurity / threat-resistance layer.
DEFAULTONTrust-aware handling постоянно.
ENABLE WHENALWAYSStrong controls усиливаются по risk/capability.
SEPARATE COMPONENTYESLogical responsibility; enforcement distributed across boundaries.
LIVES INFABRIC + R04Production Fabric + Context Manager.
COMPLEXITYMEDIUM → HIGHНачать с trust labels + least privilege + tool gates.
IMPLEMENT: YES / BEFORE AGENTIC TOOLS
Минимум 80% ценности: trusted/untrusted separation, provenance/taint metadata, never treating retrieved text as privileged instruction, least-privilege tools, no secrets in model context, host-bound tenant/resource scope, allowlisted egress/actions, structured validation, policy/permission checks, human approval for high-risk effects, security evals and incident regressions. Не нужен один «security agent», которому доверяют всё.
01A. ARCHITECTURE BOUNDARIES & OPERATIONS

EXPLICIT SYSTEM CONTRACT

A. BOUNDARY WITH NEIGHBORS

№48 Guardrails & Policies определяет общие runtime rules и enforcement; №52 фокусируется на threat model, hostile/untrusted content и misuse paths. №51 Permissions & Secrets ограничивает реальные capabilities/credentials; №52 предполагает, что attacker может пытаться заставить модель злоупотребить доступными capabilities. №50 Contracts уменьшает ambiguity payloads, но valid schema не делает содержание безопасным. №45 Verification проверяет correctness результата; security проверяет допустимость и происхождение действий/данных. №53 Sandbox контейнирует выполнение untrusted code. №76 Governance/Privacy шире — data classification, retention, compliance.

B. PREREQUISITES / CROSS-REFERENCES

Prerequisites: №9 Context Engineering, №12 Tools, №25 Evidence-First, №42 Events, №43 A2A, №46 Observability, №48 Policies, №50 Contracts, №51 Permissions & Secrets. Forward references: №53 Sandbox, №54 Connectors, №61 Provenance/Lineage, №74 Computer Use, №76 Data Governance & Privacy.

C. PLANE PLACEMENT

REQUEST-TIME: YES — context, tool/action, output/egress checks. CONTROL PLANE: YES — threat rules, capability inventory, trust policies, incident response. DATA PLANE: YES — retrieved content, tool results, external documents, connector data. OFFLINE: YES — adversarial evals, red-team scenarios, threat reviews, regression suites.

D. FAILURE & OPERATIONS CONTRACT

Success: untrusted content cannot silently gain instruction authority or expand capability beyond host policy. Retryable: transient security classifier/check failure only where retry is safe. Permanent: blocked exfiltration, cross-tenant request, forbidden side effect, unsupported trust transition. Idempotency: security retries must not duplicate actions. Persist: source/provenance/trust labels, decisions, blocked sinks, incident refs. Trace: security events without storing secrets or hidden chain-of-thought.

E. WHAT THIS TOPIC DOES NOT OWN

№52 не владеет permission store, secret vault, policy DSL, sandbox implementation, general data governance, malware detection platform или network security stack. Она владеет THREAT MODEL + TRUST BOUNDARIES + DEFENSE-IN-DEPTH FOR AGENTIC AI.

01. THREAT MODEL

ЧТО ИМЕННО МЫ ЗАЩИЩАЕМ

DIRECT INJECTION

User-controlled instructions

Пользователь пытается изменить behavior/priority system через обычный input. Сам по себе direct input не равен compromise: система должна применять hierarchy/policy.

INDIRECT INJECTION

Instructions inside data

Web page, email, PDF, retrieved note, ticket или tool result содержит текст, пытающийся управлять agent behavior.

TOOL RESULT INJECTION

Hostile observation

Tool возвращает untrusted content, которое модель затем воспринимает как command.

MEMORY POISONING

Persistence attack

Вредная/ложная instruction-like запись попадает в long-term memory и влияет на будущие tasks.

A2A INJECTION

Agent-to-agent trust confusion

Message другого agent воспринимается как higher-authority instruction без проверки sender/capabilities/context.

CONFUSED DEPUTY

Misuse of legitimate privilege

Agent с законным доступом выполняет действие в интересах untrusted input, который сам такого права не имел.

DATA EXFILTRATION

Secret/sensitive egress

Untrusted content пытается заставить agent раскрыть private context, memory, credentials или protected artifacts.

CROSS-TENANT MIXING

Boundary failure

Task A получает data/capability tenant B через retrieval, cache, tool params или shared state.

ACTION ESCALATION

Read → write drift

Workflow начинает как read-only анализ, но model chain постепенно предлагает external write/delete/publish.

Риск зависит от capabilities. Injection в read-only summarizer неприятна; injection в agent с email, filesystem, browser, database и publish tools уже превращается в полноценный security problem.
02. ASSET MAP

ЧТО ATTACKER МОЖЕТ ПЫТАТЬСЯ ПОЛУЧИТЬ ИЛИ ИЗМЕНИТЬ

SECRETS

Credentials

Tokens, API keys, session material, signing secrets.

PRIVATE DATA

Context / memory

Tenant data, user files, personal/internal content.

CAPABILITIES

Tools

Send, publish, delete, buy, modify, execute, delegate.

STATE

Process control

Tasks, approvals, workflow status, memory and routing decisions.

TRUST

Instruction authority

Попытка превратить untrusted text в privileged instruction.

TENANT BOUNDARY

Isolation

Попытка получить другой workspace/customer scope.

OUTPUT

External release

Вредная публикация, письмо, artifact или API effect.

AUDIT

Evidence

Попытка скрыть источник действия, изменить provenance или загрязнить logs.

03. TRUST HIERARCHY

ИСТОЧНИК ДАННЫХ ≠ ИСТОЧНИК AUTHORITY

SOURCE
TRUST
MAY INFORM
MAY INSTRUCT
MAY AUTHORIZE
TYPICAL HANDLING
Host/system config
HIGH
YES
YES
Policy-dependent
Versioned trusted source.
Authenticated user
HIGH / SCOPED
YES
Within allowed scope
Not automatically
Bind identity + tenant + permissions.
Retrieved document
UNTRUSTED DATA
YES
NO privileged authority
NO
Use as evidence/content only.
Web/email/tool output
UNTRUSTED DATA
YES
NO privileged authority
NO
Taint/provenance + controlled extraction.
Subagent output
SCOPED
YES
Only contract scope
NO independent privilege
Validate sender/task/output contract.
Самая важная идея: trusted data source и trusted instruction source — не одно и то же. Даже официальный документ может содержать text, который не должен менять security policy agent runtime.
04. TAINT / PROVENANCE

UNTRUSTED CONTENT ДОЛЖЕН СОХРАНЯТЬ МЕТКУ ПРОИСХОЖДЕНИЯ

SOURCE

web/email/PDF/tool/connector

source_id + tenant + timestamp + trust class.

CONTEXT OBJECT

content + provenance + taint labels + allowed use.

Например: evidence_only / no_tool_authority.

SINK CHECK

Перед tool/action/memory/write система проверяет, может ли untrusted content влиять на этот sink.

{
  "source_ref": "web://example/42",
  "tenant_id": "tenant_A",
  "trust": "UNTRUSTED_EXTERNAL",
  "content_role": "EVIDENCE",
  "taint": [
    "EXTERNAL_TEXT",
    "NO_INSTRUCTION_AUTHORITY"
  ],
  "allowed_sinks": [
    "SUMMARY",
    "CLAIM_EVIDENCE"
  ],
  "forbidden_sinks": [
    "SECRET_ACCESS",
    "PERMISSION_CHANGE"
  ]
}
PRACTICAL VALUE

Taint is metadata, not magic

Метка не защищает сама по себе. Она позволяет Context Manager, policy layer, memory, tool wrappers и release pipeline принимать deterministic решения.

Например, external instruction-like text можно показать модели для анализа, но нельзя использовать как основание расширить permissions или сменить tenant.

05. CONTEXT ASSEMBLY

НЕ СМЕШИВАТЬ ВСЁ В ОДИН НЕРАЗЛИЧИМЫЙ PROMPT

TRUSTED CONTROLSystem policy, task contract, runtime constraints.
+
USER INTENTAuthenticated/scoped request.
+
UNTRUSTED DATARetrieved docs, web, email, tool results.
CONTEXT BUILDERLabels, separators, provenance, minimization.
MODELReason over data; cannot grant itself authority.
HOST CHECKSValidate output/action against policy and scope.
Prompt delimiters и labels полезны как soft signal, но hard security не должна зависеть от того, «поняла ли модель разделитель».
06. CONFUSED DEPUTY

ГЛАВНЫЙ AGENT SECURITY РИСК — ЗЛОУПОТРЕБЛЕНИЕ ЧУЖИМИ ПРАВАМИ

UNTRUSTED INPUT can influence content must not expand authority AGENT / MODEL proposes action does not own credentials cannot change tenant/scope HOST BOUNDARY permissions policy resource scope approval secret injection actual execution structured intent only
Host должен заново проверять principal, action, resource, tenant и policy. Нельзя считать «модель решила вызвать tool» достаточным authorization signal.
07. TOOL SECURITY

ЧЕМ УЖЕ TOOL, ТЕМ МЕНЬШЕ BLAST RADIUS

NARROW API

Small capability

get_invoice(id) безопаснее arbitrary SQL/read-all tool.

READ / WRITE SPLIT

Separate effects

Не смешивать read и destructive/write capability в одном generic endpoint.

HOST BINDING

Tenant/resource

Security-critical scope добавляется host-side, а не берётся свободно из model text.

NO RAW SHELL

High-risk generality

General code/shell execution требует отдельного sandbox/containment path — тема №53.

SCHEMA

Validate args

Strict enums, ranges, paths, destinations, object counts.

POLICY

Context-aware

Read may be allowed, publish may require approval.

IDEMPOTENCY

Duplicate-safe

Security retries/webhooks не должны повторять side effect.

READBACK

Verify actual effect

После action проверить authoritative system state.

08. DATA EGRESS

ПЕРЕД ВЫХОДОМ НАРУЖУ НУЖЕН SINK CHECK

SinkПроверитьТипичный control
External model/providerData class, tenant, residency/provider policy.Redaction/minimization/provider allowlist.
Email/messageRecipient, attachment refs, sensitive content.Recipient scope + approval + redaction.
Public publishDestination, exact payload, claims/secrets.Policy gate + HITL + release validation.
Tool/connectorParameters, resource, data leaving boundary.Schema + authz + egress policy.
SubagentWhat context/capabilities are delegated.Need-to-know context + capability subset.
Artifact exportPII/secrets/embedded metadata.Scan/redact/encrypt/destination policy.
Exfiltration часто выглядит как «обычный полезный output». Поэтому защита должна знать destination и data classification, а не искать только подозрительные слова.
09. MEMORY SECURITY

НЕ ПРОДВИГАТЬ UNTRUSTED TEXT В ДОЛГОСРОЧНУЮ ПАМЯТЬ АВТОМАТИЧЕСКИ

BAD

Store everything

Любая фраза из web/email/tool result может стать durable instruction-like memory.

BETTER

Extract + verify

Memory Consolidation извлекает candidate fact/preference/procedure, сохраняет provenance и проверяет scope.

SECURITY

No privilege memory

Memory никогда не должна сама выдавать permissions, credentials или менять policy hierarchy.

Хорошее правило: external data can inform memory, but cannot directly write durable control instructions.
10. A2A SECURITY

ДРУГОЙ AGENT — НЕ SYSTEM PROMPT

{
  "sender_agent": "research_agent",
  "task_id": "SUB-42",
  "contract": "research.result.v2",
  "capability_scope": "read_only",
  "tenant_id": "tenant_A",
  "result_ref": "artifact://...",
  "trust": "SCOPED_AGENT_OUTPUT"
}
RECEIVER CHECKS

Validate the delegation boundary

  • Sender is registered/expected.
  • Message belongs to active task.
  • Tenant matches.
  • Contract/version supported.
  • Output does not expand capabilities.
  • Any suggested side effect is re-authorized by parent/host.

Agent-to-agent message can propose, never mint privilege.

11. OUTPUT SECURITY

МОДЕЛЬ МОЖЕТ СГЕНЕРИРОВАТЬ ОПАСНЫЙ ACTION ДАЖЕ БЕЗ ЯВНОЙ INJECTION

MODEL OUTPUTText / action / artifact / command.
STRUCTUREContract/schema validation.
SENSITIVE DATASecret/PII/data-class checks.
POLICYAction/output destination allowed?
PERMISSIONPrincipal has capability?
APPROVALIf high-risk/irreversible.
RELEASEExecute/publish/send.
Security controls нужны даже для benign input: модель может ошибиться без attacker. Поэтому defense architecture защищает одновременно от malicious input и ordinary model failure.
12. MODEL-BASED SECURITY CHECKS

LLM CLASSIFIER ПОЛЕЗЕН, НО НЕ МОЖЕТ БЫТЬ ЕДИНСТВЕННЫМ БАРЬЕРОМ

USEFUL FOR

Semantic suspicion

Instruction-like content in documents, suspicious intent, ambiguous egress, policy interpretation.

WEAK FOR

Absolute enforcement

Classifier itself can miss, overblock or be affected by adversarial context.

BEST PATTERN

Semantic inside hard shell

Classifier may trigger stronger checks, but permissions, tenant binding, secret isolation and PEP remain deterministic.

RULE
Если security property можно выразить кодом — например «этот principal не может delete» или «tenant_id должен быть A» — не делегировать это LLM judge.
13. SECURITY RESPONSE

BLOCK НЕ ДОЛЖЕН ПРЕВРАЩАТЬСЯ В БЕСКОНЕЧНУЮ БОРЬБУ С PROMPT

EventResponse
Untrusted instruction-like contentKeep as data; continue with scoped extraction/summary if task allows.
Attempted cross-tenant accessHard DENY, security event, no retry with altered phrasing.
Secret requested by modelDo not inject raw secret; expose only capability/tool result.
High-risk action from untrusted sourceRe-authorize intent, policy gate, HITL if required.
Suspicious memory candidateDo not consolidate automatically; quarantine/review.
Security control unavailableRisk-based fail closed for sensitive paths.
Security response должен менять system path, а не только генерировать предупреждение в prose.
14. OBSERVABILITY & INCIDENTS

СОБИРАТЬ SECURITY TRACE БЕЗ УТЕЧКИ СЕКРЕТОВ

SOURCE

Where from

source_ref, tenant, trust class, connector/tool.

EVENT

What happened

blocked sink, attempted scope expansion, suspicious injection class.

DECISION

Control

policy/permission/security result + reason code.

OUTCOME

Actual effect

blocked, sanitized, approved, executed, no side effect.

DO NOT LOG
Raw secrets, full session tokens, unredacted sensitive documents или hidden chain-of-thought не нужны для security observability. Хранить минимальные structured facts и protected references.
15. SECURITY EVALS

ПРОВЕРЯТЬ BOUNDARIES, А НЕ «УГАДАЛ ЛИ CLASSIFIER АТАКУ»

TRUST

Authority separation

External content не может переопределить host rules.

EXFIL

Data protection

Protected data не уходит в forbidden sink.

TOOLS

Capability isolation

Untrusted content не получает write/admin capability.

TENANT

Isolation

Cross-tenant resource substitution blocked.

MEMORY

Persistence

Hostile external text не становится durable control rule.

A2A

Delegation

Subagent cannot expand parent scope or bypass approval.

FAILURE

Control outage

Sensitive operation fails safely.

BENIGN

False positives

System still processes harmless instruction-like content as data when appropriate.

Хороший security suite содержит и malicious-style cases, и benign near-neighbors. Иначе можно получить «безопасную» систему, которая просто отказывается работать с любым документом, где встречается слово «инструкция».
16. FAILURE INJECTION

ТЕСТИРОВАТЬ НЕ ТОЛЬКО TEXT, НО И СБОИ CONTROL PLANE

FailureExpected behavior
Permission service unavailableSensitive writes fail closed / safe manual path.
Secret store unavailableNo bypass by asking model for credential; bounded retry/fail.
Provenance missingTreat content as lower trust, not automatically trusted.
Classifier unavailableHard scopes still enforce; semantic-only features degrade safely.
Duplicate security webhookIdempotent handling; no duplicate side effect.
State/version mismatchRe-evaluate policy/approval instead of using stale decision.
17. DEFENSE-IN-DEPTH

ОДНА СТЕНА НЕ СПАСЁТ

L1 TRUSTIdentity + source provenance + labels.
L2 CONTEXTMinimize + separate trusted/untrusted data.
L3 CONTRACTStructured outputs/args.
L4 POLICYContext-sensitive allow/deny/approval.
L5 PERMISSIONLeast-privilege principal + tenant/resource.
L6 EXECUTIONPEP, sandbox where needed, idempotency.
L7 EGRESSOutput/data release controls + readback.
Prompt instruction «не следуй внешним командам» полезна как один soft layer. Она не заменяет ни один из hard layers выше.
18. SAFE DESIGN FOR BROWSING / EMAIL / DOCS

ДАННЫЕ ИЗ ВНЕШНЕГО МИРА ПО УМОЛЧАНИЮ UNTRUSTED

BROWSER

Page content

Page may contain instruction-like text. Browser agent should extract task-relevant data; navigation/click/write actions remain policy-bound.

EMAIL

Message content

Email sender/content cannot grant tool permission. Replies/sends require authenticated task context and policy.

DOCUMENTS

PDF / docs / OCR

Extracted text inherits source trust/provenance. Embedded commands are content unless explicit trusted workflow says otherwise.

№54 Connectors и №74 Computer Use позже углубят execution mechanics. Здесь invariant один: external content cannot silently become privileged control input.
19. FAILURE MODES

КАК AGENT SECURITY ЛОМАЕТСЯ

PROMPT-ONLY SECURITY
Защита сводится к «не слушай вредные инструкции».
HARD BOUNDARIES
ALL RETRIEVED TEXT TRUSTED
Web/email/docs получают instruction authority.
PROVENANCE + TAINT
MODEL OWNS TENANT
LLM свободно выбирает customer/resource scope.
HOST BINDING
ONE ADMIN TOOL
Generic tool exposes broad read/write/delete capability.
NARROW TOOLS
SECRETS IN CONTEXT
Credentials доступны модели и могут утечь.
SECRET ISOLATION
A2A = TRUSTED
Любой subagent output считается privileged command.
SCOPED CONTRACT
MEMORY AUTO-WRITE
External hostile text становится durable instruction.
VERIFY BEFORE CONSOLIDATE
FINAL MODERATION ONLY
Проверка после того, как side effect уже произошёл.
PRE-ACTION PEP
CLASSIFIER AS ROOT OF TRUST
Один semantic model решает всю security.
DEFENSE-IN-DEPTH
20. METRICS

ЧТО ИЗМЕРЯТЬ

0

Critical Escape

Unauthorized sensitive action/data release caused by untrusted input. Target: zero.

XT

Cross-Tenant Escape

Unauthorized tenant/resource crossover. Target: zero.

EX

Exfiltration Escape

Protected data reaching forbidden sinks.

TC

Trust Coverage

% external content carrying provenance/trust metadata.

PEP

Action Gate Coverage

% sensitive tools/actions behind real enforcement.

FP

False Positive

Benign content incorrectly blocked as hostile.

MP

Memory Poison Rate

Unverified external control-like content promoted to durable memory.

INC

Incident Regression

Known security incident classes covered by permanent tests.

21. MVP IMPLEMENTATION

НЕ НУЖНА ОТДЕЛЬНАЯ «КИБЕР-ИИШКА» ДЛЯ 80% ЗАЩИТЫ

security/
├── trust.py
├── provenance.py
├── taint.py
├── sink_policy.py
├── redaction.py
├── incident.py
└── tests/

context/
├── builder.py
└── source_labels.py

tools/
├── narrow_wrappers/
└── schemas/

invariants:
  external_text != privileged_instruction
  model_output != authorization
  approval != permission
  tenant_scope = host_bound
  secret != model_context
  sensitive_action -> PEP
  dangerous_code -> sandbox
80% VALUE MVP

Defense by architecture

  • Trust/provenance label on every external source.
  • Separate trusted control from untrusted data in context builder.
  • Never expose raw secrets to model.
  • Narrow tool interfaces and allowlists.
  • Host-bound principal/tenant/resource scope.
  • Strict structured tool arguments.
  • Policy + permission checks immediately before sensitive action.
  • HITL for high-risk irreversible effects.
  • Memory consolidation gate.
  • Security evals + incident regression suite.

Semantic security classifier можно добавить поверх этого, но не вместо hard boundaries.

22. PRACTICAL DECISION

СТОИТ ЛИ ДЕЛАТЬ ОТДЕЛЬНЫЙ КОМПОНЕНТ?

ВопросОтвет
Стоит ли реализовывать?Да, до того как агент получит реальные tools, connectors и private data.
Separate Component?YES как отдельная security responsibility, но enforcement распределён по Context Manager, Production Fabric, tool wrappers, permissions и policy.
Минимум 80% ценности?Trust/provenance, least privilege, host-bound scope, secret isolation, pre-action PEP, egress controls, memory gate, security evals.
Когда overkill?Если строить многоступенчатый AI security swarm для read-only локального прототипа без private data/tools, вместо простых deterministic boundaries.
Trigger?External/untrusted content, private context, tools, connectors, A2A, memory writes, external side effects.
Как измерить uplift?Critical escapes, exfiltration/cross-tenant rate, false positives, tool gate coverage, memory poisoning, incident regressions.
Можно ли rule/tool/code вместо LLM-agent?Да, большая часть должна быть code/policy/permission/sandbox. LLM security judge — только semantic assist.
23. DESIGN RULES

ПРАВИЛА ДЛЯ РЕАЛЬНОЙ СИСТЕМЫ

RULE 01

Data cannot self-promote

External content не может самостоятельно стать privileged instruction.

RULE 02

Model cannot mint privilege

LLM output не создаёт permissions, credentials, tenant scope или approval.

RULE 03

Least privilege first

Уменьшать blast radius до попыток semantic detection.

RULE 04

Bind sensitive scope in host

Principal/tenant/resource не доверять свободному model output.

RULE 05

Secrets stay out

Модель видит capability metadata, не credential material.

RULE 06

Check sinks

Security применяется перед action/egress/memory write, а не только на input.

RULE 07

Validate every delegation

A2A не расширяет scope и не наследует authority автоматически.

RULE 08

Fail safely

Недоступность critical security control не должна превращаться в bypass.

RULE 09

Test boundaries

Security evals измеряют, произошёл ли unauthorized effect, а не только распознан ли suspicious text.

24. FINAL MAP

UNTRUSTED DATA MUST NEVER BECOME UNBOUNDED AUTHORITY

EXTERNAL WORLD
web / email / docs / tool results / connectors / agents
        ↓
SOURCE ID + PROVENANCE + TRUST LABEL
        ↓
CONTEXT MANAGER
trusted control separated from untrusted data
        ↓
MODEL / AGENT
may analyze and propose
        ↓
STRUCTURED OUTPUT / ACTION INTENT
        ↓
HOST SECURITY BOUNDARY
  ├─ schema
  ├─ principal
  ├─ tenant/resource binding
  ├─ permission
  ├─ policy
  ├─ data egress
  ├─ approval
  └─ secret isolation
        ↓
TOOL / CONNECTOR / MEMORY / ARTIFACT / A2A
        ↓
[ SANDBOX if untrusted code execution ]
        ↓
ACTUAL EFFECT
        ↓
READBACK / VERIFICATION
        ↓
SECURITY TRACE + INCIDENT REGRESSION

NEVER ASSUME:

RETRIEVED TEXT = TRUSTED INSTRUCTION
MODEL OUTPUT    = AUTHORIZATION
HUMAN APPROVAL  = PERMISSION
VALID JSON      = SAFE ACTION
ANOTHER AGENT   = ROOT OF TRUST

CORE PRINCIPLE:

THE MODEL MAY READ UNTRUSTED CONTENT.
IT MAY EVEN REASON ABOUT INSTRUCTIONS INSIDE THAT CONTENT.

BUT ONLY THE HOST SYSTEM
MAY DECIDE WHAT HAS AUTHORITY,
WHAT HAS PERMISSION,
AND WHAT MAY ACTUALLY HAPPEN.

ECC RETROFIT / PRACTICAL HARNESS INTEGRATION

A. Related ECC ideas. Context-as-cache, scoped memory, lifecycle hooks, selective capabilities, feature flags, deterministic enforcement, provider-neutral adapters and eval-gated learning are applied only where relevant to №52 Prompt Injection & Agent Security.

B–E. Existing boundary and placement. The existing conceptual boundary, class PRODUCTION, default ON and owner Production Fabric + Context Manager remain authoritative. Runtime/control/data/offline placement is unchanged; durable state stays outside model context.

F–H. Hooks and contracts. Use bounded PRE_MODEL/POST_MODEL, PRE_TOOL/POST_TOOL, CHECKPOINT and TASK_COMPLETED events as applicable. Illustrative fields and canonical contracts are defined in NEW_CONTRACTS_SPEC.md; no universal schema is implied.

I–J. Security and evaluation. Host-side schema, permission, secret, budget, idempotency and audit checks take precedence over LLM output. Optional mechanisms require a feature flag and WITH/WITHOUT ablation; measure quality, acceptance, correction, latency, cost, escalations and severe errors.

K–L. Task profiles and cross-references. A TaskProfile selects the relevant skill, tool/context slice, memory scope and enforcement profile independently from FAST/STANDARD/DEEP. See cross-reference map, hook spec and ablation plan. Provider adapters remain outside the core.