2011-01-05 2 views
13

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

+0

Почему бы вам не попробовать на http://security.stackexchange.com/? – AviD

+1

Есть SE системы безопасности сейчас? Иисус, как следует ожидать этого. – Anders

ответ

1

Вы попробовали Douglas Crockford's JSLint? Однако, несмотря на то, что он не сканирует ваш код на проблемы с безопасностью, он предупреждает вас об операторах «eval». OTOH, Predrag Tomasevic написал JavaScript Verifier based on JSLint, который может быть интегрирован с Visual Studio (подробнее об этом here).

1

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

Grepping for eval(), вероятно, не поможет ни на чем, кроме очень простых, очень очевидных ошибок. Будет еще сложнее проанализировать, был ли скрипт миниатюризирован или запутан, потому что вам будет сложно определить, используется ли аргумент безопасно или нет.

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

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

+0

+1 для бумаги IBM, отметьте это! – Anders

Смежные вопросы