SuperAPI AI 工具集

network-security-check

安全与审计

查看项目

更新于 10-17 16:19

技能介绍

用途 network-security-check 是一个移动应用安全审计技能,专注于网络通信安全。它以移动应用安全专家角色,对照 OWASP MASVS-NETWORK 控制项和 MASTG 测试,审计目标应用的代码库。审计对象通过参数 $ARGUMENTS 指定路径;若未提供路径,则审计当前工作目录。

主要能力 技能围绕两项 MASVS 控制项展开:MASVS-NETWORK-1 要求应用保护所有网络流量,验证通信使用正确配置的 TLS、不允许明文流量、且未禁用证书校验;MASVS-NETWORK-2 要求应用执行身份固定,评估在开发者可控端点实施证书或公钥固定是否合适,并在用于高风险流量时验证其实现。

审计步骤

  1. 网络配置分析。Android 侧检查 res/xml/network_security_config.xml 中的 cleartextTrafficPermitted 是否为 false、trust-anchors 是否在生产环境排除用户安装的 CA、pin-set 是否含备用固定与过期日期、domain-config 是否存在削弱安全的按域覆盖;检查 AndroidManifest.xml 中的 usesCleartextTraffic 与 networkSecurityConfig;搜索 OkHttp 的 CertificatePinner、ConnectionSpec、TlsVersion,Retrofit/Volley 的 base URL 是否使用 https://,WebView 的 setMixedContentMode,以及空实现的 X509TrustManager 和恒返回 true 的 HostnameVerifier。iOS 侧检查 Info.plist 中的 App Transport Security 配置,如 NSAllowsArbitraryLoads、NSExceptionDomains、NSAllowsArbitraryLoadsInWebContent、NSExceptionAllowsInsecureHTTPLoads;检查 URLSessionDelegate 的 didReceiveChallenge 实现,标记未正确校验的 useCredential 与忽略 SecTrustEvaluateWithError 结果的情况;检查 TrustKit/Alamofire 的 SSL 固定配置与 SecTrustSetAnchorCertificates 等。
  2. 明文流量检测。搜索源码、配置与资源中的非 localhost 的 http:// URL、未加 TLS 的 Socket 连接、未加密的自定义协议实现,以及 ws:// 连接(应为 wss://)。
  3. 证书校验绕过检测。列出自动判定失败的关键模式,如 Android 空 checkServerTrusted 方法体、无条件返回 true 的 HostnameVerifier、使用 TrustAllCerts 的 SSLSocketFactory、iOS 委托接受所有挑战而不校验、忽略 SecTrustEvaluateWithError 结果、@SuppressLint("TrustAllX509TrustManager") 注解等。静态审查不确定时,建议用 Frida 或 r2frida 进行动态验证,观察信任决策路径并确认生产构建中固定或证书校验是否可被绕过。
  4. 证书固定评估。先根据应用风险画像与运营模式判断固定是否适用,再检查第一方 API 域名的固定、备用固定与轮换策略、过期或续期处理、所有相关网络库的覆盖情况,以及生产构建中是否可通过调试或代理专用配置轻易绕过。
  5. MASTG 测试映射。将发现映射到 MASTG-TEST-0019、0020、0021、0022、0065、0066、0068、0217、0233 等测试用例。

输出格式 生成结构化报告,包含网络架构概览(发现的端点与协议)、TLS 配置评估、发现项(严重性、MASVS 控制项、MASTG 测试 ID、file:line、代码片段、修复建议)、证书固定状态(按域覆盖)、明文流量清单、合规总结(MASVS-NETWORK-1 与 NETWORK-2 的通过/失败)。

适用场景与限制 适用于 Android 与 iOS 移动应用的网络通信安全静态审计,以及结合 Frida/r2frida 的运行时验证。技能本身以审计流程提示词形式提供,未说明独立的命令行安装方式、收费模式或自动化程度;动态验证工具需用户自行具备。具体平台支持、运行环境与使用限制以来源页面为准,资料未提供部分暂未说明。