- 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
65 lines
2.7 KiB
Markdown
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)
|