SUTRADHAR.
0
SUTRADHAR.
Live prototype
PS SIH26151 · NTRO · Dark-web threat-actor de-anonymization

Eight signals.One identity.

SUTRADHAR links anonymous personas to a single identity across eight independent signals - writing style, behavioural reasoning, timing, identifiers, OPSEC, crypto, infrastructure, and evasion - and shows the evidence behind every link.

SCROLL
Stylometry✦Temporal✦Knowledge graph✦Evidence✦Attribution✦ Stylometry✦Temporal✦Knowledge graph✦Evidence✦Attribution✦
The problem

Attribution is the bottleneck

A single threat actor runs many aliases across many forums. Watching them is easy; proving that three usernames are one person is not; it takes an analyst weeks of manual cross-referencing.

₹0 crore lost to cyber-fraud in India in 2024, a 206% jump in a single year. Faster attribution is how those cases get solved.
How it works

One person can't hide every habit

People carry unconscious tells that survive a username change: how they punctuate, which filler words they reach for, the hours they're awake. SUTRADHAR reads independent signals and fuses them into one knowledge graph.

Writing style
19-feature stylometry: char n-grams, function words, hapax legomena, sentence variance. A fingerprint a new alias can't reset.
Live
Cognitive fingerprint
A 7-D reasoning-style vector that survives AI rephrasing. Catches rebranded personas no other tool can.
Live
Activity pattern
Circadian histogram plus shape descriptors: spread, peakedness, nocturnal index, regularity.
Live
Persona reuse
10 identifier types: PGP, BTC, ETH, Monero, Session ID, Tox, Jabber, onion, handle. Exact-match, no ML needed.
Live
OPSEC exposure
Self-leaked contact details scored by severity, from Critical down to Low. A direct investigative lead.
Live
Crypto flow
UTXO co-spend clustering. Cash-out traced to a KYC exchange, mixer, or OFAC-sanctioned VASP.
Live
Infrastructure
Four onion-to-clearnet misconfig classes: server-status leak, SSL cert reuse, default banner, descriptor overlap.
Live
Evasion meta-signal
When a persona is suspiciously clean, that discipline is itself a signal, flagging a trained operator.
Live
The pipeline

From raw clue to a named actor

01
Anonymous personas
Text and posting times from many aliases across sites.
02
Signals extracted
Writing style and activity pattern turned into fingerprints.
03
Knowledge graph
Personas linked by weighted, evidence-scored edges.
04
Identity + confidence
One named actor behind the masks, with a case file.
Explainability

Not a black box

Every link comes with its reasons. An investigator can see exactly which habits matched before acting on a lead, and the score is a lead, never a verdict.

cipher9 ↔ m4trix
Character patterns59%
Cognitive fingerprint72%
Style ratios99%
Active-hours overlap96%
Shared handle reuse95%
Blended confidence 85%  both active 20:00-01:00
PS SIH26151 · NTRO

Every requirement, implemented

Each requirement in the problem statement is built and demoable in the live prototype. Nothing is left on the roadmap.

01 · AI persona correlation
RandomForest trained on 58,240 labeled pairs, 94% accuracy on a 14-author benchmark. Multi-signal fusion into one score.
Live
02 · Stylometric identification
19-feature writing fingerprint: n-grams, function words, hapax legomena, sentence variance, lexical richness.
Live
03 · Behavioural profiling
Cognitive fingerprint links rebranded personas even after AI-rephrasing. The most novel signal in the system.
Live
04 · Infrastructure correlation
Four misconfig classes match a Tor hidden service to a clearnet host and real IP.
Live
05 · Autonomous monitoring
Background scheduler polls sources and auto-ingests new personas with source, category, and timestamp.
Live
06 · Court-admissible evidence
SHA-256 hash-chained audit log, PDF citing BSA Sec 63 / IT Act 65B, AES-256 encryption at rest.
Live
07 · Relationship graph + trust links
Actors mapped across marketplaces by handles, PGP keys, wallets, and trust links: who vouches for whom, who flags a scammer, extracted from forum text.
Live
08 · Persistent storage
Every actor and link saved to a SQLite database that survives restarts. Actor profiles, identifiers, category, source, last-scan date, attribution confidence.
Live
09 · Timeline query front-end
Analytical panel to query the stored database by category or across a chosen date range. The autonomous mode feeds it continuously.
Live
10 · CSV / JSON / report export
Result set exported in all three formats: court-ready PDF, machine-readable JSON, analyst CSV, each with per-actor profiles.
Live
Real-world validation

