Как запретить модулю Python вызывать другие модули?

1

В моем приложении Python я буду называть сторонние модули Python. Но эти модули должны иметь некоторые ограничения для проблем безопасности. Например, они не могут называть некоторые низкоуровневые функции ввода-вывода. Могу ли я запретить этим сторонним модулям вызывать определенные функции (модули)?

В моем понимании я могу использовать два способа:

  • Проверяйте сторонний код статически, прежде чем мы его используем. Это очень сложно сделать. Конечно, я могу использовать некоторый код, чтобы сделать это автоматически, но это небезопасно, потому что некоторые люди могут использовать некоторые трюки, чтобы избежать этого.
  • Сделайте несколько конфигураций, чтобы ошибки были подняты, если сторонний код совершил некоторые незаконные операции. Как я могу сделать это правильно? Я не могу просто удалить некоторые модули, потому что некоторые файлы могут импортировать их, а некоторые не могут.

Есть ли лучшие идеи для этого?

  • 2
    У wiki.python.org/moin/SandboxedPython есть еще несколько идей для вас, но нет конкретного ответа, который я мог бы найти.
Теги:
security

1 ответ

1

http://pypi.python.org/pypi/RestrictedPython

  • 0
    Это очень полезно. Спасибо! Как насчет производительности для RestrictedPython?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню