Cela faisait un moment que je souhaitais tester un outil de Microsoft peu connu : Microsoft Code Analysis Tool .NET (CAT.net) disponible en version CTP 1.1 depuis la fin juin. Sur le papier cet outil a l’air prometteur puisqu’il permet d’analyser des assemblies afin de détecter des failles de sécurité, tels que les injections SQL, les failles CSS, les injections LDAP ou XPATH, etc. Bref un outil qui devrait être dans la boite à outils de tout développeur. Connaissant l’existence de l’outil, j’ai toujours été étonné du peu de publicité qui l’entoure. Excepté le blog de l’équipe qui a développé l’outil, quasiment personne n’en parle.
J’ai donc décidé cet après-midi de tester l’outil afin de pouvoir juger de ses capacités et ainsi en faire la promotion si les quelques tests que j’allais effectuer s’avéraient concluants. J’avais donc prévu une procédure de test assez simple : test avec un code créé pour l’occasion pour vérifier que l’outil détectait bien des failles évidentes, puis test sur de vrais projets tels que DasBlog et Community Server.
Et bien malheureusement, je rédige ce post afin de vous indiquer que je n’ai mis que 10 minutes a effectuer le test puisqu’à la vue de ce simple code, aucune alerte n’est levée par l’outil :
var connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=TestDatabase;Integrated Security=True");
connection.Open();
var command = connection.CreateCommand();
command.CommandType = CommandType.Text;
command.CommandText = "select * from employees where lastname_employee='" + textBox1.Text + "'";
var reader = command.ExecuteReader();
Bref, ne perdez pas de temps à utiliser cet outil, il n’est pas encore au point.