仅在找到环境变量时加载不受信任的Visual Studio扩展

时间:2014-10-02 13:42:20

标签: .net visual-studio security visual-studio-extensions vsix

场景:锁定(即非管理员用户无法修改)Visual Studio 2013(可以是从Shell到Ultimate的任何版本)安装应 有条件地 加载不可信(所有用户可写)VS扩展(PTVS)。

VS2013构建于.NET 4.5.1之上,并具有相应的devenv.exe.config和安全模型。 PTVS扩展主要是C#.NET DLL。

我的初步想法 - 关于如何实施/是否可能/潜在问题的任何意见:

  • 仅在Visual Studio找到特定环境变量时才加载不受信任的扩展名

    • 检查理想情况下是“轻量级”,例如某种devenv.exe.config条件,

    • 或许某种方式将受信任/检查VSIX“链接”到不受信任的扩展名。

建议正在加载的扩展名aborts sans变量没有帮助 - 重点是该扩展名不受信任。

(任何其他易于控制的环境标志的方式在注销/登录时都不会持久 - 同样可以接受 - 例如我可以寻找一个我知道只在不受信任的情况下运行的过程 - 无论如何看起来更难)。

对于好奇:

  • 如果变量的设置,Visual Studio以不安全的方式启动(通过可写的cmd.exe脚本),因此加载不安全的扩展名没有额外的伤害 - 只是试图保护那些甚至不属于不可信的“生态系统”(可以这么说),但对Visual Studio使用相同的物理机器。

0 个答案:

没有答案