Denisijcu commited on
Commit
4ac079e
·
verified ·
1 Parent(s): 57121b5

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +10 -478
README.md CHANGED
@@ -1,484 +1,16 @@
1
- # DECI — Decentralized Cognitive Identity
2
-
3
- > **PoH Engine · Sprint 1 MVP · Vertex Coders LLC**
4
-
5
- ![Version](https://img.shields.io/badge/version-0.1.0--sprint1-red)
6
- ![Status](https://img.shields.io/badge/status-MVP%20%2F%20Research-yellow)
7
- ![Stack](https://img.shields.io/badge/stack-FastAPI%20%2B%20Qdrant%20%2B%20Python-blue)
8
- ![License](https://img.shields.io/badge/license-MIT-green)
9
-
10
- ---
11
-
12
- ## ¿Qué es DECI?
13
-
14
- DECI es un motor experimental de **autenticación cognitiva continua**. En vez de preguntar *"¿qué sabes?"* (contraseña) o *"¿qué tienes?"* (token), DECI pregunta *"¿cómo piensas mientras escribes?"*
15
-
16
- Analiza señales de comportamiento en tiempo real — latencia entre teclas, patrones de corrección, micro-pausas — y genera un **Trust Score (0.0 → 1.0)** que indica si quien está escribiendo es un humano real o un bot automatizado.
17
-
18
- ```
19
- Score >= 0.65 → HUMAN ✓
20
- Score 0.40-0.65 → SUSPECT ⚠
21
- Score < 0.40 → BOT ✗
22
- ```
23
-
24
- > **Nota importante:** Este es un MVP de investigación (Sprint 1). Los números de precisión no están validados con datos reales todavía. Ver sección [Estado actual del proyecto](#estado-actual-del-proyecto).
25
-
26
- ---
27
-
28
- ## Screenshots
29
-
30
- | Dashboard | Session Analyzer |
31
- |-----------|-----------------|
32
- | ![Dashboard](docs/screenshots/dashboard.png) | ![Analyzer](docs/screenshots/analyzer.png) |
33
-
34
- | Red Team Lab | Signal Analysis |
35
- |-------------|-----------------|
36
- | ![Attacks](docs/screenshots/attacks.png) | ![Signals](docs/screenshots/signals.png) |
37
-
38
- ---
39
-
40
- ## Arquitectura
41
-
42
- ```
43
- ┌─────────────────────────────────────────────────────────┐
44
- │ DECI Architecture │
45
- ├─────────────────────────────────────────────────────────┤
46
- │ │
47
- │ Browser/Client │
48
- │ ┌──────────────────────┐ │
49
- │ │ deci-dashboard.html │ ← Dashboard HTML (single │
50
- │ │ (Keystroke capture) │ file, sin dependencias) │
51
- │ └──────────┬───────────┘ │
52
- │ │ POST /session/analyze │
53
- │ │ POST /attack/simulate/ghosting │
54
- │ ▼ │
55
- │ ┌──────────────────────┐ │
56
- │ │ FastAPI (Python) │ ← PoH Engine, port 8000 │
57
- │ │ app/main.py │ │
58
- │ │ app/core/engine.py │ ← Scoring logic │
59
- │ └──────────┬───────────┘ │
60
- │ │ │
61
- │ ▼ │
62
- │ ┌──────────────────────┐ │
63
- │ │ Qdrant │ ← Cognitive DNA Vault │
64
- │ │ (Vector DB) │ port 6333 │
65
- │ └──────────────────────┘ │
66
- │ │
67
- └─────────────────────────────────────────────────────────┘
68
- ```
69
-
70
  ---
71
-
72
- ## Estructura del proyecto
73
-
74
- ```
75
- deci-prototype/
76
- ├── docker-compose.yml # Levanta FastAPI + Qdrant
77
- ├── Dockerfile # Container de la API
78
- ├── .env # Variables de entorno
79
- ├── requirements.txt # Dependencias Python
80
-
81
- ├── app/
82
- │ ├── main.py # Punto de entrada FastAPI
83
- │ ├── core/
84
- │ │ ├── engine.py # PoH Engine — corazón del sistema
85
- │ │ ├── config.py # Configuración global
86
- │ │ └── security.py # JWT + Shadow Mode
87
- │ ├── api/
88
- │ │ ├── endpoints/
89
- │ │ │ ├── session.py # POST /session/analyze
90
- │ │ │ └── attack.py # POST /attack/simulate/ghosting
91
- │ │ └── schemas/
92
- │ │ └── telemetry.py # Modelos Pydantic — el Contrato
93
- │ ├── database/
94
- │ │ └── qdrant_vault.py # Cognitive DNA Vault
95
- │ └── tests/
96
- │ └── deepseek_lab/ # Red Team attack suite
97
- │ ├── mimicry_attack_v2.py
98
- │ ├── ghosting_attack.py
99
- │ ├── forced_errors.py
100
- │ ├── entropy_scanner.py
101
- │ ├── benchmark.py
102
- │ └── results/
103
-
104
- ├── scripts/
105
- │ └── setup_db.py # Inicializa colección Qdrant
106
-
107
- └── deci-dashboard.html # Dashboard completo (single file)
108
- ```
109
-
110
  ---
111
 
112
- ## Instalación y arranque rápido
113
-
114
- ### Requisitos previos
115
-
116
- - [Docker Desktop](https://www.docker.com/products/docker-desktop/) instalado y corriendo
117
- - Python 3.11+ (solo para el red team lab)
118
- - Un browser moderno (Chrome, Firefox, Edge)
119
-
120
- ### Paso 1 — Clonar el repo
121
-
122
- ```bash
123
- git clone https://github.com/tu-usuario/deci-prototype.git
124
- cd deci-prototype
125
- ```
126
-
127
- ### Paso 2 — Configurar variables de entorno
128
-
129
- ```bash
130
- cp .env.example .env
131
- # El .env por defecto funciona para desarrollo local
132
- # Cambia SECRET_KEY en producción
133
- ```
134
-
135
- ### Paso 3 — Levantar el backend
136
-
137
- ```bash
138
- docker-compose up
139
- ```
140
-
141
- Deberías ver algo así:
142
-
143
- ```
144
- deci_vault | Qdrant HTTP listening on 6333
145
- deci_core | INFO: Uvicorn running on http://0.0.0.0:8000
146
- deci_core | [DECI] Cognitive Vault ready — collection: cognitive_dna
147
- ```
148
-
149
- ### Paso 4 — Abrir el dashboard
150
-
151
- Tienes dos opciones:
152
-
153
- **Opción A — Directo en el browser (más simple):**
154
- ```bash
155
- # Windows
156
- start deci-dashboard.html
157
-
158
- # Mac
159
- open deci-dashboard.html
160
 
161
- # Linux
162
- xdg-open deci-dashboard.html
163
- ```
164
 
165
- **Opción B Con servidor local (recomendado, evita CORS):**
166
- ```bash
167
- # Si tienes Python
168
- python -m http.server 5500
169
- # Abrir: http://localhost:5500/deci-dashboard.html
170
-
171
- # Si tienes Node
172
- npx serve .
173
- # Abrir: http://localhost:3000/deci-dashboard.html
174
- ```
175
-
176
- ### Paso 5 — Verificar que todo funciona
177
-
178
- El topbar del dashboard debe mostrar `● OPERATIONAL` en verde.
179
-
180
- Si muestra `● API OFFLINE`, verifica que `docker-compose up` esté corriendo.
181
-
182
- ---
183
-
184
- ## Guía de uso del Dashboard
185
-
186
- ### Tab 1 — Dashboard
187
-
188
- Vista general en tiempo real. Muestra:
189
-
190
- - **Métricas** — conteo de sesiones Human / Suspect / Bot / Calibrating
191
- - **Score distribution** — histograma de scores de las últimas sesiones
192
- - **Attack detections** — chart de ataques detectados vs bypassed (datos del Sprint 1)
193
- - **Live session feed** — feed en tiempo real de sesiones entrantes
194
-
195
- Las sesiones del feed en modo demo son simuladas. Cuando conectas el Session Analyzer, las sesiones reales aparecen aquí.
196
-
197
- ### Tab 2 — Session Analyzer
198
-
199
- **El corazón del sistema.** Aquí puedes probar DECI con tu propia escritura.
200
-
201
- **Cómo usarlo:**
202
-
203
- 1. Click en **Start** — el textarea se activa
204
- 2. **Escribe cualquier cosa** — un párrafo, texto libre, lo que sea. Mínimo 10 keystrokes, ideal 80+
205
- 3. Click en **Analyze** — el payload se envía al engine
206
- 4. El resultado aparece a la derecha con:
207
- - **Verdict** (HUMAN / SUSPECT / BOT)
208
- - **Score** (0.0 → 1.0)
209
- - **Confidence** — qué tan seguro está el engine
210
- - **Signal breakdown** — por qué tomó esa decisión
211
-
212
- **Importante:** Con menos de 50 keystrokes el IKL Entropy es inestable. Para resultados confiables escribe al menos 2-3 oraciones completas.
213
-
214
- **¿Qué mide mientras escribes?**
215
-
216
- | Señal | Peso | Lo que detecta |
217
- |-------|------|----------------|
218
- | IKL Entropy | 30% | Variabilidad en el tiempo entre teclas. Los humanos tienen distribución lognormal. Los bots tienen distribución normal o constante. |
219
- | Corrections | 25% | Patrones de backspace. Los humanos cometen errores en ráfagas orgánicas. Los bots no cometen errores o los distribuyen uniformemente. |
220
- | Pauses | 15% | Micro-pausas (>800ms). Los humanos pausan antes de palabras difíciles. Los bots generan de forma lineal. |
221
- | Speed | 15% | Velocidad en CPM. Rango humano: 150-600 CPM. |
222
- | Fatigue | 15% | ¿Se simplifica el vocabulario con el tiempo? Los humanos se cansan. Los bots no. |
223
-
224
- ### Tab 3 — Red Team Lab
225
-
226
- **El laboratorio de DeepSeek.** Simula ataques contra el engine para probar su robustez.
227
-
228
- #### Ghosting Attack
229
-
230
- Simula un bot que intenta imitar latencia humana. Cuatro niveles de sofisticación:
231
-
232
- | Nivel | Técnica | Score esperado | ¿Pasa? |
233
- |-------|---------|----------------|--------|
234
- | L1 — Constant | Delay fijo de 100ms | ~0.08 | ❌ BOT |
235
- | L2 — Gaussian | Noise gaussiano | ~0.22 | ❌ BOT |
236
- | L3 — Bimodal | Clusters rápido+lento | ~0.44 | ❌ SUSPECT |
237
- | L4 — Lognormal | Distribución biológica + bursts + fatiga | ~0.60 | ⚠ SUSPECT |
238
-
239
- **Cómo correrlo:**
240
- 1. Seleccionar el nivel en el dropdown
241
- 2. Opcionalmente cambiar el texto objetivo
242
- 3. Click **Run Attack** — el payload se envía al endpoint real de Gemini
243
- 4. El resultado aparece en el Attack Log
244
-
245
- **Full Suite** corre los 4 niveles en secuencia automáticamente.
246
-
247
- #### Forced Errors
248
-
249
- Testea si el engine detecta la ausencia de correcciones orgánicas:
250
-
251
- - **Variant A** — Cero correcciones (clásico tell de LLM) → detectado
252
- - **Variant C** — Fake burst (ataque sofisticado) → SUSPECT
253
- - **Variant E** — Bursts posicionados óptimamente → SUSPECT
254
-
255
- #### Replay Attack
256
-
257
- Visualiza el scatter de cosine similarity. El threshold de detección es 0.92 — sesiones con similarity mayor son flaggeadas como replay.
258
-
259
- ### Tab 4 — Signal Analysis
260
-
261
- Análisis técnico de las señales:
262
-
263
- - **Signal weights** — donut chart con el peso de cada señal en el score final
264
- - **Human vs Bot radar** — comparación de perfil cognitivo humano real vs bot L4
265
- - **DeepSeek V1 vs V2** — evolución del ataque a través de versiones
266
- - **Signal definitions** — definición técnica de cada señal
267
-
268
- ---
269
-
270
- ## Red Team Lab — Correr los ataques desde Python
271
-
272
- Además del dashboard, puedes correr los ataques directamente desde Python:
273
-
274
- ```bash
275
- # Instalar dependencias
276
- pip install -r requirements.txt
277
-
278
- # Asegúrate de que docker-compose up está corriendo
279
- # Luego:
280
-
281
- # Ataque simple
282
- python app/tests/deepseek_lab/mimicry_attack_v2.py --version v2 --target gemini
283
-
284
- # Con texto largo (más confiable)
285
- python app/tests/deepseek_lab/mimicry_attack_v2.py \
286
- --version v2 \
287
- --target gemini \
288
- --text "Intento de acceso no autorizado al nucleo VIC de Vertex Coders usando patron cognitivo avanzado de nivel cuatro"
289
-
290
- # Benchmark completo V1 vs V2
291
- python app/tests/deepseek_lab/mimicry_attack_v2.py --benchmark --runs 10
292
-
293
- # Suite completa de DeepSeek
294
- python app/tests/deepseek_lab/benchmark_v2.py --verbose --iterations 20
295
- ```
296
-
297
- Los resultados se guardan en `app/tests/deepseek_lab/results/`.
298
-
299
- ---
300
-
301
- ## API Endpoints
302
-
303
- Con el backend corriendo, la documentación interactiva está en:
304
- **http://localhost:8000/docs**
305
-
306
- ### Endpoints principales
307
-
308
- #### `POST /session/analyze`
309
-
310
- Analiza una sesión de telemetría y devuelve un PoH verdict.
311
-
312
-
313
-
314
- ```json
315
- // Request
316
- ### POST /session/analyze
317
- Analiza la telemetría conductual. **Importante:** Requiere mínimo 15 eventos para un veredicto confiable.
318
-
319
- // Request (Esquema TelemetryPayload)
320
- {
321
- "session_id": "SESS-001",
322
- "events": [
323
- { "key": "v", "timestamp": 1000.0 },
324
- { "key": "e", "timestamp": 1150.0 }
325
- ],
326
- "metadata": {
327
- "total_chars": 20,
328
- "total_corrections": 0
329
- }
330
- }
331
-
332
- // Response
333
- {
334
- "verdict": "HUMAN",
335
- "score": 0.8561,
336
- "confidence": 0.90,
337
- "signal_scores": {
338
- "entropy": 0.85,
339
- "cv": 0.15,
340
- "corrections": 0.05
341
- }
342
- }
343
-
344
-
345
- ```
346
-
347
- #### `POST /attack/simulate/ghosting`
348
-
349
- Endpoint del red team. Simula un ataque de ghosting y devuelve el verdict del engine.
350
-
351
- ```json
352
- // Request
353
- {
354
- "session_id": "atk-001",
355
- "events": [
356
- { "key": "A", "timestamp": 1700000000100 },
357
- { "key": "c", "timestamp": 1700000000200 }
358
- ]
359
- }
360
-
361
- // Response
362
- {
363
- "session_id": "atk-001",
364
- "entropy_score": 0.43,
365
- "score": 0.51,
366
- "verdict": "SUSPECT",
367
- "signal_breakdown": { ... }
368
- }
369
- ```
370
-
371
- #### `GET /health`
372
-
373
- ```json
374
- { "api": "ok", "vault": "ok", "shadow_mode": true }
375
- ```
376
-
377
- #### `DELETE /session/{user_id}/dna`
378
-
379
- Elimina todo el Cognitive DNA de un usuario. Cumplimiento GDPR Art. 17.
380
-
381
- ---
382
-
383
- ## Variables de entorno (.env)
384
-
385
- ```bash
386
- # API
387
- APP_ENV=development # development | production
388
- SECRET_KEY=change_me_please # JWT secret — cambia esto en producción
389
-
390
- # Qdrant
391
- QDRANT_HOST=qdrant # nombre del servicio en docker-compose
392
- QDRANT_PORT=6333
393
- QDRANT_COLLECTION=cognitive_dna
394
-
395
- # PoH Engine thresholds
396
- POH_HUMAN_THRESHOLD=0.65 # score >= este valor → HUMAN
397
- POH_SUSPECT_THRESHOLD=0.40 # score entre 0.40-0.65 → SUSPECT
398
- POH_ENTROPY_MIN=1.8 # entropía mínima para clasificar como humano
399
- POH_CALIBRATION_SESSIONS=3 # sesiones requeridas antes de activar validación completa
400
-
401
- # Shadow Mode — en true, el engine observa pero NO bloquea
402
- SHADOW_MODE=true
403
- ```
404
-
405
- ---
406
-
407
- ## Estado actual del proyecto
408
-
409
- ### ✅ Completado (Sprint 1)
410
-
411
- - PoH Engine funcional con 5 señales cognitivas
412
- - Cognitive DNA Vault (Qdrant) con GDPR erasure
413
- - API FastAPI completa con documentación automática
414
- - Red Team framework (DeepSeek attack suite)
415
- - Dashboard HTML completo con 4 módulos
416
- - Shadow Mode para calibración sin bloqueo
417
- - Cold start detection (período de calibración)
418
- - Docker Compose con Qdrant + FastAPI
419
-
420
- ### ⚠️ Limitaciones conocidas (Sprint 1)
421
-
422
- - **No validado con datos reales** — los thresholds (0.65, 0.40) fueron elegidos por lógica, no por datos estadísticos de usuarios reales
423
- - **IKL Entropy inestable con < 50 keystrokes** — textos cortos dan entropy cercana a 0
424
- - **Sin ZK-Proofs** — la capa de privacidad avanzada está planificada para Sprint 2
425
- - **Sin P2P Mesh** — los nodos validadores están planificados para Sprint 2
426
- - **Sin WebSocket** — el dashboard usa polling/simulación, no conexión en vivo
427
-
428
- ### 🔜 Sprint 2 (planificado)
429
-
430
- - ZK-Proof layer para privacidad absoluta
431
- - LibP2P validation mesh
432
- - Adaptive PoH challenges (se adaptan cuando un ataque los rompe)
433
- - WebSocket para feed en tiempo real
434
- - Validación con dataset de 50+ usuarios reales
435
-
436
- ---
437
-
438
- ## Equipo
439
-
440
- | Rol | Responsabilidad |
441
- |-----|-----------------|
442
- | **Denis Sanchez Leyva** (CEO, Vertex Coders) | Producto, arquitectura general, FastAPI, dashboard |
443
- | **Claude** (Anthropic) | PoH Engine design, privacy layer, API architecture |
444
- | **Gemini** (Google) | Infrastructure, Qdrant integration, node mesh design |
445
- | **DeepSeek** | Offensive security, attack suite, cognitive mimicry testing |
446
-
447
- ---
448
-
449
- ## Contribuir
450
-
451
- Este proyecto está en fase de investigación activa. Si quieres contribuir:
452
-
453
- 1. Fork el repo
454
- 2. Crea un branch: `git checkout -b feature/nombre-del-feature`
455
- 3. Commit tus cambios: `git commit -m 'feat: descripción'`
456
- 4. Push: `git push origin feature/nombre-del-feature`
457
- 5. Abre un Pull Request
458
-
459
- **Áreas donde más se necesita ayuda:**
460
- - Recolección de datos reales para validar thresholds
461
- - Mejoras al PoH Engine (nuevas señales cognitivas)
462
- - Ataques nuevos para el red team lab
463
- - Tests unitarios
464
-
465
- ---
466
-
467
- ## Licencia
468
-
469
- MIT License — ver [LICENSE](LICENSE) para detalles.
470
-
471
- ---
472
-
473
- ## Disclaimer
474
-
475
- DECI es un proyecto de investigación en desarrollo activo. **No usar en producción** sin validación previa con datos reales de tu caso de uso específico. Los números de precisión en el artículo de lanzamiento son estimados teóricos, no métricas validadas.
476
-
477
- ---
478
-
479
- **Vertex Coders LLC — Miami, Florida**
480
- *Ofensivo por diseño. Defensivo por naturaleza.* 🛡️🔥
481
-
482
- ---
483
 
484
- *Hecho con y muchas noches de trinchera.*
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: Deci Core Api
3
+ emoji: 🛡️
4
+ colorFrom: blue
5
+ colorTo: green
6
+ sdk: docker
7
+ pinned: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  ---
9
 
10
+ # DECI Decentralized Cognitive Identity Core (PoH Engine)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
+ **Invisible Behavioral Biometrics & Proof of Humanity Engine for Zero-Trust Authentication.**
 
 
13
 
14
+ DECI is a high-performance, privacy-first backend API designed to detect advanced AI bots, cognitive mimicry attacks, and credential stuffing in real time.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
+ Developed by **Vertex Coders LLC**. *Offensive by design. Defensive by nature.* 🛡️🔥