P235 · 安全与权限

不能给自己免检

Exemption authority outside the constrained unit

被检查的模块不能自行豁免针对自己的验证要求。

编辑审核

以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。

使用场景

提交的Skill缺必需验证章节,却在自身前言写exempt=true。教学验证器还有对象键constructor,若当作继承成员查询,也可能误授豁免。

具体做法

豁免由被测单元之外的可信政策拥有,列精确身份、理由、范围、负责人及复核期限。只查授权表的自有成员或显式Map,不以输入字段/原型成员作权限。政策修改走实际评审,记录版本;无豁免则应用原规则。核被测对象是否能改政策,能改就没有独立边界。

反例

输入自己写exempt就跳过章节,任何in对象键也当已批准例外。

改进写法

忽略输入自授豁免,查询验证器管理的经审精确名单。constructor/toString继承键不能命中;真实例外记录原因和授权政策版本,缺验证章节仍按规则失败,除非对应范围获批准。

为什么这样改

被约束单元自授免检会让检查失去意义。外部政策权威和精确成员查找把例外的来源与输入内容分开。

如何验证

教学自写exempt、constructor键及未列身份都不免检;表内明确身份仅豁免列出的章节。用实际策略版本核结果,测试对象能修改名单时应报告边界失效。

适用边界

把表移到另一个文件不自动建立权限,政策仓库须保护。合法例外不等于永远正确,期限与范围需复查。冻结来源给出具体名单,不是对本博客或当前任务的豁免。

原文与版本

如何收录这些方法