33800 Docs

← Retour

AUDIT COMPLET - Stack 33800

Date : 15/02/2026 Status : IMPLEMENTEE Scope : 5 projets (ai-orchestrator, connectors-api, ulias-org, ulias-org-web, dashboard-33800) Mode : LECTURE SEULE - aucun fichier modifie


TABLE DES MATIERES

  1. Resume executif
  2. ai-orchestrator
  3. connectors-api
  4. ulias-org
  5. ulias-org-web
  6. dashboard-33800
  7. Problemes transverses
  8. Plan d'action prioritaire

RESUME EXECUTIF

Projet CRITIQUE HAUTE MOYENNE BASSE Total
ai-orchestrator 1 12 15 20+ ~48
connectors-api 5 10 10 9 34
ulias-org 1 7 13 14 35
ulias-org-web 1 4 9 13 27
dashboard-33800 - - - - (partiel)
TOTAL 8 33 47 56+ ~144

Top 10 des problemes les plus graves

# Projet ID Description
1 connectors-api S-01 JWT signature non verifiee - usurpation d'identite
2 connectors-api S-03 /api/fetch accepte requetes non authentifiees
3 connectors-api B-01 wireguard.ts utilise API Supabase inexistante - TOUT VPN crashe
4 ai-orchestrator S-01 Credentials (Redis/PG passwords) en dur dans le code source
5 ai-orchestrator S-03 Pas d'auth (service interne, risque modere)
6 connectors-api S-02 POST /api/connectors/:id/token sans auth
7 connectors-api S-06 Cle chiffrement par defaut en production
8 ulias-org 1.1 Briefing processAnswer logique inversee
9 ulias-org-web P22 Sidebar polling 500ms infini apres toggle
10 connectors-api S-09 OAuth state non signe (CSRF)

1. AI-ORCHESTRATOR

Chemin : /stock_8to/33800-stack/projects/ai-orchestrator/ Fichier principal : app/main.py (4675 lignes) Runtime : Python / FastAPI

1.1 SECURITE

S-01 [CRITIQUE] Credentials en dur dans le code source

S-03 [MOYENNE] Pas d'authentification (service interne)

S-02 [MOYENNE] CORS allow_origins=["*"] avec allow_credentials=True

S-04 [HAUTE] Injection de commandes via SSH

S-06 [HAUTE] Upload de fichiers sans validation

1.2 BUGS LOGIQUES

B-01 [HAUTE] Race condition sur active_tools

B-03 [HAUTE] Cloud jobs (Anthropic) sans limite de concurrence

B-05 [HAUTE] Requeue infini possible

B-13 [HAUTE] vram_used parsing fragile

1.3 VRAM MANAGEMENT

V-01 [HAUTE] Estimation VRAM Ollama approximative

V-02 [HAUTE] gpu_vram_committed surestimation

V-03 [HAUTE] keep_alive=-1 sur GPU1 = modele charge indefiniment

V-05 [HAUTE] Pas de mecanisme de preemption/unload

1.4 GESTION D'ERREURS

E-02 [HAUTE] Redis/PG failure non gere en cours de vie

E-03 [HAUTE] Health endpoint fragile

E-05 [HAUTE] Ollama generate sans num_ctx

1.5 HARDCODE

H-04 [MOYENNE] Modele par defaut obsolete dans schemas

H-06 [MOYENNE] costs_summary year/month hardcodes

1.6 QUEUE / CODE


2. CONNECTORS-API

Chemin : /stock_8to/33800-stack/projects/connectors-api/ Runtime : Bun / Elysia (TypeScript) Rapport detaille : ~/propositions/15-02-2026-18-00-audit-connectors-api.md

2.1 SECURITE

S-01 [CRITIQUE] JWT signature non verifiee

S-02 [CRITIQUE] POST /api/connectors/:id/token sans auth

S-03 [CRITIQUE] /api/fetch accepte requetes non authentifiees

