用途:该技能面向日志注入(Log Injection,CWE-117)这一安全反模式,严重级别为中等。当生成或审查会写入日志文件、记录用户输入的代码时使用,帮助识别并防范攻击者通过未净化输入注入换行符(\n)和回车符(\r)伪造日志条目的问题。
主要能力:说明攻击者如何利用换行注入伪造日志条目,以隐藏恶意活动、误导管理员或欺骗日志分析工具;提供不安全与安全代码示例对比;给出检测与预防方法。
使用方式:检测方面,可用 ripgrep 搜索日志语句中的用户输入,例如 rg 'logging.(info|warn|error).f["']|logging.+.*request.' --type py,以及针对 JS、Java 的类似模式;识别日志中的字符串拼接;用 CRLF 注入测试串(如 username%0aINFO - Fake log entry、admin\r\nSUCCESS:)验证净化;检查是否使用结构化日志(rg 'json.dumps|JSON.stringify' | rg 'log')。预防方面:净化所有用户输入,去除或编码换行、回车及控制字符;采用 JSON 结构化日志,由库自动转义特殊字符;不记录敏感数据(密码、API 密钥、PII);限制日志条目长度以防磁盘填满型 DoS。
适用场景:涉及日志写入、用户输入记录、日志审查的代码开发与安全评审。
限制:资料未提供该技能的具体安装命令、运行环境、收费方式或平台支持信息,暂未提供。