跳转到正文
报告库
用途分类 / 数据分析

Fingerprint Failure Triage Skill 安全审计

作者说它能做什么(原文)

Read a liarjs fingerprint report and attribute each failing check to the component that produced it - what the check id measures, whether the signal comes from the launch configuration, the page-modifying layer, the network path or the machine image, and which failures are inherent to headless or datacenter environments. Use when a fingerprint scan came back with a low score, or when a check id su

第三方安全检查结论

发现安全风险

已检查文件
2
发现的风险
3
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。发现 1 项风险
中风险

流程会通过 npx 执行未完全固定且未随 Skill 提供的第三方代码

原文依据:3 处
发现了什么

`npx liarjs@0.3` 依赖 npm 解析并可能下载包;`0.3` 没有固定到完整版本或校验哈希。执行权限来自该包,而不是这两份可审计文本。

为什么需要注意

如果解析到的包版本、依赖或软件源被篡改,其代码将以运行 Skill 的用户权限执行,可读取该权限可见的数据或修改文件。现有证据不能证明这种篡改已经发生。

该流程让代理使用 Bash 运行 `npx liarjs@0.3`。这个版本范围并未固定到完整补丁版本,也没有哈希或随 Skill 提供的可审计副本;如果本机没有对应包,npx 可能从 npm 获取并执行解析到的代码。风险取决于实际解析的软件包及 npm 配置,可能影响本机文件或凭据。用户可要求作者固定完整版本并提供完整性校验,或限制为预先审计、已安装的副本。

SKILL.md:19来自说明文档打开原文件
1. **Get the full result, not just the failures.** `npx liarjs@0.3 --all --json scan.json` prints   the passing checks too and saves the raw fingerprint. Which checks passed is often what separates   two possible sources for the same failure.2. **Group the failures by source** using `references/interpreting-checks.md`, which lists every id
查看另外 2 个位置
SKILL.md:30来自说明文档打开原文件
   unattributable.5. **Compare rather than re-score:** `npx liarjs@0.3 diff before.json after.json` prints only the   checks whose status moved.
SKILL.md:5来自说明文档打开原文件
license: MITallowed-tools: Bash, Read---
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 1 项风险
中风险

默认扫描包含对外网络检查并会保存原始浏览器指纹

原文依据:4 处
发现了什么

推荐命令保存“raw fingerprint”,而参考资料明确表示网络和请求检查只有使用 `--offline` 才会跳过;边缘服务还会观察出口及其信誉。

为什么需要注意

在线运行会向检测端暴露出口 IP、请求头及可由请求推断的浏览器/网络属性;原始指纹也会写入当前目录的 `scan.json`,之后可能被其他工具、同步服务或共享流程读取。

默认命令会把原始浏览器指纹保存到 `scan.json`,而参考资料说明只有加 `--offline` 才跳过跨层网络检查。因此按默认流程运行时,请求、出口 IP 相关属性及边缘分类可能被外部服务观察,同时敏感指纹会留在本地文件中。文本没有说明接收方、保留期限或隐私处理。用户可要求披露网络端点和数据政策、先获同意,并限制为离线扫描及受控的输出路径。

SKILL.md:19来自说明文档打开原文件
1. **Get the full result, not just the failures.** `npx liarjs@0.3 --all --json scan.json` prints   the passing checks too and saves the raw fingerprint. Which checks passed is often what separates   two possible sources for the same failure.2. **Group the failures by source** using `references/interpreting-checks.md`, which lists every id
查看另外 3 个位置
references/interpreting-checks.md:44来自说明文档打开原文件
The 8 cross-layer checks plus the header comparisons. These describe the egress and the request, notthe browser's JavaScript, so they are usually a different owner. `--offline` skips them.
references/interpreting-checks.md:49来自说明文档打开原文件
|---|---|---|| `ua-http-js` (25) | the `User-Agent` header against `navigator.userAgent` | They differ, so something between the browser and the edge rewrote one of them. || `cf-bot` (25) | the edge's own classification of the client | The edge classified it before any JavaScript ran. This is about the egress and its reputation; nothing in the browser is visible to it. || `platform` (15) | `Sec-CH-UA-Platform` against `navigator.platform` | The client-hint header and the JS value name different operating systems. |
references/interpreting-checks.md:50来自说明文档打开原文件
| `ua-http-js` (25) | the `User-Agent` header against `navigator.userAgent` | They differ, so something between the browser and the edge rewrote one of them. || `cf-bot` (25) | the edge's own classification of the client | The edge classified it before any JavaScript ran. This is about the egress and its reputation; nothing in the browser is visible to it. || `platform` (15) | `Sec-CH-UA-Platform` against `navigator.platform` | The client-hint header and the JS value name different operating systems. || `tz` (12) | IP-derived timezone against browser timezone | They differ. Inherent to most proxied and datacenter setups, where the browser's zone and the exit IP's region are configured independently. || `lang` (8) | `Accept-Language` against `navigator.languages[0]` | They differ, so the header and the JS list come from different places. |
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
中风险

