
Scanner de sécurité de code rapide conçu pour la revue manuelle de code par des experts. Génère des résultats référencés par ligne dans des fichiers texte pour faciliter le filtrage et le tri.
Code Query, un outil universel de scan de sécurité du code.
CQ scanne le code à la recherche de vulnérabilités de sécurité et d'autres éléments dignes d'intérêt pour les relecteurs de code orientés sécurité. Il génère des fichiers texte contenant des références aux problèmes trouvés, dans un répertoire de sortie. Ces fichiers de sortie peuvent ensuite être relus, filtrés à l'aide d'outils en ligne de commande Unix tels que grep, ou utilisés comme moyen de « sauter » dans la base de code à la référence fichier:ligne spécifiée.
Un mode d'utilisation courant consiste à considérer les fichiers de sortie comme une liste de « tâches à faire », en supprimant les références au fur et à mesure de leur relecture, qu'elles soient considérées comme des faux positifs, ou en copiant les références dans un fichier de rapport pour les examiner en détail ou pour servir de base à un rapport de bug.
L'outil est extrêmement basique, largement manuel, et suppose une connaissance approfondie des vulnérabilités de sécurité des applications et de la revue de code. Il a toutefois l'avantage d'être relativement rapide et fiable, et de fonctionner même lorsqu'une partie seulement du code est disponible.
CQ signifie Code Query, ou Sécurité, ou CQD, ou « Seek You ».
CQ est destiné à être utilisé dans un contexte de revue de code de sécurité par des experts humains. Il n'est pas destiné à être utilisé dans des scénarios automatisés, bien qu'il puisse être appliqué dans ce contexte.
CQ génère des fichiers texte en clair, généralement avec un résultat par ligne, en utilisant la convention chemin complet:numéro de ligne pour représenter les emplacements dans la base de code. Ce format est utilisé pour permettre une manipulation aisée à l'aide des utilitaires standard de la ligne de commande Unix, tels que grep, wc, sed et similaires, ainsi que des fonctionnalités basées sur les lignes de nombreux éditeurs tels que vi, Sublime Text, Atom et Visual Studio Code.
L'accent mis sur le signalement de tous les éléments d'intérêt donne un outil qui trouvera de nombreux points d'intérêt dans presque toutes les bases de code, mais qui signalera également un grand nombre de « faux positifs ». Ces faux positifs peuvent être supprimés des résultats soit par inspection, soit de manière automatisée, grâce à la méthode de signalement basée sur les lignes.
Aucune explication ou presque n'est fournie sur les problèmes ; il est supposé que vous connaissez le contexte, l'impact et les caractéristiques des problèmes signalés.