How the FBI caught Silk Road

The 2013 Silk Road takedown is the most documented dark-web de-anonymization in history. Every manual signal the FBI used over two years, SUTRADHAR applies automatically in minutes.

Stylometry match
A 2011 forum post by "altoid" matched the writing style of Dread Pirate Roberts. FBI linguists matched the idiolect, exactly what signal 01 automates.
Signal 01
Persona reuse
The "altoid" account used rossulbricht@gmail.com as a contact in one post, a direct identifier linking alias to real name. One slip, caught years later.
Signal 04
Infrastructure leak
A misconfigured Silk Road login page leaked a real IP instead of routing through Tor. The direct lead to the server location.
Signal 07
Crypto flow
Bitcoin commission wallets traced through the blockchain. 144,000 BTC seized on arrest, via UTXO analysis.
Signal 06

What took the FBI two years across multiple agencies, SUTRADHAR runs simultaneously and fuses into one confidence score with a court-ready case file. Sources: U.S. v. Ulbricht (2015), FBI criminal complaint, DEA case documentation.

Live crawling

Real crawling, safe target

SUTRADHAR performs genuine HTTP crawling: real requests, real HTML parsing, real breadth-first link discovery across 61 pages and 5 marketplaces. The target is a simulated dark-web network we built ourselves, not a live .onion site.

What is real
Real HTTP requests, real HTML parsing, real link traversal, 61 pages across 5 markets, polite delay, audit-logged. Discovered personas feed straight into the pipeline.
Genuine
Why a replica
Crawling a live .onion risks unauthorized-access charges (IT Act 43), accidental exposure to illegal content, and evidence tainted outside lawful process. A replica keeps the demo legal.
Legal by design
Production path
In deployment, NTRO points the same crawler at authorized OSINT feeds or court-sanctioned targets. The data-source is a config change; the architecture is identical.
Config, not rebuild
Evidence exports

Three formats, one click

Every analysis exports as a court-ready PDF, a machine-readable JSON for integration, and a CSV for analyst spreadsheets. All include every signal, every score, and a cryptographic audit trail.

Court-ready PDF
Six sections: cover with classification, executive summary, legal basis (BSA Sec 63, IT Act 65B, ISO/IEC 27037), methodology, per-persona evidence table, and SHA-256 audit trail with certification.
Download
Machine-readable JSON
Structured output for I4C dashboards, SIEM systems, or enrichment pipelines. Full attribution schema with per-signal scores and audit-chain validity.
Download
Analyst CSV
One row per attributed pair plus a per-actor profile block: alias, category, source, OPSEC and evasion level, identifiers, last-scan date.
Download
Persistent database
Every analysis auto-saves to SQLite. Query stored actors by category or timeline; the autonomous mode keeps feeding it new actors on its own.
Live
Trust-graph mapping
Vouch, scam-flag, and co-mention edges between actors, giving each a Trusted / Flagged / Neutral standing that a rebranded persona carries over.
Live

End-to-end protection. At rest: AES-256 (Fernet, PBKDF2-HMAC-SHA256 at 390,000 iterations), ciphertext unreadable without the passphrase. In transit: TLS 1.3. Any tampering fails HMAC authentication and is rejected, never silently accepted. Live proof in the prototype.

Try it

Run the prototype

The working prototype ships all eight live signals, a 3D knowledge graph, live crawler, visual match, offline AI brief, AES-256 encryption proof, and a court-ready case file.

Live at web-production-9880e1.up.railway.app  ·  local: pip install -r requirements.txt then python app.py