SuperAPI AI 工具集

insufficient-randomness-anti-pattern

安全与审计

查看项目

更新于 10-16 08:48

技能介绍

用途:这是一个安全反模式技能,聚焦“随机性不足”(CWE-330)。用于在对安全敏感的值(会话令牌、密码重置码、加密密钥等)进行生成或代码审查时,避免使用可预测的非密码学伪随机数生成器。资料指出,AI 模型常为简便而建议 Math.random() 或 Python 的 random 模块,攻击者观察到若干输出后即可预测后续值,进而伪造令牌、劫持会话或破坏加密。

主要能力:给出高危(High)定级;提供易受攻击与安全的正反代码示例,覆盖 JavaScript/Node.js、Python、Java、C#;并补充 Go 应使用 crypto/rand。检测方面,给出定位弱 PRNG 与手动播种的搜索思路(如 rg 匹配 Math.random()、random 模块、new Random()、rand/mt_rand、random.seed 等)以及审计令牌生成逻辑的方向。防护建议包括:始终使用 CSPRNG;令牌与唯一标识至少 128 位(16 字节),加密密钥使用 256 位(32 字节);绝不手动为 CSPRNG 播种。

使用方式:在编写或审查安全令牌相关代码时参照本技能的示例与检查项,替换弱随机源。资料未提供安装命令或具体调用步骤,暂未提供。

适用场景与限制:适用于会话 ID、重置令牌、API 密钥、加密密钥的生成与代码审查。资料未说明支持的编程语言全集、工具引擎细节或效果保证,暂未提供;相关引用包括 OWASP Top 10 A04:2025、OWASP GenAI LLM06:2025、API2:2023、CWE-330、CAPEC-112 等。