четверг, 29 октября 2015 г.

как бы сделать анализатор кода, чтоб его клиенту не продать

привет ребята,
нынче модно говорить про анализ кода, вот и я решил сказать пару слов.
помимо того, что модно говорить про анализ кода, еще стало популярно разрабатывать анализаторы кода и многие состязаются в данной дисциплине, а потом предлагают свои продукты на продажу за умеренную цену.
при этом преподносится все обычно что-то вроде:
"покупайте Крутой Анализатор Кода за Cто Пицот, это самый лучший анализатор, он рассчитан специально на безопасничков и пишет отчеты на русском языке".
O_o
что здесь не так?
  1. безопаснеков заведомо мало, ну пусть будет тыща безопаснеков в стране, которым внезапно нужен позарез анализатор кода. из этой тыщи безопаснеков нужная сумма для покупки наберется у десяти человек. вот и будет потенциальная клиентская база Крутого Анализатора Кода :D
  2. любой анализатор кода будет генерить 9000+ каких-то сообщений (часть будет фигня), которые нужно интерпретировать и перепроверить человеку-спецу. если безопасник может интерпретировать отчет анализатора и понять, что критично, а что вообще неприменимо, то ему вообще неважно на каком языке отчет, ему главное знать места в коде и хотя бы примерно тип недостатка. но скорее всего знаний безопасника будет недостаточно для понимания реальной безопасности приложения при любой степени детализации отчета и любом языке, хоть русском. и надо будет обращаться к разработчикам, чтоб они разгребали и перепроверяли.
  3. разработчики обычно не любят, когда их запаривают проверять отчеты анализаторов, потому что там большинство будет фигня. но ладно пусть даже они проверят раз, это еще можно стерпеть, но обычно код не стоит на месте, а дописывается периодически и значит надо будет проверять приложение по-новой и старые фолсы тоже попадут. поэтому при каждой новой проверке приложения должен быть механизм исключения старых фолсов из будущих отчетов, но такой механизм обычно мало кто делает. а перепроверять каждый раз одни и те же сработки - это любого самого терпеливого задолбает, и использование Крутого Анализатора Кода будет сопровождаться атмосферой ненависти).
  4. при этом сама по себе целевая аудитория разработчиков - это те люди, которым в первую очередь была бы полезна автоматизация проверки/исправления ошибок. и их при этом много и у них даже есть деньги на инфраструктуру и тулзы для разработки. но как раз на эту аудиторию местные вендоры не сильно ориентируются, и даже интеграцию с привычными средствами разработки делают в последнюю очередь, ведь главный ориентир - это безопаснички (те 10 человек)). но зато есть фича скачки кода из гитхаба например, круто.
  5. заодно разработчики могут дать нормальную обратную связь по анализатору, что коряво работает, что совсем не работает, а что лучше было бы запилить и т.д. Седня одни фреймворки, завтра другие, седня одно окружение, завтра другое. вендору анализатора за всеми этими тенденциями промышленной разработки уследить без шансов, а значит что-то будет не охвачено, если аудитория разработчиков не учитывается.
  6. если аудитория более массовая (например тыща разработчиков против десяти безопасничков), значит и цена может быть не Сто Пицот, а какая-нибудь более доступная для населения - Пицот к примеру. и тогда люди бы стали чаще использовать и видно было бы какой анализатор реально работает, а от какого польза только в рекламных материалах вендора.
ну и по мелочи: языки и стеки анализируемые обычно у всех примерно одинаковый набор, а то что реально было бы вау сделать, типа крутого анализа джаваскрипта - это не  шибко спешат делать. а реально если кто сделает крутое предложение в части анализа джаваскрипта, тот был бы на коне, кажись.
а до тех пор в большинстве случаев может так получится что и не стоит платить Сто Пицот, потому что либо самоделки под свои нужды бывает проще заточить и использовать, либо бывает что и бесплатные тулзы тоже что-то находят.
Такие дела ;)

3 комментария:

  1. 2000 безопасников только в паре нацчемпионов. Обьем рынка оценить сложнее чем просто прикинув кол-во клиентов, т.к. вендоры дорабатывают софт под нужды клиента за его деньги. С ценой 500 владельцам проще закрыть бизнес и открыть ларек с шаурмой - выхлоп будет больше. Да и использовать бесплатное может далеко не каждый

    ОтветитьУдалить
    Ответы
    1. 2000 безопасников всего или именно тех, которым нужен анализатор кода? даже если их 2000, то каждому никто не будет покупать отдельную лицензию. одной на контору достаточно будет.

      тиражный софт разрабатывать более выгодно, чем заниматься заказной разработкой. доработки под нужды отдельного клиента это лишний гемор и ваще тупик. все крупные разработчики - это тиражный софт.

      Удалить
    2. 2000 безопасников только в паре нацчемпионов. Сколько всего - неизвестно

      Вопрос лицензирования управляем. Будет так как захочет вендор. Захочет будет продавать на контору, захочет - по юзерам, захочет и вовсе по процессорам.

      Не понял причем тут дихотомия тиражный софт\заказная разработка. Но среди крупнейших работодателей разработчиков Goldman Sachs, Luxoft, Wipro, которые делают заказную разработку для себя или наружу. Вызвано это в т.ч. тем что сложные бизнес-процессы заставляют доделывать "тиражный" софт на 50% и более. Цифра взята из бесед с коллегами, что занимаются SAP security в паре контор ТОП-20 экономики.

      Удалить