Какой лучший инструмент для аудита безопасности Javascript? - PullRequest
13 голосов
/ 05 января 2011

Что-то, что может, по крайней мере, сканировать пакет файлов .js в поисках операторов eval и другого сомнительного кода.Может быть, просто шаблон регулярных выражений сделает это, но я бы хотел найти более сложный (и регулярно поддерживаемый) инструмент.

Ответы [ 4 ]

3 голосов
/ 20 марта 2015

старая тема, но новый инструмент: ScanJS, разработанный mozilla для проверки безопасности ОС Firefox. https://github.com/mozilla/scanjs

1 голос
/ 11 января 2011

Мне неизвестны какие-либо инструменты с открытым исходным кодом, которые проводят статический анализ JavaScript.

Поиск в eval (), вероятно, не поможет ни с чем, кроме очень простых, очень очевидных ошибок.Еще сложнее будет проанализировать, был ли сценарий минимизирован или запутан, потому что вам будет сложно определить, используется ли аргумент безопасно или нет.

Существует множество проблем безопасности вJavaScript, основанный на взаимодействии с DOM.Обработка для eval () может работать, но она пропустит другие точки выполнения, такие как hrefs или обработчики событий, которые могут быть атакованы, например href = javascript: xss или onFoo = xss .Вам действительно нужен инструмент, который работает с JavaScript и DOM, а не просто консоль JavaScript.

IBM / Watchfire недавно выпустила статью о JavaScript-анализаторе , который они создали.В документе приводятся подробности о результатах, а не о реализации.Возможно, коммерческий инструмент - это не то, что вам нужно, но этот документ должен помочь пролить свет на проблемы, связанные с успешным выполнением этой задачи.

1 голос
/ 06 января 2011

Вы пробовали JSLint Дугласа Крокфорда ? Хотя он не сканирует ваш код на наличие проблем с безопасностью, он предупреждает вас о «eval» утверждениях. OTOH, Предраг Томашевич написал JavaScript Verifier на основе JSLint , который можно интегрировать с Visual Studio (подробнее об этом здесь ).

0 голосов
/ 24 января 2012

Этот инструмент из Facebook кажется многообещающим.

https://github.com/facebook/jsgrep

...