Есть ли механизмы, и какие могут быть подводные камни, если для создания модульного проекта с абсолютным разграничением прав доступа между модулями и доступа к объектам проекта и системы просто не подключать 'опасные' модули в коде.
Если сложно/глупо/не реально разработать виртуальную машину для разграничения прав доступа (а разделять на отдельные процессы может оказаться не выгодным, не говоря уж о проблеме ограничения доступа к системе), то…
Есть ли какие-либо механизмы по статическому анализу исходных кодов программы python, с целью выявить попытки обойти организационные ограничения (если нельзя запретить автоматически, то можно договориться с программистами, чтобы они не использовали запрещенные модули/объекты/классы) а так же опасные
встроенные функции.
Достаточно ли будет проанализировать код программы на основные лексемы и выявить выполнение динамического кода (тот же eval который далеко не безопасен). Какие инструментарии имеются на этот счет?
Достаточно ли проверить набор import в коде программы, чтобы гарантировать, что программа не сможет вызвать запрещенные методы динамически подключив модуль?
Нет ли опасности что модуль сумеет как-то получить доступ к объектам (обратиться к его методам), созданным в другом модуле, не подключенном в import, кроме как через специально предоставленный объект-прослойку.