Projectが接続して使用できる新しいコントロールサーフェスを構成するためのプラグインを管理するために、内部でPythonを使用する大規模な商用プロジェクト(別名Project)があると仮定します。
小さな情報漏えいがあり、プロジェクトのPython APIの一部が公開情報に漏えいし、プロジェクトのプラグイン読み込みメカニズムの一部として、基盤となるPython実装によって呼び出されるPythonスクリプトを作成することができました。
さらに、inspect
モジュールと生の__dict__
読み取り値を使用して、人々はProjectの基盤となるPython実装の主要部分を見つけることができました。
Pythonシークレットコードをシークレットに保つ方法はありますか?
Pythonのドキュメントをざっと見てみると、次のようにinspect
モジュールのインポートを抑制する方法が明らかになりました。
import sys
sys.modules['inspect'] = None
それは問題を完全に解決しますか?