veza/docs/SECURITY_SCAN_RC1.md
senke 7cfd48a82a
Some checks failed
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Stream Server CI / test (push) Failing after 0s
fix(release): v1.0.1 — Conformité complète ROADMAP checklist
- Sécurité: npm 0 CRITICAL, cargo audit 0 vulnérabilités
- OpenAPI: @Param id corrigé pour /tracks/quota/{id}
- Tests: Payment E2E passe, OAuth DATABASE_URL fallback
- Migrations: 000_mark_consolidated.sql
- veza-stream-server: prometheus 0.14, validator 0.19
- docs: SECURITY_SCAN_RC1, V1_SIGNOFF, PROJECT_STATE
2026-03-03 20:17:54 +01:00

65 lines
2.7 KiB
Markdown

# Security Scan — v0.991 RC1
**Date** : 2026-03-03
**Objectif** : Valider l'absence de vulnérabilités CRITICAL bloquantes pour RC1
---
## Go (govulncheck)
| ID | Module | Sévérité | Statut | Justification |
|----|--------|----------|--------|---------------|
| GO-2026-4337 | crypto/tls (stdlib) | | Accepté | Fix dans go1.25.7 — mise à jour Go planifiée |
| GO-2025-4233 | quic-go | | Accepté | QPACK DoS — impact limité, fix en v0.57.0 |
| GO-2025-4108 | containerd | | Accepté | Testcontainers uniquement — pas en production |
| GO-2025-4100 | containerd | | Accepté | Idem — usage tests uniquement |
| GO-2025-3528 | containerd | | Accepté | Idem — usage tests uniquement |
**Actions** : Mettre à jour Go vers 1.25.7+ si disponible. Containerd vulnérabilités : testcontainers utilisé uniquement en CI/tests, pas exposé en production.
---
## npm (apps/web)
| Package | Sévérité | Statut | Note |
|---------|----------|--------|------|
| basic-ftp | CRITICAL | Corrigé | npm audit fix --legacy-peer-deps (v1.0.1) |
| minimatch | HIGH | Corrigé | npm audit fix --legacy-peer-deps |
| rollup | HIGH | Corrigé | npm audit fix --legacy-peer-deps |
| storybook | HIGH | Accepté | WebSocket Hijacking — dev only, pas en production |
| ajv | MODERATE | Accepté | ReDoS, usage limité |
**Résultat v1.0.1** : `npm audit` — 0 CRITICAL, 1 HIGH (Storybook, accepté — outil de dev uniquement).
---
## Rust (cargo audit)
**Résultat v1.0.1** : Corrigé bytes, time, tungstenite (axum-tungstenite supprimé), idna (validator 0.19), protobuf (prometheus 0.14).
| Crate | Sévérité | Statut | Justification |
|-------|----------|--------|---------------|
| bytes | HIGH | Corrigé | cargo update -p bytes --precise 1.11.1 |
| time | MEDIUM | Corrigé | cargo update -p time --precise 0.3.47 |
| tungstenite | HIGH | Corrigé | axum-tungstenite supprimé (axum ws natif) |
| idna | | Corrigé | validator 0.19 → idna 1.1 |
| protobuf | | Corrigé | prometheus 0.14 |
| rsa | MEDIUM | Accepté | sqlx-mysql — pas de fix; production = PostgreSQL |
| slice-ring-buffer | | Accepté | minimp3 — pas de fix; MP3 requis |
**Commande** : `cd veza-stream-server && cargo audit` — 0 vulnérabilité (2 acceptées via .cargo/audit.toml)
---
## Docker (Trivy)
**Procédure** : Build les images puis `trivy image veza-backend-api:latest`, `trivy image veza-frontend:latest`, `trivy image veza-stream-server:latest`. Corriger CRITICAL, documenter HIGH acceptées.
**Commande** : `docker compose -f docker-compose.prod.yml build && trivy image veza-backend-api:latest --severity CRITICAL,HIGH`
---
## Verdict RC1 / v1.0.1
- [x] Zéro vulnérabilité CRITICAL non documentée
- [x] Vulnérabilités ÉLEVÉES documentées avec justification (Storybook: dev only)