Arcveil

代码可信,证据可查

SDK 安全

检查 SDK 版本、文件完整性和接入边界。结合当前 Manifest 与公开证明,在浏览器本地审阅代码和文件。

本地代码分析 · SHA256 / SRI · 服务端二验检查

当前发布状态

从 Manifest 与公开证明接口读取,保留真实核验结果。

浏览器本地分析文件不上传App Secret 泄露检查服务端二验检查SHA256 / SRI 核验

选择你要检查的对象

三种入口共用同一份报告结构。先定位阻断上线的问题,再给出可以直接执行的修复动作。

粘贴接入代码

可同时放入 HTML、JavaScript 和服务端代码。请先删除真实 Secret,检查器不需要它的值。

0 行仅在当前浏览器分析

智能核验 SDK 文件

先核验 SHA256;失败时自动读取声称版本的官方基线,定位代码差异并识别新增危险行为。全程在浏览器内完成,文件不会上传。

检查控制台应用

读取当前登录账号下的应用配置,不读取 App Secret 明文。

登录控制台

生成可上线的接入骨架

前端挂载、服务端二验和 CSP 一次生成,避免只完成“弹出验证码”却遗漏真正的业务放行边界。

选择版本策略,并看到差异

固定版本适合安全评审和 SRI;稳定入口适合自动接收兼容性与安全修复。

对比

从文件,到公开可核验的证明链

不是只展示一个“安全”标签,而是把每一层证据和当前状态拆开呈现。

1固定文件等待数据--
2Manifest等待数据--
3存证事件等待数据--
4区块与锚点等待数据--

需要深入时,再展开细节

固定版本、稳定入口与自托管怎么选?

经过安全评审的生产系统优先固定版本并启用 SRI;希望自动获得兼容修复时使用稳定入口;严格供应链或内网场景选择自托管,同时保留文件哈希核验。

为什么前端验证成功还不够?

前端环境可被用户控制。业务后端必须携带 App ID 和 App Secret 调用 second-verify 消费一次性 token,只有二验成功才能执行登录、注册、下单或发帖。

App Secret 应该放在哪里?

只存放在业务服务端的密钥管理或环境变量中,限制读取权限并支持轮换。不要写入 HTML、浏览器 JavaScript、移动端包、公开仓库或日志。

如何完成自托管审计?

下载固定版本,核对 Manifest 中 SHA256,将文件以不可变路径发布到自己的静态资源域名;部署后再次下载线上文件并计算哈希,确保传输和发布没有改变内容。

签名升级与业务回执

这是服务端能力升级,不是 SDK v121 发布。v120 及旧固定版本的文件字节、Manifest 和当前 SDK 版本信息保持不变。

浏览器只配置 App ID

App Secret 仅放可信服务端环境变量或密钥管理系统。当前 v120 公开模式不发送签名头;历史携带 secret 的客户端按应用兼容策略迁移,新前端接入不应复制该做法。

v2 HMAC 只在可信服务端生成

v2 canonical 包含协议标记、App ID、方法、路径、稳定 JSON 的 bodyHash、nonce 和毫秒时间戳,按换行连接后做 HMAC-SHA256。v2、hmac 或未知版本校验失败不回退 legacy。

兼容期限与应用迁移

既有应用默认兼容 legacy 至 2026-12-31T23:59:59.999Z(UTC);显式 legacy 和旧 v1 分别由 allowLegacy、allowV1Legacy 控制,legacyUntil 可按应用明确配置有限期限。二验默认允许 secret 鉴权,启用 serverHmac 后必须同时通过 HMAC。生成器中的旧最小模板不包含新业务幂等字段;新接入请使用完整协议示例。

二验成功回执不等于重复授权

新接入让 scene 与取题一致,并成对提交 businessRequestId(8..128 位 A-Z、a-z、0-9、下划线、点、冒号或连字符)和 businessDigest(SHA-256 十六进制)。同 key、digest、token、scene 和应用只能在原有效期内重试成功回执,返回 code=200、data.replayed=true;不同业务不可复用。签名网络重试使用新 nonce,业务 key 保持不变。

哪些请求消耗额度?

completed-attempt 按已完成的验证尝试计费一次,成功和完成的失败均按最终事件处理;取题、技术故障、pending 不计费,已完成事件及二验成功回执重试不重复扣费。客户端超时不能撤销服务端已提交的计费事件。

安卓资源签名与版本核验

安卓候选版采用独立签名清单。它与浏览器 SDK 的版本号、SRI 和存证记录分别管理,不代表新增了浏览器 SDK 版本。

签名验证什么?

AAR 内固定公钥验证清单的 RSA-SHA256 签名,再检查资源 SHA256、有效期、协议及顺序号。签名证明资源由对应密钥签发且内容一致,不证明代码不存在漏洞;本批安卓资源未宣称已经区块链存证。

自动更新与安全回退

稳定与灰度通道选择兼容 Web 资源,原生 AAR 随 App 发版,不加载远程 Dex。回退必须签发更高顺序号清单,不能直接降低版本序列;无效签名不使用旧缓存绕过。

当前验收范围

本版已完成构建和单元测试,旧版有 API35 合成链路记录,本版设备回归未完成;真实手机、厂商 WebView、每种验证方式及生产计费仍待验收。Android 8+ 是目标范围,不是全设备实测证明。

密钥和业务边界

签名私钥不在发行包中。App Secret 只放业务后端;客户端 VERIFIED 必须由后端二验并执行业务事务后才表示业务成功。