Archives mensuelles : septembre 2009

CAT.net n’est pas encore au point

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.