用途
Flutter Security 用于对 Flutter 与 Dart 应用进行威胁建模、安全审计或安全加固,目标是保护用户数据与特权操作,使控制措施与真实威胁模型相匹配。该技能的基本假设是:交付到用户可控设备上的代码、配置、存储、日志与二进制文件都是可被检查的。
主要能力
- 界定范围:识别受保护资产、参与者、信任边界、支持的平台、敏感流程以及现实可行的滥用场景。
- 检查面:pubspec.yaml、pubspec.lock、平台清单与权限、环境处理、网络配置、存储、日志、WebView、链接以及与上述资产相关的发布设置。
- 区分公开标识符与凭据、服务端强制信任:不检查提供方契约与允许限制,就不应把每个客户端可见的键都标记为密钥。
- 明确工作类型:静态审查、加固变更或经授权的运行时评估。未经明确授权,不探测外部系统、不轮换凭据、不撤销会话、不更改生产策略。
核心规则
- 绝不依赖混淆、环境文件或客户端检查来保守凭据或强制授权。
- 最小化敏感数据的收集、保留、暴露与日志记录;在其生命周期结束时清除与用户绑定的缓存和凭据。
- 在威胁模型要求时使用平台支持的密钥与凭据存储;普通偏好设置与数据库不是密钥保险库。
- 认证状态可保留在客户端,但授权与敏感业务规则必须在可信后端执行。
- 保持安全传输默认值;仅在存在书面需求且具备可运维的轮换与恢复计划时,才添加例外或证书固定。
- 使用经过维护与审查的密码学原语和协议;不要自创算法、模式、密钥派生或令牌格式。
- 在深链、WebView、平台通道、文件、Intent、剪贴板边界与远程响应处验证不可信输入。
- 将依赖扫描器输出视为线索,需要做适用性分析,而不是自动证明存在可利用的 Flutter 漏洞。
使用方式
按条件加载参考内容:
- 应用安全:密钥、认证、存储、网络传输、密码学、隐私与日志。
- 平台攻击面:WebView、深链、Intent、权限、备份、截图、剪贴板与原生边界。
- 安全验证:执行审计、验证依赖或发布配置、报告发现时使用。
将登录与会话实现路由到 flutter-authentication,将普通缓存与数据库设计路由到 flutter-persistence,将传输行为路由到 flutter-networking,将原生实现机制路由到 flutter-platform-integration,将发布产物处理路由到 flutter-build-release。安全技能负责跨越这些边界的威胁与控制要求。
报告要求
对每项发现,需识别资产、攻击前提、可达路径、影响、具体证据以及最小比例的修复措施。将已确认漏洞与纵深防御改进、未解决问题分开。不得声称某个包、扫描器、加密标志或干净的静态审查就能证明应用安全。
适用场景
适用于 Flutter/Dart 应用的威胁建模、安全审计、安全加固、依赖与发布配置验证,以及涉及授权、密钥、敏感存储、网络传输、密码学、隐私与日志的风险评估。
限制
该技能不替代对具体提供方契约的核实,不自动证明应用安全;依赖扫描器输出需人工做适用性分析。未经明确授权不得探测外部系统、轮换凭据、撤销会话或更改生产策略。关于收费、价格、平台支持范围与具体使用步骤,资料暂未提供。