CS.INFORMATION_EXPOSURE.ALL
潜在的安全信息暴露
此检查器会标记任何程序数据潜在的意外日志记录或打印到控制台。此检查器会标记使用最广泛的日志记录方法的所有调用实例,这些方法会从错误或严重错误级别报告消息。这是一个信息级别的检查器,专为不需要内部数据日志记录的应用程序设计。
可对检查器进行参数化处理。通过修改包含检查器描述的 XML 文件(位于 <install>\plugin\csharp 目录中),可以更改检查器识别的日志记录方法列表。
漏洞代码示例 1
复制
namespace Program
{
class Program
{
static int x = 10;
static void Main(string[] args)
{
Console.WriteLine("internal data X: " + x);
}
}
}
Klocwork 报告第 8 行出现 CS.INFORMATION_EXPOSURE.ALL 缺陷,这表示内部数据已传递到控制台打印方法,这可能导致意外的敏感数据暴露。
漏洞代码示例 2
复制
namespace Program
{
class Program
{
static int x = 10;
static void Main(string[] args)
{
int address = 20;
log4net.ILog log = log4net.LogManager.GetLogger("application.log");
log.Error("Application not started :"+ address);
}
}
}
Klocwork 报告第 10 行出现 CS.INFORMATION_EXPOSURE.ALL 缺陷,这表示内部数据已传递到错误级别的日志记录方法,这可能导致意外的敏感数据暴露。