Skip to content

fix(security): cover costly routes and pin Trivy - #2

Merged
Tetrax merged 2 commits into
mainfrom
fix/rate-limit-trivy-pin
Aug 10, 2026
Merged

fix(security): cover costly routes and pin Trivy#2
Tetrax merged 2 commits into
mainfrom
fix/rate-limit-trivy-pin

Conversation

@Tetrax

@Tetrax Tetrax commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Résumé

Corrige les deux findings FortiFlow confirmés lors de l’audit ciblé :

  • étend le rate limiter applicatif aux routes coûteuses auditées avant parsing ou écriture ;
  • épingle aquasecurity/trivy-action sur le commit correspondant à v0.36.0.

Aucune authentification applicative n’est ajoutée : la décision existante de protection par firewall/reverse proxy reste inchangée.

Findings

Rate limiter — FIXED

Routes couvertes en plus de /api/upload et /api/admin :

  • /api/import/workspace ;
  • /api/import/policies-xlsx ;
  • /api/deploy/config-upload ;
  • /api/deploy/dynamic-routes.

Les tests HTTP vérifient la couverture et la réponse 429 avant les parseurs ou Multer.

Trivy Action — FIXED

Les deux usages de aquasecurity/trivy-action sont épinglés au SHA :

ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0

Ce SHA a été vérifié comme le commit pointé par le tag annoté v0.36.0.

Map du limiter — NOT REPRODUCED

Aucune correction : les buckets inactifs sont purgés périodiquement et aucune croissance permanente n’a été reproduite.

Tests

  • preuve RED rejouée sur origin/main : quatre tests rate limiter et le contrôle Trivy échouent comme attendu ;
  • npm test : 63/63 PASS sur l’hôte ;
  • tests dans l’image : 61 PASS, 2 skips justifiés (.github et Nginx hors contexte applicatif) ;
  • node --check des fichiers JavaScript modifiés : PASS ;
  • npm audit --omit=dev --audit-level=critical : PASS, 0 CRITICAL ;
  • git diff --check : PASS ;
  • docker compose config : PASS ;
  • build Docker depuis la branche : PASS ;
  • smoke temporaire /api/health : HTTP 200 ;
  • review Hermes : 4/4 fichiers, aucune exclusion, PASS ;
  • GitHub Actions : node-tests, docker-build et security-scan PASS ; publish-ghcr skipped comme prévu sur une PR.

Hors périmètre

  • authentification FortiFlow ;
  • modification de la Map du limiter ;
  • merge ;
  • déploiement Portainer.

@Tetrax
Tetrax merged commit 17187da into main Aug 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant