SuperAPI AI 工具集

detecting-weak-cryptography

安全与审计

查看项目

更新于 10-15 23:25

技能介绍

用途:在本地源码树中扫描弱加密与不安全随机数,覆盖 CWE-327、CWE-330、CWE-329、CWE-295、CWE-321、CWE-916 等。常见触发点包括 hashlib.md5、MessageDigest.MD5、CryptoJS.MD5、hashlib.sha1、DESCrypto、DESede、ARC4/RC4、AES/ECB 或 MODE_ECB、源码中的 IV 字面量、按字节 XOR 循环、用 Math.random/java.util.Random/random.random 生成密钥、verify=False 或 rejectUnauthorized:false,以及无盐无 KDF 的密码哈希。

严重级别:DES/3DES、RC4、AES ECB、硬编码 IV、XOR 加密、可预测随机数、关闭 TLS 校验、不安全密码哈希标为 CRITICAL;MD5、SHA-1 安全用途与硬编码 HMAC 密钥标为 HIGH。HIGH 项需结合上下文确认是否可容忍。

用法:需 Python 3.9+ 与本地源码树,运行 python3 ${CLAUDE_PLUGIN_ROOT}/skills/detecting-weak-cryptography/scripts/scan_weak_crypto.py /path/to/repo。可用参数有 --output、--format、--min-severity、--include-tests、--languages、--allow-md5-checksums(排除内容寻址等非安全 MD5)。输出支持 JSON、JSONL、Markdown,退出码为 0/1/2。可接入合并前门禁或 CI,例如 --min-severity high 配合变更文件列表。

修复方向:哈希用 SHA-256/SHA-3,加密用 AES-256-GCM,签名用 HMAC-SHA-256,密钥使用加密级随机源,密码存储用 bcrypt/argon2id;具体逐项迁移见 references/PLAYBOOK.md,攻击模型见 references/THEORY.md。

限制:误报常见于内容寻址 MD5 和 TLS 会话内的 HMAC-MD5,需人工确认算法的失败模式(碰撞、原像等)在具体上下文中是否真正可利用。除上述内容外,其余细节暂未提供。