В рамках проекта ScanJS [4] разработчики из сообщества Mozilla развивают инструментарий статического анализа кода для языка JavaScript. Разработка позволяет упростить рецензирование безопасности кода и даёт возможность на стороне сервера выявлять потенциальные уязвимости в web-приложениях, предназначенных для выполнения в браузере на стороне клиента. Код ScanJS написан на языке JavaScript, запускается под управлением node.js и распространяется под свободной лицензией MPL.
Поддерживается как использование в форме утилиты командной строки, так и развёртывание специализированного web-сервиса. Для преобразования исследуемого JavaScript-кода в AST-представление (Абстрактное синтаксическое дерево [5]) применяется парсер Acorn [6]. Правила, описывающие возможные аномалии в коде, оформляются [7] в формате JSON. Для оценки работы ScanJS запущен [8] демонстрационный сервис проверки.
Кроме того, разработчики Mozilla представили [9] инициативу Winter Of Security 2014 [10], в рамках которой, по аналогии с Google Summer of Code, студентам предлагается принять участие в разработке 11 применяемых в Mozilla инструментов автоматизации проверки безопасности. Кроме ScanJS, в программу вовлечены такие инструменты, как ZAP, Plug’n’Hack, Minion, Zest [11], MIG [12] (Mozilla InvestiGator), Mozdef [13] и Cipherscan [14]. Заявки от студентов будут приниматься [15] до 15 июля. В середине августа будут объявлены выбранные участники проекта, на выполнение задания которым отводится 8 месяцев, с сентября по апрель.
Ссылки:
[1] http://htfl.ru/cat-news-javascript
[2] http://htfl.ru/cat-news-mozilla
[3] http://htfl.ru/cat-news-novosti
[4] /out.php?link=https://github.com/mozilla/scanjs
[5] /out.php?link=http://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D0%BE%D0%B5_%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE
[6] /out.php?link=http://marijnhaverbeke.nl/acorn/
[7] /out.php?link=https://github.com/mozilla/scanjs/blob/master/common/
[8] /out.php?link=http://mozilla.github.io/scanjs/client/
[9] /out.php?link=https://blog.mozilla.org/security/2014/05/15/introducing-mozilla-winter-of-security-2014/
[10] /out.php?link=https://wiki.mozilla.org/Security/Automation/WinterOfSecurity2014
[11] /out.php?link=https://developer.mozilla.org/en-US/docs/zest
[12] /out.php?link=https://github.com/mozilla/mig/
[13] /out.php?link=https://github.com/jeffbryner/MozDef
[14] /out.php?link=https://github.com/jvehent/cipherscan
[15] /out.php?link=https://docs.google.com/a/mozilla.com/forms/d/18T4mpv_cbV3_5Y0Ix4xM5XDKuw-RfuKuq84RDsJT_5c/viewform