{"id":154,"date":"2017-12-29T13:43:00","date_gmt":"2017-12-29T13:43:00","guid":{"rendered":"https:\/\/www.mainmind.com\/blog\/?p=154"},"modified":"2020-07-27T07:23:29","modified_gmt":"2020-07-27T07:23:29","slug":"antivirus-vs-visual-studio-team-services-agent-sonarqube","status":"publish","type":"post","link":"https:\/\/www.mainmind.com\/blog\/antivirus-vs-visual-studio-team-services-agent-sonarqube\/","title":{"rendered":"Antivirus vs Visual Studio Team Services Agent + SonarQube"},"content":{"rendered":"<p>En entornos de trabajo corporativo en los que se utiliza <a href=\"https:\/\/www.visualstudio.com\/es\/tfs\/\" target=\"_blank\" rel=\"noopener noreferrer\">TFS<\/a> como herramienta de desarrollo, el an\u00e1lisis est\u00e1tico de c\u00f3digo fuente ayuda a obtener m\u00e9tricas sobre calidad de software, para grandes y peque\u00f1os proyectos; un punto de partida en el que comparar convenciones sobre: estilo, seguridad, mantenibilidad, complejidad, duplicidad&#8230;<\/p>\n<p>En el caso de las compilaciones lanzadas contra el agente de <a href=\"https:\/\/github.com\/Microsoft\/vsts-agent\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio para Team Services<\/a>, <a href=\"https:\/\/octoverse.github.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft lleva tiempo apostando por el Open Source<\/a> (suena raro todav\u00eda decirlo), la automatizaci\u00f3n del proceso es sencilla.<\/p>\n<p>Nuestro agente VSTS instalado descargar\u00e1 el c\u00f3digo fuente configurado en la compilaci\u00f3n, en nuestro caso una de las tareas dentro de este flujo, se integra con el an\u00e1lis de <a href=\"https:\/\/docs.sonarqube.org\/display\/SCAN\/Analyzing+with+SonarQube+Extension+for+VSTS-TFS\" target=\"_blank\" rel=\"noopener noreferrer\">SonarQube<\/a> mediante su plugin correspondiente. Donde obtenemos repetidamente errores:<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/\/2017\/VisualStudio\/TFS_sonarqube.jpg\" alt=\"\" width=\"695\" height=\"341\"><\/p>\n<p>Despu\u00e9s de comprobar permisos, reinstalar agente, configuraci\u00f3n del gateway de conexi\u00f3n TFS-SonarQube el enemigo silencioso&#8230; el antivirus, en este caso <a href=\"https:\/\/www.pandasecurity.com\/spain\/\" target=\"_blank\" rel=\"noopener noreferrer\">Panda<\/a>, detectaba: por un lado el archivo temporal generado por el agente como posible Exploit gen\u00e9rico; por la otra parte, el ejecutable creado durante el an\u00e1lisis de c\u00f3digo est\u00e1tico bloqueado&#8230;<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/\/2017\/VisualStudio\/TFS_sonarqube_panda.jpg\" alt=\"\" width=\"670\" height=\"195\"><\/p>\n<p>&nbsp;<\/p>\n<p>Varias preguntas:<\/p>\n<p style=\"text-align: center;\">\u00bfPor qu\u00e9 la generaci\u00f3n de c\u00f3digo fuente desde el agente crea un archivo temporal con el mismo nombre, alg\u00fan tipo de GUID o similar, en todas las ejecuciones?<\/p>\n<p style=\"text-align: center;\">\u00bfPor qu\u00e9 la heur\u00edstica cloud (+hardening) de Panda lo analiza, remite y marca como confiable pero lo sigue bloqueando?<\/p>\n<p style=\"text-align: left;\">ACTUALIZADO: despu\u00e9s de comunicar con Panda se solucion\u00f3 en la segunda actualizaci\u00f3n espec\u00edfica para este problema.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En entornos de trabajo corporativo en los que se utiliza TFS como herramienta de desarrollo, el an\u00e1lisis est\u00e1tico de c\u00f3digo fuente ayuda a obtener m\u00e9tricas sobre calidad de software, para grandes y peque\u00f1os proyectos; un punto de partida en el que comparar convenciones sobre: estilo, seguridad, mantenibilidad, complejidad, duplicidad&#8230; En el caso de las compilaciones [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[376,375,372,373,374,205],"class_list":["post-154","post","type-post","status-publish","format-standard","hentry","category-visual-studio","tag-antivirus","tag-panda","tag-sonarqube","tag-team-services","tag-tfs","tag-visual-studio"],"_links":{"self":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/comments?post=154"}],"version-history":[{"count":0,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/154\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/media?parent=154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/categories?post=154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/tags?post=154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}