Chrome扩展因‘Purple Copper’隐私违规被拒,求技术排查
Chrome扩展因数据安全传输违规被拒的排查与解决
问题描述
提交的Chrome扩展被立即拒绝,收到官方通知:
违规项:用户数据隐私 - 安全传输
违规参考ID: Purple Copper
违规描述:未以安全方式处理用户数据
整改建议:确保用户数据的安全传输
相关政策条款:若产品处理个人或敏感用户数据,需安全处理该数据。
我仅在background.js中做API调用,没有主动获取用户数据,怀疑是用了非SSL的远程API导致违规,以下是background.js的核心代码片段:
var apiEndPoint = 'http://localhost:8000/' apiEndPoint = 'http://1.2.3.4/myFolder/' const API_GET = apiEndPoint+'get.php?url=' const API_READ = apiEndPoint+'read.php?url=' // ... 其余功能代码省略 async function getInfo(url) { const res = JSON.parse(await sendReq(`${API_GET}${url}`)); return res.status === 'ok' ? { rules: res.msg.rules, html: await sendReq(`${API_READ}${url}`), } : {}; }
问题根源
你的怀疑没错——非SSL的HTTP API调用就是违规的直接原因。Chrome应用商店的隐私政策明确要求,所有数据传输必须使用HTTPS加密,哪怕你认为没传输敏感数据:
- 你在
getInfo函数里把当前页面的url传到了HTTP接口,而页面URL可能隐含用户的个人信息(比如登录后的用户ID、会话标识、搜索关键词等),这些都属于Chrome认定的「用户数据」范畴。 - HTTP传输的数据是明文状态,存在被窃听、篡改的风险,直接违反了「安全传输」的政策要求。
整改方案
将API服务切换为HTTPS
- 给你的服务器
1.2.3.4配置SSL证书(可以用Let's Encrypt这类免费证书),把API接口地址从http://改为https://。 - 同步更新代码中的
apiEndPoint:var apiEndPoint = 'https://1.2.3.4/myFolder/'
- 给你的服务器
添加API请求安全验证
- 让API接口检查请求的
Origin头,限制仅允许你的扩展ID发起请求,防止第三方恶意调用数据。 - 如果后续需要传输敏感数据,建议额外添加签名验证机制。
- 让API接口检查请求的
重新提交时的说明要点
- 在提交页面的隐私政策或备注栏中,明确说明扩展仅传输页面URL用于功能实现,且所有数据已通过HTTPS加密传输,帮助审核人员快速确认整改内容。
内容的提问来源于stack exchange,提问作者Volatil3
相关产品推荐
相关产品推荐

