docs(security): seed STATE.md and SECURITY.md after vuln remediation
STATE.md follows the 3-section monorepo pattern (Position actuelle, Decisions recentes, Blockers actifs). SECURITY.md tracks resolved CVE (4 HIGH xmldom) and residuals (GHSA-w5hq-g745-h8pq uuid, non-exploitable in practice). Refs #76 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
ed4c10f29c
commit
f52e1e9e06
2 changed files with 71 additions and 0 deletions
50
SECURITY.md
Normal file
50
SECURITY.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# SECURITY — simpl-liste
|
||||
|
||||
Rapport d'etat securite. Scanne quotidiennement par `defenseur-simpl-liste`
|
||||
(04:15 UTC) dans `~/claude-code/defenseurs/`.
|
||||
|
||||
## CVE resolues
|
||||
|
||||
### 2026-04-24 — Overrides `@xmldom/xmldom` et `uuid`
|
||||
|
||||
Correction via `overrides` dans `package.json`. Aucune n'etait exploitable a
|
||||
runtime dans l'APK : chaine concernee est build-time (iOS build via xcode,
|
||||
Expo CLI, plist serialization) ou dev-tunnel (ngrok).
|
||||
|
||||
| CVE | Severite | Package | Fix version | Etat |
|
||||
|---|---|---|---|---|
|
||||
| GHSA-2v35-w6hq-6mfw | HIGH | @xmldom/xmldom | ^0.8.13 | Resolu |
|
||||
| GHSA-f6ww-3ggp-fr8h | HIGH | @xmldom/xmldom | ^0.8.13 | Resolu |
|
||||
| GHSA-x6wf-f3px-wcqx | HIGH | @xmldom/xmldom | ^0.8.13 | Resolu |
|
||||
| GHSA-j759-j44w-7fr8 | HIGH | @xmldom/xmldom | ^0.8.13 | Resolu |
|
||||
| GHSA-w5hq-g745-h8pq | MEDIUM | uuid | ^11.0.0 | Mitigation partielle (voir ci-dessous) |
|
||||
|
||||
## CVE residuelles
|
||||
|
||||
### GHSA-w5hq-g745-h8pq — `uuid` buffer bounds check
|
||||
|
||||
**Status** : mitigation partielle. L'advisory npm flag `uuid <14.0.0` meme apres
|
||||
override a `^11.0.0`. Bug concerne `uuid.v3() / v5() / v6()` quand `buf` param
|
||||
est fourni. Les consommateurs transitifs (`xcode`, `@expo/ngrok`) utilisent
|
||||
uniquement `uuid.v4()` — donc **pas de code path vulnerable atteint en pratique**.
|
||||
|
||||
Non bump vers `^14.0.0` car ESM-only (casserait les imports CJS de xcode et
|
||||
ngrok dans la chaine build iOS). Voir spec decision D3 pour details.
|
||||
|
||||
**Impact** : cascade via 18 advisories transitives (uuid → xcode/ngrok → expo/* → ...),
|
||||
toutes remontant a la meme racine. Non-bloquant pour la production.
|
||||
|
||||
**Re-evaluation** : lors du prochain upgrade Expo SDK (quand xcode + ngrok
|
||||
passeront a une version compatible avec `uuid@^14` ou retireront uuid).
|
||||
|
||||
## Procedure de scan manuel
|
||||
|
||||
```bash
|
||||
cd ~/claude-code/defenseurs && npx tsx src/defenseur.ts defenseur-simpl-liste
|
||||
```
|
||||
|
||||
## Politique de review
|
||||
|
||||
- **HIGH** : fix immediat via PR.
|
||||
- **MEDIUM** : triage sous 7 jours, fix si exploitable.
|
||||
- **LOW** : accepte tel quel, documente ici.
|
||||
21
STATE.md
Normal file
21
STATE.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# STATE — simpl-liste
|
||||
|
||||
## Position actuelle
|
||||
|
||||
Version 1.6.1 (versionCode 13). Remediation vulnerabilites du defenseur en cours
|
||||
via overrides `@xmldom/xmldom@^0.8.13` et `uuid@^11.0.0` dans `package.json`
|
||||
(overnight 2026-04-24). 4 CVE HIGH xmldom nettoyees ; 1 advisory uuid residuelle
|
||||
non-exploitable en pratique (details dans `SECURITY.md`).
|
||||
|
||||
## Decisions recentes
|
||||
|
||||
- 2026-04-24 : overrides xmldom + uuid (spec `spec-decisions-vuln-simpl-liste.md`) — PRs #77, #78, #79 (pending-human).
|
||||
- 2026-04-23 : PR #71 merged — fix widget render-optimiste + timing instrumentation.
|
||||
- 2026-04-18 : archive milestone `spec-simpl-liste-web` (12/12 done).
|
||||
|
||||
## Blockers actifs
|
||||
|
||||
- Advisory GHSA-w5hq-g745-h8pq (`uuid <14.0.0`) reste flaggee par npm audit
|
||||
apres override ^11 : non-exploitable (xcode/ngrok utilisent `uuid.v4()`,
|
||||
bug dans v3/v5/v6+buf). Decision Max requise : accepter le residuel ou
|
||||
tenter bump ^14 (risque ESM-only).
|
||||
Loading…
Reference in a new issue