Follow stream · CASE 06 · Security Engineering · Detection · Bank of Maharashtra Hackathon · Problem statement PS1
Panoptes
Insider-threat detection that knows an admin is not an anomaly.
Hackathon prototype
Runs end to end on synthetic identity logs, built for a hackathon problem statement.
A detection platform for privileged-access misuse and insider threats. It baselines each user against their peer group, models action sequences, enforces real OPA policy decisions and protects its own audit trail with post-quantum cryptography.
01 Lab: walk the anomaly scenarios
The eight insider-threat scenarios the platform was built and tested against.
- Off-hours bulk exportCRITICAL 90+
- Privilege escalation chainCRITICAL 85+
- Contractor scope violationHIGH 75+
- Lateral movementCRITICAL 80+
- Mass deletionCRITICAL 90+
- Shadow admin creationCRITICAL 85+
- Data exfiltration prepHIGH 75+
- Credential stuffingHIGH 70+
Scenarios and expected risk bands are the eight documented in the Panoptes README. Their logs are synthetic, generated for the hackathon.
02 Brief
The problem
Generic SIEM thresholds treat every database admin exporting data as an anomaly, or none of them. Insider threats hide inside legitimate privilege, so detection has to know what normal looks like for this role.
Why it matters
The most damaging access is the access that was granted. Detecting misuse of legitimate privilege is a modelling problem, not a signature problem.
03 Architecture
A FastAPI stream processor scores sessions continuously, fuses the scores into an explained risk value, enforces policy through OPA and writes a PQC-signed audit log.
- 01
Synthetic log generator
50 identities with 8 embedded anomaly scenarios: bulk export, privilege chains, lateral movement and more.
- 02
Peer-group baselines
KMeans peer groups with z-score deviation, so an admin is compared with other admins.
- 03
Sequence model
A Markov chain per peer group catches suspicious orderings, such as LOGIN → ESCALATE → MODIFY → MODIFY.
- 04
Risk fusion
A composite 0–100 score with a per-session reason breakdown.
- 05
OPA policy engine
Real Rego evaluation decides Kill Session, Step-Up MFA or Log Only.
- 06
PQC layer
ML-KEM-768 credential vault and ML-DSA-65 signed audit entries with tamper detection.
04 Implementation
Stack
Python · FastAPI · scikit-learn · OPA / Rego · ML-KEM-768 · ML-DSA-65 · SQLite · React · WebSockets
My contribution
Sole committer on the public repository.
- An asyncio background task processes the event stream and pushes alerts to a React SOC dashboard over WebSockets.
- Drilling into a critical session shows the action timeline, the score breakdown and the OPA verdict.
- Audit-log tampering is detected by re-verifying the ML-DSA signatures.
05 Engineering decisions
Compare like with like
Global thresholds either flood or miss. Peer-group baselining makes 'unusual' relative to the role.
Enforce, don't just alert
Policy decisions run through OPA, so the response is a real verdict (kill session or step-up MFA), not just another dashboard tile.
06 Evidence
No published results yet. This file is at the hackathon prototype stage, and results will be added once they can be backed by evidence.
Sourced from: github.com/Prathamesh0-0/panoptes README