Outil d'analyse statique de code sensible au framework pour une revue automatisée du code source avec des règles spécifiques à la plateforme, analyse de flux de données (taint), estimation d'effort, et lignes de base de suppression.
Author:
- Debasis Mohanty ([email protected])
- Twitter / X: @coffeensecurity
- www.coffeeandsecurity.com
Daksh SCRA (Source Code Review Assist) est conçu pour améliorer l'efficacité du processus de revue de code source, en offrant une approche bien structurée et organisée aux réviseurs de code.
Plutôt que de signaler indistinctement tout comme un problème potentiel, Daksh SCRA favorise une analyse réfléchie, en incitant à l'investigation et à la confirmation des problèmes potentiels. Cette approche atténue la course à l'étiquetage de chaque préoccupation potentielle comme un bug, réduisant la confusion et le temps perdu sur les faux positifs.
Daksh SCRA a été initialement présenté lors d'une session de formation sur la revue de code source à Black Hat USA 2022 (6-9 août), où il a été discrètement présenté à un public spécifique. Son premier lancement public officiel a eu lieu à Black Hat USA 2023 à Las Vegas.
DakshSCRA réunit des capacités distinctives pour la revue manuelle de code source, allant des zones d'intérêt basées sur les chemins de fichiers et de l'estimation de l'effort à la reconnaissance logicielle, aux règles contextuelles et à l'analyse inter-fichiers.
| Fonctionnalité | Étiquette | Pourquoi c'est important |
|---|---|---|
| Zones d'intérêt basées sur les chemins de fichiers | Première mondiale* | Analyse les noms de fichiers et de répertoires eux-mêmes, en parallèle du code, pour signaler les chemins suspects tels que les fichiers de sauvegarde, les points de terminaison de débogage, les vidages de configuration et les fichiers d'identifiants que les réviseurs manquent souvent. |
| Estimation scientifique de l'effort | Première mondiale* | Produit une estimation quantifiée de l'effort de revue manuelle basée sur la taille de la base de code et les signaux du projet. Des hypothèses configurables rendent la planification de l'engagement explicite et reproductible. |
| Zones d'intérêt, pas de signalement de bugs | Le réviseur aux commandes | Fait ressortir des motifs qui méritent investigation plutôt que d'étiqueter chaque correspondance comme une vulnérabilité. Les règles contextuelles et les preuves de suppression réduisent le bruit de triage et gardent le réviseur aux commandes. |
| Reconnaissance logicielle | Reconnaissance logicielle intégrée | Détecte les langages, frameworks et infrastructures à partir du contenu des fichiers et de la structure du projet avant l'analyse. Relie l'inventaire technologique à la sélection automatique des règles, à l'analyse sémantique et à la planification de la revue. |
| Règles conditionnelles RDL | Règles conditionnelles avancées | Va au-delà de la simple regex avec des conditions PRESENT, MISSING, des expressions booléennes et des conditions de fichier/chemin. RDL v1 enregistre les décisions et les raisons de suppression ; RDL v2 ajoute des services sémantiques typés et des preuves inter-fichiers bornées. |
| Analyse sémantique avancée et inter-fichiers | Construite de zéro | Trace les données contrôlées par l'utilisateur de la source au puits à travers les frontières de fichiers prises en charge à l'aide d'une analyse spécialement conçue. L'analyse avancée a été livrée aux côtés du RDL original en mars 2026 ; RDL v2 étend l'évaluation des règles sémantiques à travers les fichiers. |
| Analyse automatique agnostique à la plateforme | Multi-plateforme automatique | Utilisez -r auto pour analyser des projets à technologies mixtes sans choisir un seul langage au préalable. La reconnaissance sélectionne automatiquement les règles de plateforme et de framework prises en charge. Introduit dans la v0.23-beta, novembre 2024. |
| Logique de sécurité spécifique à l'application | Packs RDL personnalisés | Encodez les frontières de confiance de l'application, les décisions d'autorisation et les invariants métier dans des packs RDL personnalisés optionnels. La logique spécifique au projet s'exécute aux côtés des règles d'analyse génériques. |
| Preuves textuelles et graphiques interactives | Suivez les preuves | Suivez les chemins source-à-puits enregistrés dans des vues Textuelles et Graphiques liées. Les extraits de source, les voies de fichiers et les détails de transfert facilitent l'inspection des preuves inter-fichiers. |
| Cycle de vie de la revue et rapports portables | Réviser, reprendre et exporter | Conservez l'historique des analyses, les suppressions de revue et reprenez les analyses interrompues. Exportez en HTML, PDF, Word modifiable et JSON via des rapports partagés CLI et Web UI, avec navigation hors ligne des preuves lorsque disponible. |