S-06 [HAUTE] Cle de chiffrement par defaut

S-07 [HAUTE] Salt statique 'salt' pour scrypt

S-08 [HAUTE] new Function() execute du code utilisateur sans sandbox

S-09 [HAUTE] OAuth state non signe (CSRF)

2.2 BUGS

B-01 [CRITIQUE] wireguard.ts utilise API Supabase inexistante

B-02 [HAUTE] Ternaire scope check no-op

S-04 [HAUTE] Injection commande SSH dans setupAutoKey

S-05 [HAUTE] Variable escapedContent inutilisee dans heredoc

2.3 HARDCODE

2.4 CODE


3. ULIAS-ORG

Chemin : /stock_8to/33800-stack/projects/ulias-org/ Runtime : Bun / Elysia (TypeScript)

3.1 BUGS

1.1 [CRITIQUE] Briefing processAnswer logique inversee

3.2 SECURITE / AUTH

11.7 [HAUTE] GITLAB_TOKEN en clair dans conf.prod.gouroubleu.yml

10.1 [HAUTE] Endpoints retournent HTTP 200 pour les erreurs

10.2 [MOYENNE] /api/agents expose les prompts sans auth

10.5 [MOYENNE] Endpoints /internal/* non proteges

7.3 [MOYENNE] API key en clair dans ceo_profile

3.3 WEBSOCKET

5.1 [HAUTE] WS deconnexion non geree dans le handler

9.1 [HAUTE] WS error handler renvoie sur WS potentiellement ferme

5.2 [MOYENNE] session.ws non nettoyee a la deconnexion

3.4 HARDCODE

2.1 [HAUTE] CALLBACK_BASE_URL hardcode avec IP:port

2.2 [HAUTE] CONNECTORS_API_URL fallback mauvais port

2.4 [MOYENNE] CLI default port 5510 (claude-memory) au lieu de 5515 (ulias-org)

3.5 LLM ROUTING

3.1 [HAUTE] Timeout routing LLM 180s au lieu de 90s

3.4 [MOYENNE] num_ctx pas envoye pour routing/suggestions/title

3.6 CODE


4. ULIAS-ORG-WEB

Chemin : /stock_8to/33800-stack/projects/ulias-org-web/ Runtime : Qwik + Express (TypeScript)

4.1 BUGS

P22 [CRITIQUE] Sidebar polling 500ms infini

P23 [HAUTE] Double fetch au toggle (lie a P22)

4.2 UX

P18 [HAUTE] Suppression conversation sans confirmation

P29 [HAUTE] Navbar 8 tabs deborde sur mobile

P19 [MOYENNE] Suppression objectif sans confirmation

P25 [MOYENNE] window.location.href au lieu de SPA navigation

4.3 WEBSOCKET

P13 [HAUTE] WS reconnexion limitee a 5 tentatives sans retry

P14 [MOYENNE] Pas de heartbeat/ping WebSocket

4.4 RENDU

P08 [MOYENNE] Markdown renderer casse les URLs avec & ou "

P10 [MOYENNE] Types incomplets dans types.ts vs donnees reelles

P32 [MOYENNE] URLs javascript: non filtrees dans le Markdown

4.5 HARDCODE

P04 [MOYENNE] URL API_URL hardcodee dans 14 fichiers

4.6 CODE

Points positifs


5. DASHBOARD-33800

Chemin : /stock_8to/33800-stack/monitoring/ Type : Scripts bash generant du HTML statique

L'audit du dashboard a explore les fichiers mais n'a pas produit de rapport structure complet. Observations notables :


6. PROBLEMES TRANSVERSES

6.1 Credentials exposes dans le code source

Projet Fichier Credential
ai-orchestrator main.py:35-40 Redis/PG passwords
ulias-org conf.prod.gouroubleu.yml:10 GITLAB_TOKEN
connectors-api ssh.ts:105 Cle chiffrement par defaut

6.2 IPs hardcodees (violation regle "jamais d'IP:port dans le code")

Projet Fichier IP:port
ai-orchestrator main.py:185 WIN11_HOST 192.168.1.30
ulias-org client.ts:112 CALLBACK_BASE 192.168.1.12:5515
ulias-org index.ts:16 CONNECTORS_API 192.168.1.12:5400 (mauvais port!)
ulias-org client.ts:637 Supabase 192.168.1.12:8200
connectors-api ai.ts:159 ai-orchestrator 192.168.1.12:5501
connectors-api notify.ts:5 notif-logger 192.168.1.12:5300
connectors-api userStorage.ts:501 Supabase 192.168.1.12:8000

6.3 Absence d'authentification

Projet Endpoint Risque
ai-orchestrator TOUS Critique - 0 auth
connectors-api /api/fetch Critique - auth bypassable
connectors-api POST /api/connectors/:id/token Critique - admin sans auth
ulias-org /api/agents Expose les prompts systeme
ulias-org /internal/* Callbacks falsifiables

6.4 WebSocket - problemes communs backend + frontend


7. PLAN D'ACTION PRIORITAIRE

Phase 1 : Corrections critiques (immediat)

  1. connectors-api S-01 : Implementer verification signature JWT (HMAC-SHA256)
  2. connectors-api S-03 : Exiger auth sur /api/fetch
  3. connectors-api S-02 : Ajouter auth sur POST /api/connectors/:id/token
  4. connectors-api B-01 : Reecrire wireguard.ts avec le bon wrapper Supabase
  5. connectors-api S-06 : Erreur fatale si SSH_ENCRYPTION_KEY absent
  6. ai-orchestrator S-01 : Supprimer credentials par defaut du code
  7. ai-orchestrator S-03 : Ajouter middleware API key
  8. ulias-org-web P22 : Supprimer le setInterval 500ms de la sidebar
  9. ulias-org 1.1 : Corriger la logique inversee du briefing processAnswer

Phase 2 : Securite haute (< 1 semaine)

  1. connectors-api S-04/S-05 : Injection SSH (setupAutoKey + heredoc)
  2. connectors-api S-07 : Salt aleatoire pour scrypt
  3. connectors-api S-08 : Sandbox pour transform actions
  4. connectors-api S-09 : Signer le state OAuth
  5. ai-orchestrator S-04 : shlex.quote() pour les commandes SSH
  6. ai-orchestrator S-06 : Validation upload (taille + type MIME)
  7. ai-orchestrator E-03 : Health endpoint robuste (try/except)
  8. ai-orchestrator E-05 : Ajouter num_ctx au type "generate"
  9. ulias-org 5.1/9.1 : Wrapper safe pour ws.send() + AbortController
  10. ulias-org 2.1/2.2 : Corriger IPs hardcodees et port fallback

Phase 3 : Stabilite (< 2 semaines)

  1. ai-orchestrator B-01 : asyncio.Lock() sur active_tools
  2. ai-orchestrator B-03 : Semaphore pour jobs cloud
  3. ai-orchestrator B-05 : Compteur de retry sur requeue
  4. ai-orchestrator V-03 : Reduire keep_alive sur GPU1
  5. ai-orchestrator V-05 : Preemption/unload avant dispatch exclusive
  6. ai-orchestrator E-02 : Reconnexion Redis/PG
  7. ulias-org 3.1 : Reduire timeout routing LLM a 90s
  8. ulias-org 10.1 : Retourner les bons codes HTTP d'erreur
  9. ulias-org-web P13 : Bouton reconnexion WS ou backoff infini
  10. ulias-org-web P18 : Confirmation avant suppression conversation

Phase 4 : Qualite (< 1 mois)

30-144. Tous les MOYENNE et BASSE restants.


RAPPORTS DETAILLES

Les rapports individuels avec tous les details (numeros de ligne, code, fix proposes) sont disponibles :


Audit realise par Claude Opus 4.6 - 15/02/2026 - Mode lecture seule