Какие слова в черный список (и почему) в песочной песочнице - PullRequest
0 голосов
/ 26 июня 2019

У меня простой вопрос, но потенциально широкий спектр возможных ответов.( Если это сообщение считается не по теме, я перенесу его на другой сайт )

Прежде всего, предположим, что у меня есть приложение kivy sandbox (mobile), созданное на python.Это означает, что я разрешаю пользователям запускать свой собственный код KIVY, но ограниченный базовыми элементами дизайна.

Чтобы ограничить функциональность и, следовательно, предотвратить вредоносный код, я использую черный список (ключевых) слов.Затем при рендеринге предоставленного пользователем кода со словами из черного списка в их приложении-песочнице появляется всплывающее окно, уведомляющее пользователя о том, что он не может использовать эти конкретные слова (и тогда приложение, разумеется, не выполнит их код).

Однако я могу себе представить, что всегда будут лазейки для использования.И как таковой, у меня есть вопрос, состоящий из двух частей, который меня интересует.

Прежде всего: В какой степени меня это вообще волнует ??

Я имею в видуЭто мобильное приложение без каких-либо удаленных взаимодействий (например, с сервером).Существует ли какая-либо опасность для кого-либо, кроме самого пользователя, причинить какой-либо вред / непреднамеренное поведение?Больше всего я могу подумать о том, чтобы прочитать путь к приложению или, возможно, кое-что об информации об устройстве разработчика, если они даже могут что-то сделать с этим ... В противном случае, если они хотят аварийно завершить работу, или пропатчить свои локально установленные версии этого приложения.(только из запущенного экземпляра), тогда я думаю, что они могут и могут сделать это, но мне все равно, верно?

Но даже тогда у меня есть некоторый тип безопасности вминимум , на всякий случай: а именно следующий черный список на данный момент, как я упоминал ранее:

import
print
exec
globals
stdin
stdout
stderr
reload
exit
clear_widgets
remove_widget

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

Итак, мой второй вопрос: Является ли это несколько полным списком того, что меня должно волновать (если я вообще должен это делать)?И если нет, что еще я должен включить?(основываясь на моем первом вопросе)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...