Я обнаружил, что изучаю некоторые неясные части github и нахожу некоторые настоящие гемы, написанные на R. Однако, учитывая, что некоторые пакеты имеют нулевую проверку (в отличие от CRAN), мне немного неудобно устанавливать и использовать их (т.е. devtools::install_github("user/repo")
)
Одним из способов решения этой проблемы может быть написание функции, которая читает пакет R в виде текста и помечает все подозрительные. Очень грубая версия выглядит так:
Например,
flag_sus <- function(r_file) {
file <- readLines(r_file)
flag <- file %>% str_detect("system")
if(length(flag) > 0) { print("Contains suspicious code") }
}
Но мне интересно, есть ли (намного) лучший способ?
Примечание
- Одним из быстрых способов снижения риска является использование CRAN-версии пакета, где это возможно, но, очевидно, это не всегда полезно (так как многие пакеты существуют только вне CRAN)