6

我正在使用 VSTS 2008 + .Net 2.0 + C#。我在构建后运行代码分析。我收到以下令人困惑的安全警告。这是警告和相关代码,任何想法有什么问题吗?如果有安全警告,如何解决?

System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = "IExplore.exe";
myProcess.StartInfo.Arguments = @"default.html";
myProcess.StartInfo.Verb = "runas";
myProcess.Start();

警告:CA2122:Microsoft.Security:“TestHtml()”调用具有 LinkDemand 的“Process.Start()”。通过进行此调用,“Process.Start()”间接暴露给用户代码。查看以下可能公开绕过安全保护的方法的调用堆栈:

4

2 回答 2

11

您的方法调用 Foo 调用 Process.Start ,该 Process.Start 受完全信任的链接需求保护。为了避免 FxCop 警告您的问题,您应该为您的方法添加相同权限的链接请求或完整请求。

您可以通过添加到您的方法来修复它

[PermissionSetAttribute(SecurityAction.LinkDemand, Name="FullTrust")]

请参阅http://msdn.microsoft.com/en-us/library/970x52db.aspx

于 2009-07-18T10:45:11.510 回答
1

有关安全警告CA2122 的更多信息 - 不要间接暴露具有链接需求的方法

于 2009-07-18T10:56:18.120 回答