我正在构建一个程序,我打算提供一个API,允许其他开发人员构建.dll库,这些库放在我的程序可以在运行时找到并导入它们的文件夹中。我找到文件并使用Assembly.load()加载它们,然后使用Assembly.GetExportedTypes()查找实现特定接口的类。
此代码运行正常,但坦率地说我对开发人员可能导入的内容有些担忧,特别是关于从代码运行可执行文件,尝试访问或删除程序文件夹结构之外的系统上的文件等操作,甚至可能甚至建立某种网络连接并向前传递数据。
我理解在允许这种功能时我必须接受一定程度的风险,但是我还能做些什么来加强程序的恶意活动,同时仍允许导入外部库以实现可扩展性?