托管代码的“安全规则”规则集
您应加入“Microsoft 安全规则”规则集,以尽可能多地报告潜在的安全问题。
规则 |
说明 |
---|---|
检查SQL查询的安全漏洞 |
|
在常规处理程序中捕捉非 CLSCompliant 异常 |
|
检查命令性安全 |
|
不要声明只读可变引用类型 |
|
数组字段不应为只读 |
|
保护断言 |
|
检查 deny 权限和 permit only 权限的使用情况 |
|
审查的声明性安全上的值类型 |
|
检查可见的事件处理程序 |
|
指针应该是不可见 |
|
有保证的类型不应公开栏 |
|
方法的安全性应该是类型的一个超集 |
|
使用本机资源时调用 GC.KeepAlive |
|
APTCA方法应该只调用APTCA方法 |
|
APTCA类型应该只延长APTCA基本类型 |
|
检查 SuppressUnmanagedCodeSecurityAttribute 用法 |
|
密封满足私有接口的方法 |
|
保护序列化构造函数 |
|
静态构造函数应为私有 |
|
不要使用链接请求间接公开方法 |
|
重写的链接请求应与基相同 |
|
裹在外层的try脆弱的finally子句 |
|
类型链接请求需要继承要求 |
|
安全关键常量应是透明的 |
|
安全关键类型可能不参与类型等价 |
|
默认构造函数必须至少与基类型默认构造函数一样关键 |
|
委托必须绑定到具有一致透明度的方法 |
|
重写基方法时,方法必须保持一致的透明度 |
|
级别 2 程序集不应包含 LinkDemand |
|
成员不应有相互冲突的透明度注释 |
|
透明方法必须只包含可验证的IL |
|
透明方法不得调用与SuppressUnmanagedCodeSecurity属性的方法 |
|
透明方法不能使用 HandleProcessCorruptingExceptions 特性 |
|
透明代码不得引用安全关键项 |
|
透明方法不得满足LinkDemands |
|
不应使用 LinkDemand 保护透明代码 |
|
透明方法不应使用安全要求 |
|
透明代码不应从字节数组加载程序集 |
|
不应使用 SuppressUnmanagedCodeSecurityAttribute 修饰透明方法 |
|
类型必须至少与其基类型和接口一样关键 |
|
透明方法不得使用安全断言 |
|
透明方法不能调用本地代码 |
|
程序集应具有有效的强名称 |