代码审计必要性探讨

1、背景

为了保证代码的质量,需要一系列的流程来进行保证:

今天要探讨的是代码审计的必要性。

2、代码审计

代码审计的做法多种多样,我理解必须解决以下问题 ,才可能有效:

  • 核心:审计的本质是对比,必须用一个数据与一个预期的数据进行比对
  • 稳定:审计程序需要稳定,不能经常变更。经常变更带来的是审计程序自身的bug。
  • 简单:审计程序应该尽量简单,不应该比业务逻辑还复杂。否则,靠什么保证审计程序的正确性呢?

下面对比下代码审计的几种方式:

|--------------------------------------------------------|------------------------|---------------------------------------------------------------------------------------------------------------------------|
| 方案 | 优点 | 缺点 |
| 明细数据与汇总数据的对比:比如有一张表是明细数据,一张是定期汇总后的数据,为了保证数据的正确性,定期进行审计 | 1、对比的双方非常明确 2、审计程序简单易懂 | 字段的变化会引起审计程序的不稳定 |
| 审计请求参数的正确性:参数数量、必填、正确性 | | 1、对比双方不清晰,因为请求参数可能来源于多张表,而且经过处理之后的数据,无法直接获取到。 2、基本上是每个请求的审计都需要单独写,请求发生改变就要同步调整 3、审计程序,与业务实现逻辑基本类似 4、如何保证审计程序的正确性、及时性是个难题。 |

方案1能起到一定的审计作用。

方案2难度较大,收益不明显,不如把该环节前移到单元测试阶段执行。

相关推荐
小二·7 天前
Go 语言系统编程与云原生开发实战(第18篇)
云原生·golang·log4j
cm_chenmin8 天前
Cursor最佳实践之二:提问技巧
数据库·log4j
♡喜欢做梦8 天前
Spring Boot 日志实战:级别、持久化与 SLF4J 配置全指南
java·spring boot·后端·spring·java-ee·log4j
菩提小狗10 天前
第17天:信息打点-语言框架&开发组件&FastJson&Shiro&Log4j_笔记|小迪安全2023-2024|web安全|渗透测试|
笔记·安全·log4j
清水白石00810 天前
测试金字塔实战:单元测试、集成测试与E2E测试的边界与平衡
python·单元测试·log4j·集成测试
七夜zippoe12 天前
集成测试实战:构建可靠的测试金字塔体系
python·log4j·e2e·fastapi·持续集成·flask api
亓才孓13 天前
[SpringBoot]@SpringBootTest标签作用
java·spring boot·log4j
介一安全14 天前
BurpSuite 插件 Log4j2Scan 使用和手动验证
测试工具·log4j·安全性测试
廋到被风吹走16 天前
SOLID原则深度解析:面向对象设计的五大基石
java·log4j
xEurCjvwu16 天前
DSP28335锁相环程序,STM32F407锁相环程序 锁住正弦波,输出相位可调的方波和sp...
log4j