mcpField
F
flutter-security

flutter-security

github.com/thienqo安全17104 次安装1 天前更新
代码仓库

关于 flutter-security

为 Flutter 项目提供安全审查与加固指导,面向负责保护用户数据和特权操作的开发者。它以威胁模型为基础,覆盖客户端、平台边界及发布配置,并要求用证据区分漏洞与改进建议。

主要功能

  1. 01按威胁模型界定安全范围
  2. 02检查存储、日志与网络配置
  3. 03指导输入验证和凭据保护
  4. 04按授权范围开展审查或测试
  5. 05要求以证据记录发现和修复

适用场景

  1. 01审查 Flutter 应用中的敏感数据流
  2. 02检查深链、WebView 和原生边界
  3. 03验证依赖及发布配置
  4. 04制定安全问题的修复建议

安装

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

$npx skills add https://github.com/thienqo/flutter-skills --skill flutter-security

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

包含的文件

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

references/
application-security.md
platform-attack-surfaces.md
security-verification.md

详细介绍

Flutter 安全

通过与实际威胁模型相匹配的控制措施保护用户数据和特权操作。应将交付到用户可控设备上的代码、配置、存储内容、日志和二进制文件视为可供检查的对象。

确定范围

  1. 识别受保护的资产、参与方、信任边界、支持的平台、敏感流程和现实的滥用场景。
  2. 检查与这些资产相关的 pubspec.yaml、pubspec.lock、平台清单和权利配置、环境处理、网络配置、存储、日志记录、WebView、链接和发布设置。
  3. 区分公开标识符、凭据和由服务器强制执行的信任。不要不经核实提供方的约定和允许的限制,就把所有客户端可见的密钥都标记为机密。
  4. 明确工作属于静态审查、加固变更还是经授权的运行时评估。未经明确授权,不要探测外部系统、轮换凭据、撤销会话或更改生产策略。

核心规则

  • 绝不要依赖混淆、环境文件或客户端检查来保护凭据机密或强制执行授权。
  • 尽量减少敏感数据的收集、保留、暴露和记录。当用户数据缓存和凭据的生命周期结束时,应予以清除。
  • 当威胁模型有此要求时,使用平台提供的密钥和凭据存储;普通偏好设置和数据库并非机密保险库。
  • 在客户端保留身份验证状态,但在可信后端强制执行授权和敏感业务规则。
  • 保持安全传输默认设置。只有在有明确需求,且具备可行的轮换和恢复计划时,才添加例外或证书固定。
  • 使用维护良好、经过审查的加密原语和协议。不要自行设计算法、模式、密钥派生方法或令牌格式。
  • 在深层链接、WebView、平台通道、文件、Intent、剪贴板边界和远程响应处验证不可信输入。
  • 将依赖项扫描器的输出视为待分析适用性的线索,而非可利用的 Flutter 问题的自动证明。

按需查阅参考资料

  • 有关机密信息、身份验证、存储、网络传输、加密、隐私和日志记录,请阅读 应用程序安全。
  • 有关 WebView、深层链接、Intent、权限、备份、屏幕截图、剪贴板和原生边界,请阅读 平台攻击面。
  • 执行审计、验证依赖项或发布配置,或报告问题时,请阅读 安全验证。

将登录和会话实现交由 flutter-authentication 负责,将常规缓存和数据库设计交由 flutter-persistence 负责,将传输行为交由 flutter-networking 负责,将原生实现机制交由 flutter-platform-integration 负责,将发布制品处理交由 flutter-build-release 负责。安全工作负责跨越这些边界的威胁和控制要求。

提供有据可查的报告

对于每个发现的问题,应说明资产、攻击前提、可达路径、影响、具体证据,以及最小且适度的修复措施。将已确认的漏洞与纵深防御改进和未解决的问题区分开来。不要声称某个包、扫描器、加密标志或无异常的静态审查就能证明应用安全。

来源

评论

支持 Markdown