![]()
一个33KB的命令行工具,能在3秒内给代码库打出87分的健康评分——而在此之前,你的POST接口可能连身份验证都没做。
这是开发者Scuton Technology发布的codediag,专治那些"代码审查时才发现的低级错误"。他统计过自己经手的每个NestJS项目:POST端点漏装身份验证守卫、API密钥硬编码进源码、.env文件不在.gitignore里、零测试、零Swagger文档——这些问题重复到让他怀疑人生。
5个扫描器,把"人肉审查"变成自动化流水线
codediag的核心是一行命令:npx codediag scan .。它会自动识别技术栈,然后启动5个分析器并行工作。
![]()
API健康扫描器盯着端点细节:有没有@UseGuards()装饰器?@Body()参数是否绑定了DTO类?@ApiOperation()和@ApiResponse()有没有写?返回类型有没有显式注解?这些正是Swagger文档和运行时类型安全的命门。
安全扫描器的权重最高(30%),因为它要抓的是"最昂贵的bug"。硬编码的API密钥、Stripe密钥、AWS凭证、GitHub令牌——全部标红。.env是否在.gitignore里、有没有装Helmet中间件、CORS是否配成了通配符origin: '*'、限流包装了没、密码哈希库在不在依赖里——每条都是生产事故的常见剧本。
依赖扫描器跑npm audit,检查锁文件是否存在、有没有废弃包、引擎版本声明、关键脚本配置。测试扫描器数测试文件、算测试源码比、找E2E目录、查覆盖率阈值。结构扫描器则看README质量、ESLint/Biome配置、Prettier配置、TypeScript严格模式、模块组织、.env.example是否存在。
加权评分:安全漏洞一票否决
![]()
5个维度最终汇总成一个字母等级。权重分配很直白:API健康25%、安全30%、依赖20%、测试15%、结构10%。安全拿最高权重,因为"部署有漏洞的代码是最糟糕的bug"——这是工具作者的原话。
CI/CD集成只需一行YAML:run: npx codediag scan . --ci --threshold 80。分数低于阈值直接退出码1,流水线阻断。相当于给代码库装了个自动刹车。
目前工具只支持NestJS+TypeScript+Prisma的组合,但路线图已经公开:Next.js分析器、Express路由分析器、Web仪表盘看趋势、AI自动修复建议、VS Code插件——本质上想从"诊断"走向"治疗"。
开源、零配置、MIT协议
工具本身33KB,无需配置文件。GitHub仓库和npm包都已公开,作者在最后留了话:想加什么检查规则,评论或提issue。
这工具解决的不是技术难题,是"知道该做但老是漏掉"的执行漏洞。就像你明知该锁门,但总得有个 checklist 帮你确认。现在的问题是:你的代码库,敢不敢跑一遍这个扫描?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.