用途:sharp-edges 关注 API、配置与接口是否容易被开发者误用,找出“便捷路径反而导致不安全”的设计,属于安全设计与审计类技能。它强调“成功的坑”原则:安全用法应成为阻力最小的路径;若开发者必须理解密码学、细读文档或记住特殊规则才能避免漏洞,则接口设计已失败。
主要能力:识别算法/模式选择型脚枪(如 JWT 的 alg 字段被不可信输入控制、算法混淆);危险默认值(超时或生命周期为 0、空字符串、null 跳过校验);原始字节型与语义型 API 的混淆(密钥、nonce、密文同类型可互换;时序安全比较与普通比较外观相同);配置悬崖(一个布尔开关关闭安全、拼写错误被静默接受、危险组合无警告);静默失败(返回布尔而非抛出、空 catch、校验函数对畸形输入“成功”);字符串化安全(拼接 SQL/命令、逗号分隔权限、任意字符串角色)。
使用方式:按四阶段工作流——表层识别(梳理认证、授权、加密、会话、输入校验等安全相关接口与开发者选择点)、边界探测(0、空、null、负数、类型混淆、默认值、错误路径)、威胁建模(恶意者、偷懒开发者、困惑开发者三类对手)、验证发现(复现误用、确认可利用性、查文档、测缓解措施)。据严重度分级:默认或明显用法不安全为 Critical,易误配破坏安全为 High,异常但可能的误配为 Medium,需刻意误用为 Low。
适用场景:审查 API 或库的设计决策、审计配置模式的危险选项、评估密码学 API 的人机工程、检查认证/授权接口,以及任何向开发者暴露安全相关选择的代码。
限制:明确不用于实现缺陷(应走常规代码审查)、业务逻辑缺陷(用领域分析)和性能优化(不同关注点)。文档完整程度仅影响严重度判断,不能为坏设计开脱。具体命令、安装方式及价格等资料暂未提供。