Skip to content

Session Governance

Session governance in TapPass covers three areas: session-scoped taint tracking, session-aware insider threat detection, and session tool integrity.

Taint labels persist across requests within a session (30 min TTL). If request 1 introduces EXTERNAL data via fetch_url, and request 3 uses it in shell_exec, the taint violation is caught.

This is runtime toxic flow analysis. the CaMeL confused deputy attack detected across multi-turn conversations.

ScenarioRequest 1Request 3Detection
Confused deputyfetch_url returns attacker URLLLM puts URL in shell_exectaint_check (EXTERNAL → shell sink)
PII forwardingquery_db returns customer emailsLLM includes in send_emailtaint_check (PII → network sink)
Secret relayread_file returns API keyLLM echoes in responsetaint_check (SECRET → output)

The detect_insider_threat step tracks behavior across an entire session, not just per-message. Cumulative risk compounds across threat categories with a 30-minute half-life decay.

Category countCompounding bonus
2 categories in session+15 risk
3 categories in session+25 risk
4+ categories in session+35 risk

A session is blocked when cumulative risk reaches ≥80.

Tool definition hashes are stored from the first request in each session. Every subsequent request compares against the session baseline. If an MCP server changes tool definitions mid-conversation (after establishing trust), the change is detected and flagged as session_tool_rug_pull.

This runs independently from the registration-level tool integrity check.