À propos du projet

SecureFlow est une plate-forme de workflow de sécurité d'applications locale et axée sur les preuves, conçue pour l'analyse de code autorisée. Construit en Rust, il met l'accent sur les processus déterministes, la validation humaine et les benchmarks reproductibles sans s'appuyer sur la connectivité réseau ou la confirmation automatique des vulnérabilités. ### Architecture Core Le projet est structuré autour de contrats et de processus versionnés séparés : 1. **Secure Engine** : Effectue une analyse déterministe de source à puits. 2. **Secure Skill** : Fournit un examen contextuel des invariants de sécurité. 3. **Secure Bench** : Permet une évaluation reproductible avec des métriques séparées. 4. **Base de connaissances locale** : Stocke la provenance, la déduplication et les données versionnées. 5. **Agents AI (facultatif)** : Aide à la priorisation et à l'enquête sur les cas ambigus, bien que l'autorité finale reste toujours auprès du chercheur humain. ### Fonctionnalités clés #### Inventaire d'API hors ligne (SecureFlow Web) SecureFlow comprend une verticale pour l'inventaire d'API hors ligne qui scelle les scopes locaux avec autorisation et expiration. Il inventorie les routes Next.js, corrèle les appels client, les spécifications OpenAPI, les manifestes, GraphQL et tRPC. Crucialement, il conserve toutes les sorties comme candidats et n'exécute pas le code cible ni n'envoie de demandes réseau. Le workflow comprend : - `web-scope-create` : Définit le scope autorisé. - `web-inventory-nextjs` : Scanne les routes et les corrélations. - `web-infer` : Traite les données d'inventaire. - `web-assess` : Génère des candidats, des notes de durcissement ou des abstentions en fonction des matrices de couverture examinées par l'opérateur. - `web-review-assessment` : Permet aux humains de promouvoir les candidats au statut validé en utilisant les preuves locales conservées. #### Analyse déterministe et validation humaine Le CLI exécute un binaire Secure Engine explicitement sélectionné, conservant sa sortie `secure-json-v1` sans resérialisation. Il génère un manifeste `secureflow-run-v2` qui préserve les versions du moteur, les empreintes de rapport, la comptabilité graphique et les états de recherche. - **Autorisation** : Accusé de réception obligatoire de la portée d'autorisation et de l'identité de l'examinateur. - **Sandboxing** : Sur Linux, utilise Bubblewrap pour un accès privé au réseau et à la filesystem hôte en lecture seule par défaut. - **Validation** : Les candidats ne sont jamais automatiquement validés. Un examinateur humain doit explicitement valider les résultats via `review-run`, en écrivant dans un manifeste séparé tout en laissant l'original intact. #### Base de connaissances et catalogue de conseils SecureFlow maintient un grand livre local append-only pour les résultats examinés, stockant la provenance, les révisions cibles et les preuves de licence. Il prend également en charge l'importation de conseils publics (par exemple, OSV, base de données de conseils GitHub) dans un catalogue SQLite séparé. - **Gestion des snapshots** : Prend en charge la préparation et l'importation de snapshots et de deltas OSV avec des exigences strictes en matière de preuves de licence. - **Corrélation** : Les résultats peuvent être conservativement liés aux conseils de package, bien que le statut `affected` n'implique pas de causalité ou de validation. - **Regroupement** : Les données de conseils peuvent être distribuées sous forme de bundles Zstandard dans les profils `core`, `malicious` ou `full`, vérifiés via des hachages SHA-256. #### Évaluation comparative et intégration AI - **Secure Bench** : Importe les résultats de chemins d'évaluation séparés, vérifiant les schémas amont et les empreintes de suite. Les métriques sont conservées séparées (TP/FN, FP/TN) pour éviter les affirmations de supériorité sans études aveugles. - **Préparation AI** : L'intégration AI facultative prépare les charges utiles de résultats expurgées et budgétisées pour une analyse de contrat hors ligne. Aucun client fournisseur n'est implémenté pour l'instant et les sorties AI ne modifient pas les décisions humaines. ### Philosophie d'utilisation SecureFlow est conçu pour surpasser les baselines humaines sur des tâches étroites et mesurables (couverture, vitesse, mémoire de modèle) mais s'abstient explicitement lorsque les preuves sont insuffisantes. Il garantit que zéro candidat ne soit pas interprété comme une garantie de sécurité, maintenant une frontière stricte entre l'analyse automatisée et la responsabilité humaine.