权限最小化
通知、相机与位置权限按任务判定必要性
权限必须对应可见任务,不能以未来可能需要为理由。 本文给出可复核步骤、状态边界、脱敏记录方法与复核路径。
权限是否必要,不能从页面说“以后可能会用到”得出,而要回到用户眼前正在完成的任务。阅读赛程说明通常不需要相机、精确位置或通知;扫描本地二维码可能需要一次相机访问,但仍应有不授权的替代输入。测试表把可见任务、用户动作、请求权限、请求范围、拒绝后的路径和数据去向分别记录,避免把一个弹窗写成笼统的安全结论。麦克风或蓝牙等未纳入本轮的请求一旦出现,直接建立异常事件并停止。
当前没有目标样本的权限触发证据,因此通知、相机、位置等状态全部为UNKNOWN。本文只描述安全的评估流程,不要求实际授予权限。研究者先在专用设备上把相关权限设为“询问”,从无账号页面执行一个明确动作;看到系统弹窗时优先选择拒绝,观察页面是否提供可逆替代。任何索取通讯录、短信、设备管理或未知描述文件的流程立即停止。浏览器已经拥有全局权限时,站点可能不再出现系统层询问,因此实验必须同时核对浏览器与站点两层前态。
把用户任务写成一句可观察的目标
任务卡不写“体验完整功能”,而写“阅读一篇规则说明”“用相机识别一张本地合成码”或“选择城市以筛选公开赛程”。每个任务给出开始画面、结束判据和不包含的操作。登录、充值、付款、上传身份证件等高风险动作不进入本实验;若页面只有这些路径,权限评估停在入口并标未测试。
同一个权限可能服务不同任务,所以每张卡只绑定一项当前动作。例如位置用于自动选择城市,与手动选择城市必须分成两条路径。用户还没触发任何地理功能时出现位置请求,时间线上注明“无对应可见动作”。这只是一项观察,未取得页面说明或代码证据时,不推测请求动机。
- 每张任务卡只有一个明确目标
- 高风险账号交易动作排除
- 动机无证据时写UNKNOWN
建立任务到权限的最小映射
映射表包括任务号、触发控件、权限名称、系统给出的范围选项、是否存在手动替代、拒绝后可完成程度和观察时间。相机任务可区分拍摄当前画面与读取照片库,两者不能合并;位置还要区分精确与大致;通知则记录临时、横幅或声音等系统选项,但测试默认不授权。
若页面提出多个权限,按弹窗出现顺序逐个建行,不写“需要所有权限”。某一步尚未执行就标未测试;弹窗文字被壳层遮挡或语言无法确认时写UNKNOWN并保存脱敏截图。不能根据浏览器站点设置里已有的旧授权判断本次任务所需范围,旧状态必须先列为前态。
- 权限范围不能合并
- 多弹窗按顺序逐行记录
- 旧授权状态进入前态
从最小披露和默认拒绝开始
实验配置不存个人照片、联系人或真实位置。相机前放置一张离线合成图,照片库保持空白测试相册,位置实验只观察弹窗而不授予。通知请求直接拒绝,随后检查是否仍可阅读内容。这样即使页面行为异常,也不会把私人资料带入证据。
默认拒绝不是为了证明页面有问题,而是测试是否存在合理降级。若任务明确需要相机,页面可提示手动输入;如果拒绝后按钮消失或反复弹窗,记录画面和步骤。任何要求进入系统设置开启更广权限的提示都不照做,只保存文字。无法在专用配置中保证数据为空时,实验不启动。
- 使用无个人数据的测试配置
- 首次测试选择拒绝
- 不按提示扩大系统权限
辨认浏览器询问和系统设置状态
iOS或安卓可能先由网页说明,再出现浏览器级弹窗,最后由系统设置保存决定。时间线要区分页面自制提示、浏览器站点权限和操作系统权限,分别截图并写触发时刻。页面自制按钮不等于系统已经授权;系统设置显示拒绝也不证明页面这次确实发起了请求。
测试前记录当前站点权限状态,结束后再次核对是否变化。读取设置页时裁掉其他站点名称和账号信息。浏览器无法显示单站点状态时,状态栏写UNKNOWN,不能用全局相机开关替代。若系统弹窗标题与当前容器不一致,停止并重新确认容器身份。
- 三层提示分开记录
- 测试前后核权限状态
- 标题归属异常时停止
评价替代路径是否完成同一任务
拒绝相机后出现手动输入框,只有当它允许完成原本的本地码解析任务,才算功能替代。跳回首页或展示通用错误不叫替代。记录替代入口的文字、需要输入的数据类型、是否新增其他权限以及最终可见结果;不提交真实代码或账号。
位置任务若提供城市列表,应检查用户能否不共享精确位置仍完成公开筛选。通知任务通常不应阻止阅读,若阻止则记录具体被阻断的步骤。实验只描述这一次路径,不作法律或产品合规裁决。替代路径中任何字段含义不清,输入要求为UNKNOWN并不继续。
- 替代路径必须完成同一目标
- 不输入真实代码或账号
- 字段含义不明立即停
处理权限请求与任务不匹配
阅读文本时突然请求位置,记录任务号、当时可见控件、弹窗原文、权限范围和拒绝结果。不要把它直接称为恶意,也不要点击允许寻找原因。复核者检查是否有前一步误触、旧页面仍在后台或容器发生切换;无法排除这些因素时,匹配状态标“不确定”。
多轮运行中请求时机不同,两条轨迹都保留。第一次无弹窗、第二次出现时,先核站点权限是否重置、缓存和会话是否改变。无法稳定复现不等于现象不存在。证据缺少动作前截图时,只能写“记录到弹窗”,不能声称它没有对应任务。
- 不匹配观察不直接定性
- 请求时机冲突并列保存
- 缺少前态限制描述范围
给每条必要性判断加上边界
可发布描述示例为:“任务Q3是读取公开说明;在设备P7与时刻T3,动作一后出现相机请求,拒绝后说明仍可阅读;请求用途没有现场证据,记UNKNOWN。”它只覆盖该任务和环境,不能扩展到页面其他功能,也不代表相关实体。
研究页不提供外部文件和账号入口,不建议绕开浏览器或系统保护。出现设备管理、短信读取、通讯录批量访问、未知配置或证书警告时,停止条件优先。后续若取得新的页面说明或复测证据,应新增事件并注明版本,不把旧的UNKNOWN静默改写成肯定或否定。复核表还应区分“技术上需要某类输入”和“当前任务必须立即索取”两层问题。扫描本地合成码可能技术上用到相机,但页面仍可先解释用途并等待用户主动开始;通知提醒即便属于可选功能,也不应阻断当下阅读。证据只覆盖弹窗、可见任务和拒绝路径,不能推断数据在后台怎样处理。若页面的隐私说明没有版本或观察时间,说明可见状态照录,当前适用性写UNKNOWN。
- 判断同时写任务环境和时刻
- UNKNOWN不得静默改写
- 高敏权限触发停止


