返回

门神:转转的前端代码校验利器

前端

每逢新春佳节,家家户户都会按照习俗,在门上贴上凶神恶煞的门神,希望能驱邪避灾,保护家人平安。而转转FE团队,也在农历新年前,正式上线了门神系统——一个在编译&部署环节可以通过静态扫描,发现并拦截含有不安全代码的项目上线的系统,保护线上项目稳定运行。

转转门神系统立足于前端工程化场景,提供了一套完整的解决方案,赋能前端同学高效、自动化地完成代码安全检查。通过一系列规则配置和自动化检测,门神系统帮助我们降低了代码安全风险,提升了代码质量,为转转的线上业务保驾护航。

门神系统的由来和目标

随着转转业务的快速发展,前端项目数量激增,代码体量急剧增加。在这种情况下,传统的人工代码审查已经无法满足需求,而且人工审查容易遗漏问题,效率也较低。为了解决这些问题,转转FE团队决定开发一套自动化代码校验系统,这就是门神系统的由来。

门神系统的目标是:

  • 提升代码质量: 通过静态扫描,发现并拦截含有不安全代码的项目上线,保障线上项目稳定运行。
  • 提高开发效率: 自动化代码校验,解放前端同学双手,提升开发效率。
  • 降低安全风险: 通过一系列安全规则配置,降低代码安全风险,防范黑客攻击。

门神系统的实现

门神系统是一个基于开源工具eslint和stylelint开发的代码校验系统,主要包括以下几个部分:

  • 规则配置: 门神系统提供了丰富的安全规则配置,涵盖了常见的安全漏洞,如XSS攻击、CSRF攻击、SQL注入等。
  • 自动化检测: 门神系统集成到了转转的CI/CD流水线中,在编译&部署环节会自动触发代码校验。
  • 拦截机制: 如果发现含有不安全代码的项目,门神系统会拦截其上线,并向相关人员发送告警。

门神系统的优势

与传统的人工代码审查相比,门神系统具有以下优势:

  • 自动化程度高: 自动化代码校验,解放前端同学双手,提升开发效率。
  • 规则配置丰富: 提供了丰富的安全规则配置,覆盖了常见的安全漏洞,降低代码安全风险。
  • 拦截机制完善: 如果发现含有不安全代码的项目,门神系统会拦截其上线,并向相关人员发送告警。
  • 可扩展性强: 门神系统基于开源工具eslint和stylelint开发,可扩展性强,可以根据需要添加新的规则配置。

门神系统的使用

前端同学在开发过程中,可以通过以下步骤使用门神系统:

  1. 在项目中安装eslint和stylelint。
  2. 配置.eslintrc和.stylelintrc文件。
  3. 在CI/CD流水线中配置门神系统。

门神系统的未来规划

未来,转转FE团队将继续完善门神系统,增加更多的安全规则配置,提升代码校验的准确性。同时,还将探索将门神系统与其他工具集成,形成更加完整的代码安全解决方案。

转转门神系统,作为转转前端工程化建设的重要组成部分,为转转的线上业务保驾护航。通过自动化代码校验,门神系统有效地降低了代码安全风险,提升了代码质量,解放了前端同学双手,提升了开发效率。未来,转转FE团队将继续完善门神系统,为转转的前端开发保驾护航。