Skip to content

Releases: Calixteair/DevSecVault

v1.0.0 — DevSecVault

13 May 22:23

Choose a tag to compare

DevSecVault v1.0.0 — Première release publique

DevSecVault est un coffre-fort web auto-hébergé pour les pros de la cybersécurité : centraliser ses snippets, ses payloads offensifs (chiffrés serveur), partager des secrets en bout-en-bout (zero-knowledge), et accéder à 23 utilitaires IT 100% client-side.

Démo publique : https://vault.calixteair.fr


Modules

Module Description
Dev Library Bibliothèque de concepts regroupant un snippet par langage. Éditeur Monaco, templating {{VAR}} substitué côté client à la copie.
Cyber Toolbox Catalogue de payloads / scripts pentest chiffrés AES-256-GCM en base. Catégories Reconnaissance / Exploitation / Privesc. Générateurs Nmap, MSFVenom.
Secure Bridge Partage de secrets chiffré bout-en-bout via Web Crypto API. Clé dans le fragment URL (#key), jamais transmise au serveur. Burn-after-read en option. TTL max 10 min.
IT Tools 23 outils 100% navigateur : hash, HMAC, bcrypt, JWT parser, TOTP, X.509, subnet IPv4, base converter, regex, JSON formatter, CVSS, chmod, etc.
Teams Partage entre membres via lien d'invitation. Le lead a un droit d'unshare (soft, jamais de delete).
Admin Modération a posteriori (DSA), gestion des tags officiels, fusion de tags, dashboard stats.

Sécurité & confidentialité

  • Auth : Keycloak 26.5 (OIDC), brute-force protection, anti-bot Altcha (proof-of-work, SPI custom Java 21 dans keycloak-altcha-spi/).
  • Chiffrement serveur : payloads en AES-256-GCM, clé via Symfony Secrets rotatable.
  • Chiffrement E2E : Web Crypto API navigateur, le serveur ne voit que le ciphertext.
  • CSP stricte : default-src 'self', polices auto-hébergées, zéro CDN tiers.
  • Rate-limit & quotas : limiteurs Symfony par endpoint sensible ; 100 concepts, 100 payloads, 50 vault items, 20 secret-links actifs, 10 PAT, 10 teams par user.
  • Recherche scopée : Meilisearch interrogé directement par le navigateur avec un tenant token JWT signé, scopé par visibilité et par user.
  • Index sains : les payloads ne sont jamais indexés en clair (seules les métadonnées) — protection contre l'AV de l'hébergeur sur les fichiers d'index.
  • Headers : security headers nginx (HSTS, X-Frame-Options, etc.), client_max_body_size et limit_req côté API.
  • Conteneurs : PHP en non-root, scan Trivy en CI sur les images Docker, packages Alpine patchés (CVE-2026-27135).
  • RGPD : suppression de compte immédiate et irréversible, IP des reports en HMAC-SHA256 salée, logs LCEN 1 an, purge auto via sidecar Ofelia.
  • Reports : signalement abuse intégré, notif e-mail vers la mailbox dédiée, modération + ban kill-switch.

Stack technique

  • Frontend — Angular 21 (Signals, Standalone, SSR + prerender des pages publiques)
  • Backend — Symfony 8 / PHP 8.3 (contrôleurs REST manuels, Voters RBAC)
  • Auth — Keycloak 26.5 + theme custom + SPI Altcha
  • Recherche — Meilisearch (tenant tokens HMAC par user)
  • BDD — PostgreSQL 16
  • Secrets — OpenBao + bao-agent (tmpfs, zéro .env en clair)
  • Build & deploy — Docker Compose, GitHub Actions, Docker Hub, deploy SSH pull
  • Pages légales — CGU, Confidentialité RGPD, Mentions légales, Procédure DSA, SECURITY.md, CONTRIBUTING.md

Périmètre couvert dans cette v1

  • Phases 1 → 8 complètes : Docker + Keycloak, Dev Library, IT Tools, Cyber Toolbox, Secure Bridge, Teams + RBAC, Tags + Admin, Polish (landing prerendue, SEO, footer legal, dashboard, search Cmd+K).
  • Personal Access Tokens pour clients CLI.
  • Captcha Altcha self-hosted sur le flow d'inscription Keycloak.
  • Page de soutien (PayPal) et pages légales durcies.
  • Suppression de compte libre-service (RGPD).

Démarrage rapide

git clone https://github.com/Calixteair/DevSecVault.git
cd DevSecVault
cp docker-compose.override.yml.dist docker-compose.override.yml
cp .env.example .env   # à compléter (DB, Meili master key, Keycloak)
docker compose up -d
docker exec dsv-php php bin/console doctrine:migrations:migrate --no-interaction

Voir le README.md pour le build du SPI Altcha et les seeds de démo.

Licence

Code source publié sous licence MIT.