SuperAPI AI 工具集

defense-in-depth

编程与开发

查看项目

更新于 10-16 05:53

技能介绍

用途:当无效数据在深层执行中引发故障时,采用多层校验,令该缺陷在结构上无法复现,而不是只在某一处加检查。

主要能力与四层结构:其一,入口层校验,在 API 边界拒绝明显非法输入(示例检查工作目录非空、存在且为目录);其二,业务逻辑层校验,确保数据对该操作有意义(示例要求 projectDir 非空);其三,环境守卫,阻止特定上下文中的危险操作(示例在测试环境拒绝在临时目录之外的 git init);其四,调试插桩,在操作前记录上下文(目录、cwd、堆栈)以便取证。

使用方式:发现 bug 后,先追踪数据流,找出坏值来源与使用位置;再列出数据经过的每个检查点;然后在入口、业务逻辑、环境、调试各层补上校验;最后逐层测试,尝试绕过第一层并验证后续层能捕获。文中给出空 projectDir 导致 git init 在源码目录执行的案例,四层分别加在 Project.create、WorkspaceManager、WorktreeManager 与 git init 前的堆栈日志,结果 1847 个测试全部通过且 bug 无法复现。

适用场景:修复由非法数据引发的深层失败、需要跨代码路径与模拟对象保持防护的项目。限制:多层会增加校验代码与维护成本;各层检查存在重叠;示例中的环境守卫依赖测试环境变量与临时目录判断,其他平台或上下文是否适用暂未提供。