SuperAPI AI 工具集

crypto-review

安全与审计

查看项目

更新于 10-17 16:19

技能介绍

用途

crypto-review 是一个移动应用安全审计技能,专注于审查移动应用的加密实现。它以 OWASP MASVS-CRYPTO 控制项和 MASTG 测试用例为依据,对指定代码库进行系统化审计,目标是发现弱加密算法、不当密钥管理、不安全随机数以及硬编码密钥等问题。

审计目标与输入

审计对象通过参数传入:执行时指定代码库路径($ARGUMENTS);若未提供路径,则审计当前工作目录。

主要能力

1. 加密使用识别

在代码库中搜索全部加密相关操作,包括:加解密操作、哈希与消息摘要、数字签名、密钥生成与交换、随机数生成、证书操作。

2. 算法与配置分析

将以下情况标记为 CRITICAL:

  • 对称加密:DES、3DES、RC4、RC2、Blowfish,以及任何密码算法的 ECB 模式
  • 非对称加密:RSA 小于 2048 位、DSA 小于 2048 位
  • 哈希:MD5、SHA-1(用于安全目的)、MD4、MD2
  • 密钥派生:PBKDF2 迭代次数低于 600,000(OWASP 2023 建议)、基于纯 SHA 的 KDF
  • 随机数:java.util.Random、Math.random()、rand()、srand() 等非密码学安全实现

同时核对可接受算法的正确用法:

  • 对称:AES-128/256 配 GCM 或 CBC+HMAC、ChaCha20-Poly1305
  • 非对称:RSA 不低于 2048 位配 OAEP、ECDSA/ECDH 配 P-256 或更高
  • 哈希:SHA-256、SHA-384、SHA-512、SHA-3、BLAKE2
  • 密钥派生:Argon2id、scrypt、PBKDF2(不低于 600,000 次迭代,使用 SHA-256)
  • 随机数:SecureRandom(Java/Kotlin)、SecRandomCopyBytes(iOS)、/dev/urandom

3. 平台专项检查

Android 侧:搜索 Cipher.getInstance、MessageDigest.getInstance、KeyGenerator、KeyPairGenerator;核对 AndroidKeyStore 提供程序用于密钥存储;检查 KeyGenParameterSpec 配置(密钥长度、块模式、填充、用户认证要求);搜索传入 SecretKeySpec、IvParameterSpec 的硬编码密钥字符串;核对 IV 是否由 SecureRandom 生成且未在同一密钥下重复使用;检查是否使用 Jetpack Security 的 EncryptedSharedPreferences 或 EncryptedFile。

iOS 侧:搜索 CCCrypt、SecKey、kSecAttrKeyType、CommonCrypto 使用;核对 Keychain 存储是否使用 kSecAttrAccessibleWhenUnlockedThisDeviceOnly 或更严格级别;检查 CryptoKit 用法(AES.GCM、ChaChaPoly、P256、Curve25519);搜索源码、plist 或打包文件中的硬编码密钥;核对随机数是否使用 SecRandomCopyBytes;检查证书处理是否使用 SecTrust API。

4. 硬编码密钥检测

重点搜索源码中的 API 密钥、加密密钥、私钥;配置文件、plist、构建配置、gradle 文件中的密钥;可能为密钥的 Base64 编码字符串;密钥长度特征(16、24、32、48、64 字节)的十六进制字符串;带硬编码默认值的环境变量回退。

5. MASTG 测试映射

将发现项映射至对应测试:MASTG-TEST-0013(Android 对称加密)、MASTG-TEST-0014(Android 随机数生成)、MASTG-TEST-0015(Android 密钥管理)、MASTG-TEST-0061(iOS 对称加密)、MASTG-TEST-0062(iOS 随机数生成)、MASTG-TEST-0063(iOS 密钥管理)、MASTG-TEST-0208(弱加密算法使用)、MASTG-TEST-0212(代码中硬编码加密密钥)、MASTG-TEST-0221(不安全随机 API 使用)。

使用方式

调用该技能并传入待审计代码库路径;未传路径时自动审计当前工作目录。审计按“识别加密使用 → 算法与配置分析 → 平台专项检查 → 硬编码密钥检测 → MASTG 映射”的顺序执行,最终生成报告。

输出内容

结构化报告包含:执行摘要(加密整体态势评估)、加密资产清单(所有加密操作的算法、模式、密钥长度、位置表格)、发现项(每项含严重程度、对应 MASVS 控制项、MASTG 测试 ID、文件与行号、代码片段、修复建议)、密钥管理评估(密钥的生成、存储、轮换与销毁方式)、合规结论(MASVS-CRYPTO-1 与 MASVS-CRYPTO-2 的通过/未通过判定)。

适用场景

适用于移动应用安全审计、加密相关代码评审、MASVS/MASTG 合规检查,以及发布前的移动端密码学实现核查。

限制

该技能聚焦静态代码审查,资料未说明其包含动态运行时测试、自动化修复或对非 Android/iOS 平台的支持;具体检出效果取决于代码库内容与调用参数,资料暂未提供性能或准确率数据。