mcpField
O
owasp-mobile-security-checker

owasp-mobile-security-checker

github.com/harishwarrior安全66471 次安装15 周前更新
代码仓库

关于 owasp-mobile-security-checker

面向 Flutter 移动应用的安全审查技能,依据 OWASP Mobile Top 10(2024)检查风险。它结合四种自动扫描器与针对其余类别的人工审查参考资料。

主要功能

  1. 01扫描硬编码密钥与凭据
  2. 02检查依赖版本及已知 CVE
  3. 03检查网络通信安全
  4. 04分析敏感数据存储
  5. 05提供人工审查与修复参考

适用场景

  1. 01发布前审查 Flutter 应用安全
  2. 02在提交前检查源码中的密钥
  3. 03拉取请求中运行自动安全扫描

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/harishwarrior/flutter-claude-skills --skill owasp-mobile-security-checker

安装后在 Claude Code 中输入/owasp-mobile-security-checker确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
owasp_mobile_top_10_2024.md
scripts/
analyze_storage_security.py
check_dependencies.py
check_network_security.py
scan_hardcoded_secrets.py

详细介绍

OWASP 移动安全检查器

要求

  • Python 3.7+
  • Flutter/Dart 项目,包含 pubspec.yaml
  • Android 和/或 iOS 目标平台
  • 从项目根目录运行脚本

基于 OWASP Mobile Top 10 (2024),对 Flutter 和移动应用进行全面的安全分析。

自动化扫描器

四个 Python 扫描器覆盖了最适合自动化检查的风险类别。将 <skill-dir> 替换为技能的安装路径(例如 ~/.claude/skills/owasp-mobile-security-checker):

M1 — 硬编码机密
python3 <skill-dir>/scripts/scan_hardcoded_secrets.py /path/to/project

检测 Dart 代码和配置文件中的 API 密钥、令牌、密码、AWS 凭据和 Firebase 密钥。

M2 — 依赖项漏洞
python3 <skill-dir>/scripts/check_dependencies.py /path/to/project

分析 pubspec.yaml 中过时的软件包、any 版本约束和已知 CVE。

M5 — 网络安全
python3 <skill-dir>/scripts/check_network_security.py /path/to/project

检查 HTTP 与 HTTPS 的使用、证书固定、Android Network Security Config 和 iOS ATS 设置。

M9 — 不安全存储
python3 <skill-dir>/scripts/analyze_storage_security.py /path/to/project

识别未加密的 SharedPreferences、明文文件存储、未加密的数据库和不安全的备份配置。

手动分析

M3、M4、M6、M7、M8 和 M10 需要代码审查。请参阅 references/owasp_mobile_top_10_2024.md,了解每个类别的 Flutter 特定漏洞模式、攻击流程和修复方法。

工作流

Is this a comprehensive audit?
├─ YES → Run all 4 scanners → Review JSON outputs → Manual analysis (M3/M4/M6/M7/M8/M10) → Generate report
└─ NO → Continue...

Specific risk category?
├─ M1 → scan_hardcoded_secrets.py
├─ M2 → check_dependencies.py
├─ M5 → check_network_security.py
├─ M9 → analyze_storage_security.py
└─ M3/M4/M6/M7/M8/M10 → references/owasp_mobile_top_10_2024.md → manual analysis

Quick pre-release check?
└─ YES → Run all 4 scanners → Fix CRITICAL and HIGH findings only

快速入门:完整审计

# Run all automated scanners from the project root
python3 <skill-dir>/scripts/scan_hardcoded_secrets.py .
python3 <skill-dir>/scripts/check_dependencies.py .
python3 <skill-dir>/scripts/check_network_security.py .
python3 <skill-dir>/scripts/analyze_storage_security.py .

# Outputs produced:
#   owasp_m1_secrets_scan.json
#   owasp_m2_dependencies_scan.json
#   owasp_m5_network_scan.json
#   owasp_m9_storage_scan.json
  1. 按严重性确定优先级 — 发布前修复 CRITICAL 和 HIGH 问题
  2. 对于 M3、M4、M6、M7、M8、M10 — 请参阅 references/owasp_mobile_top_10_2024.md
  3. 制定修复计划,包含代码示例和时间表

OWASP Mobile Top 10 (2024) — 快速参考

风险问题自动化?重点检查项
M1硬编码凭据✅ 扫描器源代码/配置中的 API 密钥、令牌
M2易受攻击的依赖项✅ 扫描器过时或未约束版本的软件包
M3身份验证薄弱手动令牌存储、MFA、会话过期
M4输入验证手动SQL 注入、WebView 中的 XSS、IDOR
M5通信不安全✅ 扫描器使用 HTTP、缺少证书固定
M6违反隐私手动日志/分析中的 PII、过多权限
M7缺少二进制保护手动缺少 --obfuscate、未进行 root 检测
M8配置错误手动生产环境中启用调试标志、日志过于详细
M9不安全存储✅ 扫描器SharedPreferences 中的敏感数据
M10加密薄弱手动使用 MD5/SHA1/ECB、硬编码密钥

了解扫描结果

严重性含义操作
CRITICAL可立即利用立即修复 — 不要发布
HIGH严重漏洞发布前修复
MEDIUM应当处理规划在下个迭代中处理
LOW最佳实践改进视时间安排处理
常见误报
  • M1:测试/示例密钥、YOUR_API_KEY 等占位符
  • M2:仅用于开发的依赖项(代码检查器、测试工具)
  • M5:开发期间用于 localhost/127.0.0.1 的 HTTP
  • M9:SharedPreferences 中的非敏感数据(主题偏好、语言)

在将发现的问题判定为漏洞之前,务必结合具体情况进行核实。

不适用场景

  • Web 应用安全审计 — 此技能专用于移动应用/Flutter
  • 后端 API 或服务端安全审查
  • 不能替代专业渗透测试或正式安全审计
  • 不使用 Flutter/Dart 或 pubspec.yaml 的项目

参考文档

references/owasp_mobile_top_10_2024.md 按风险类别提供详细信息:

  • 真实攻击场景和示例
  • Flutter 特定漏洞模式(Dart 代码)
  • 不安全与安全的代码示例
  • 平台特定指南(Android Keystore/NSC、iOS Keychain/ATS)
  • 完整的缓解策略

集成节点

阶段操作
提交前运行 scan_hardcoded_secrets.py,作为轻量级密钥检查关卡
拉取请求运行全部 4 个扫描器,并将发现的问题作为 PR 评论发布
发布构建对全部 10 个类别进行完整审计,包括手动分析
事件响应针对报告的漏洞类别运行指定扫描器

评论

支持 Markdown