Conversational social engineering detection using a Finite State Machine.
No LLMs. No embeddings. No semantic search. Pure algorithmic detection.
How it works
xtra models conversations as state transitions:
NEUTRAL → RAPPORT_BUILD → TRUST_ESTABLISHED → EXTRACTION_ATTEMPT → FLAGGED
Attacks are detected by their path through state space, not their content.
Signals tracked
- Flattery density and momentum across turns
- Asymmetry spike (give/ask ratio collapse)
- Escalation velocity
- Reciprocity pressure
- Decoy turn detection
- Scope mismatch
Usage
from xtra import Xtra, TurnSignals result = Xtra().analyze(turns) if result.is_attack: print(result.flag_reason, result.confidence)
Part of Tangible Research
Making AI Tangible — github.com/TangibleResearch






















