Безопасно анализировать пользовательский код с помощью Ripper?

Я использую библиотеку Ruby 1.9 Ripper для анализа определенных частей исходного кода путем построения его дерева sexp. Из того, что я знаю, Ripper просто использует лексер / парсер, чтобы сделать это.

Безопасно ли запускать Ripper на предоставленном пользователем коде?

1 ответ

Решение

Поскольку он на самом деле не оценивает код, да, это безопасно.

Если вы говорите о том, чтобы взять эти s-выражения и оценить их, то, скорее всего, ответ будет следующим: не без предварительной очистки. Этот процесс очистки может быть особенно сложным, хотя.

Другие вопросы по тегам