详细归因和迭代复测可被用于降低自动化浏览器的可检测性

原文依据:5 处
发现了什么

资料不仅解释检测项,还披露固定调试端口不会触发同一 webdriver 信号,并建议每次只改一个因素后复测。它同时列出边缘机器人分类及各种跨层矛盾的来源。

为什么需要注意

若用于第三方网站而未经授权,这些信息可帮助操作者逐步消除自动化、代理或模拟环境的检测信号,可能导致账号封禁、服务条款违约或绕过反滥用控制。

该 Skill 声称只做归因并把处置决定留给操作者,但仍给出可操作的规避线索:固定调试端口不会产生同一 webdriver 信号,并指导每次改变一个因素、反复扫描比较结果。这可合法用于诊断,也可被用于系统性减少自动化暴露,进而影响网站风控、账号或访问决策;文本未要求操作者具有目标站点授权。用户可要求作者将使用范围限定为自有或明确授权环境,并避免提供绕过检测的配置建议。

SKILL.md:28来自说明文档打开原文件
   correctly.4. **Re-scan one change at a time.** Several ids move together, so a batch of edits leaves the result   unattributable.5. **Compare rather than re-score:** `npx liarjs@0.3 diff before.json after.json` prints only the   checks whose status moved.
查看另外 4 个位置
SKILL.md:55来自说明文档打开原文件
- `webdriver` (-40): the automation flag is set. Note that `--remote-debugging-port=0` also sets it,  because the ephemeral-port handshake is itself an automation signal; a fixed reserved port does  not.- `native-integrity` (-35): one of 26 core APIs does not report genuine `[native code]`.
references/interpreting-checks.md:49来自说明文档打开原文件
|---|---|---|| `ua-http-js` (25) | the `User-Agent` header against `navigator.userAgent` | They differ, so something between the browser and the edge rewrote one of them. || `cf-bot` (25) | the edge's own classification of the client | The edge classified it before any JavaScript ran. This is about the egress and its reputation; nothing in the browser is visible to it. || `platform` (15) | `Sec-CH-UA-Platform` against `navigator.platform` | The client-hint header and the JS value name different operating systems. || `tz` (12) | IP-derived timezone against browser timezone | They differ. Inherent to most proxied and datacenter setups, where the browser's zone and the exit IP's region are configured independently. || `lang` (8) | `Accept-Language` against `navigator.languages[0]` | They differ, so the header and the JS list come from different places. || `webrtc-ip` (10) | the public IP over WebRTC against the connection IP | They differ, which is what a proxy that does not carry WebRTC media looks like. || `webrtc-mdns` (4) | host ICE candidates use `.local` names | They expose raw local addresses instead. A current Chrome obfuscates them by default. |
SKILL.md:14来自说明文档打开原文件
This skill explains measurements. What to do about a given finding depends on what the browser isfor, and that call belongs to whoever operates it.
references/interpreting-checks.md:88来自说明文档打开原文件
Several ids move together: anything touching the GPU shifts `gpu-triad`, `webgl-pair` and `gpu-age`at once. When re-scanning, compare with `npx liarjs@0.3 diff before.json after.json` and change onething at a time, or the result cannot be attributed to anything.
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

4 个说明模块

该 Skill 的主要用途是解释指纹检测结果:把失败项按浏览器启动配置、页面修改层、网络路径和机器镜像归因,并提醒用户分数只反映内部一致性,不能预测网站会如何处置浏览器。

