Простой ответ: вы не можете делать это программно. Просто невозможно сделать. Конечно, Wordpress имеет валидатор какого-то рода, чтобы определить, является ли плагин абсолютно противным, но нет никакого способа сказать наверняка, что он безопасен.
Я стажер в Mozilla этим летом, и я работаю над валидатором, который сканирует надстройки, поскольку они представлены в addons.mozilla.org. Я могу только представить, что Wordpress имеет очень похожий инструмент на их конце. Идея заключается в том, что приложение прямо отвергает вопиющий вредоносный код (eval("evil nasty code");
), а остальная часть анализируется с помощью некоторых простых эвристик. Используемые алгоритмы отмечают некоторые потенциальные красные флаги на основе того, что он видит в дополнительном пакете, и отправляют эти заметки редакторам, которые затем просматривают код. Это эффективно заканчивается тем, что это процесс, основанный на человеке, но программное обеспечение помогает позаботиться о большой тяжелой работе.
Некоторые методы, которые использует валидатор Mozilla:
- Синтаксис проверки
- кода и разметки разборе (HTML/CSS), чтобы найти удаленный код уязвимости
- Javascript синтаксического анализа и анализа (разбора JS Ань AST и проанализировать каждое утверждение, как можно более глубокое оценивание статических выражений)
- Совместимость/испытания на устаревание
Вы можете проверить код здесь:
http://github.com/mattbasta/amo-validator
Надеется, что это помогает!
РНР команда попросила Linux распределение продавцов лет назад, чтобы прекратить называть «интерпретатор аварии ошибки» проблемы безопасности, поскольку PHP-скрипты могут сделать все и вся система управления доступом к операционной системе позволяет это делать. (Они также спрашивали то же самое для всех «перерывов» safe_mode.) Независимо от того, какие скрипты вы используете, есть полный доступ ко всему, что имеет владелец процесса, и это по дизайну. Выполняйте только код, которому вы доверяете. – sarnold