Безопасно анализировать пользовательский код с помощью Ripper?
Я использую библиотеку Ruby 1.9 Ripper для анализа определенных частей исходного кода путем построения его дерева sexp. Из того, что я знаю, Ripper просто использует лексер / парсер, чтобы сделать это.
Безопасно ли запускать Ripper на предоставленном пользователем коде?
1 ответ
Решение
Поскольку он на самом деле не оценивает код, да, это безопасно.
Если вы говорите о том, чтобы взять эти s-выражения и оценить их, то, скорее всего, ответ будет следующим: не без предварительной очистки. Этот процесс очистки может быть особенно сложным, хотя.