查看原文
SKILL.md:10来自说明文档打开原文件
A score is a summary; the check ids are the finding. The job here is attribution: for each failingid, say what it measures and which component of the setup produced that signal. That turns a numberinto an owner list.This skill explains measurements. What to do about a given finding depends on what the browser isfor, and that call belongs to whoever operates it.
SKILL.md:68来自说明文档打开原文件
Internal coherence only. It is not a prediction about how a given site will treat the browser: realdetectors also weigh IP reputation, account history and behaviour, none of which a local scanobserves. Report an improved result as "these contradictions are gone", never as an outcome forecast.

工作流程不只读取已有报告,还指示通过 npx 获取并执行 liarjs、扫描浏览器、保存原始指纹,并在每次改变后重新扫描及比较结果。

查看原文
SKILL.md:19来自说明文档打开原文件
1. **Get the full result, not just the failures.** `npx liarjs@0.3 --all --json scan.json` prints   the passing checks too and saves the raw fingerprint. Which checks passed is often what separates   two possible sources for the same failure.2. **Group the failures by source** using `references/interpreting-checks.md`, which lists every id
SKILL.md:28来自说明文档打开原文件
   correctly.4. **Re-scan one change at a time.** Several ids move together, so a batch of edits leaves the result   unattributable.5. **Compare rather than re-score:** `npx liarjs@0.3 diff before.json after.json` prints only the   checks whose status moved.

参考资料说明在线扫描包含网络层和边缘分类检查;只有显式使用 `--offline` 才跳过这些检查。

查看原文
references/interpreting-checks.md:42来自说明文档打开原文件
## Signals owned by the network pathThe 8 cross-layer checks plus the header comparisons. These describe the egress and the request, notthe browser's JavaScript, so they are usually a different owner. `--offline` skips them.
references/interpreting-checks.md:49来自说明文档打开原文件
|---|---|---|| `ua-http-js` (25) | the `User-Agent` header against `navigator.userAgent` | They differ, so something between the browser and the edge rewrote one of them. || `cf-bot` (25) | the edge's own classification of the client | The edge classified it before any JavaScript ran. This is about the egress and its reputation; nothing in the browser is visible to it. || `platform` (15) | `Sec-CH-UA-Platform` against `navigator.platform` | The client-hint header and the JS value name different operating systems. |
从这里开始 · 工作说明SKILL.md
fingerprint-failure-triage
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。

文件引用关系图

1 处引用
哪些文件发起引用引用了什么
连线表示真实的文件引用,不是运行顺序。点击节点可高亮相关连线,并查看具体文件和原文位置。虚线表示还有文件需要定位。
文件与检查记录2 个文件

检查范围与遗漏

逐文件查看涉及的内容

下方列出本次涉及的原文范围;纳入检查不代表已查清所有问题。

  • SKILL.md已纳入全文
  • references/interpreting-checks.md已纳入全文

这份报告只针对上方版本。我们看了拿到的代码和说明文件,没有实际运行 Skill,也没有检查它另外安装的软件包。因此,这不是“保证安全”的承诺;换了版本或使用环境,结果也可能不同。

  • SKILL.md工作说明
  • references/interpreting-checks.md配套文件

代码和说明中提到的操作

运行命令
SKILL.md:5来自说明文档打开原文件
license: MITallowed-tools: Bash, Read---
安装其他软件包
SKILL.md:19来自说明文档打开原文件
1. **Get the full result, not just the failures.** `npx liarjs@0.3 --all --json scan.json` prints   the passing checks too and saves the raw fingerprint. Which checks passed is often what separates
SKILL.md:30来自说明文档打开原文件
   unattributable.5. **Compare rather than re-score:** `npx liarjs@0.3 diff before.json after.json` prints only the   checks whose status moved.
references/interpreting-checks.md:89来自说明文档打开原文件
Several ids move together: anything touching the GPU shifts `gpu-triad`, `webgl-pair` and `gpu-age`at once. When re-scanning, compare with `npx liarjs@0.3 diff before.json after.json` and change onething at a time, or the result cannot be attributed to anything.
连接外部网站
SKILL.md:75来自说明文档打开原文件
Per-check field notes: <https://liarjs.dev/cli/>.
读取了多少行
173
文件校验值(用于核对版本)
1ef3ea6bb3b71957437a694040a00cb547e5a2e2132af74626b39a16e9d4566b