用途:在需要对 Kotlin 代码执行 SAST 扫描或安全审查时使用本技能,借助 detekt 进行静态分析并输出安全相关发现。
主要能力:检测硬编码密钥、不安全加密以及影响安全的代码质量问题。重点安全相关规则包括 TooGenericExceptionCaught(捕获泛型异常会掩盖安全错误)、SwallowedException(被吞掉的异常可能隐藏安全失败)、PrintStackTrace(堆栈跟踪可能泄露敏感信息)、ThrowingExceptionsWithoutMessageOrCause(安全相关错误缺少上下文)、MagicNumber(硬编码值,可能包含端口、密钥)、MaxLineLength / ComplexMethod(复杂代码更难进行安全审计)。
使用方式:前置条件是已安装 detekt(Gradle 插件或独立 CLI),可用 detekt --version 验证,或检查 Gradle 任务 ./gradlew detekt。先确定 Kotlin 源码目录,再运行扫描。独立 CLI:detekt --input <src-path> --report json:detekt-results.json;Gradle:./gradlew detekt;自定义配置:detekt --input <src> --config detekt-config.yml --report json:results.json。随后解析 JSON 输出,按严重级别、规则、规则集、文件:行号、发现与修复建议整理结果,并汇总各严重级别问题总数,优先呈现安全相关发现及修复方案。
适用场景:Kotlin 项目的安全审查与静态分析。
限制:需预先安装 detekt;资料未提供具体版本要求、规则配置细节或误报处理方式。提示:如需更深入的 Kotlin 安全分析,可将 detekt 与 Semgrep(--config=p/kotlin)结合使用。