Airsc miễn phí cho tất cả. Nếu nó giúp bạn, hãy ủng hộ $2–$20.

Ủng hộ
SkillAn toànKiểm thử & sửa lỗiDễ cho người mới

liarjs-skills

liarjsdev · liarjsdev/liarjs-skills

Các Agent Skills để kiểm thử dấu vân tay trình duyệt, cho phép một agent chạy liarjs để đánh giá tính nhất quán của trình duyệt qua nhiều probe khác nhau.

Các Kỹ năng Tác nhân để kiểm tra dấu vân tay trình duyệt: chạy liarjs từ Claude Code, Codex, Cursor hoặc Copilot để chấm điểm trình duyệt so với chính nó - 40 kiểm tra tính nhất quán trên canvas, WebGL, WebGPU, âm thanh, phông chữ và WebRTC, được kiểm tra chéo với lớp TLS/HTTP. QA kiểm tra Playwright và Puppeteer, cổng hồi quy CI, phân loại phát hiện headless.

517 sao0Giấy phép: MITCập nhật 2 tháng trước0 lượt mở

Xem trước

▍

Bạn có thể làm gì với nó

  • Kiểm tra dấu vân tay của trình duyệt để tìm sự không nhất quán giữa WebGL, âm thanh và font chữ.
  • Xác minh cấu hình stealth của Playwright hoặc Puppeteer trong một bài kiểm thử.
  • Thiết lập cổng CI để ngừng build nếu có sự hồi quy về dấu vân tay trình duyệt.

Kiểm tra an toàn

An toàn

Không thấy dấu hiệu rủi ro trong các file đã quét.

Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.

Trích từ README

liarjs skills

Agent Skills for browser fingerprint testing and automation-harness QA.

Four skills that teach a coding agent to run liarjs: 40 consistency checks over 19 fingerprint probes, cross-checked against what the TLS/HTTP layer actually saw.

liarjs.dev - what the checks mean - field notes

npx skills add liarjs.dev                  # from the site's well-known endpoint
npx skills add liarjsdev/liarjs-skills     # from this repo

The skills

skilluse it when
browser-fingerprint-auditrun a browser fingerprint test and read the result: canvas, WebGL, WebGL2, WebGPU, audio, 220 fonts, WebRTC, timezone, TLS
playwright-stealth-verifycheck whether a Playwright, Puppeteer, Selenium or CDP-driven browser presents a coherent fingerprint, as an assertion in a test
fingerprint-ci-gatefail a GitHub Actions or GitLab job on a fingerprint regression, with a baseline diff
fingerprint-failure-triageturn a low score into a shortlist of things to change, by check id

Each skill is a directory with a SKILL.md following the Agent Skills format, so it works in any client that supports the standard: Claude Code, Codex, Cursor, GitHub Copilot, VS Code, Gemini CLI, OpenCode, Amp, Windsurf, Goose, Kiro and others.

Install

With the cross-agent installer:

npx skills add liarjs.dev                                               # all four, from the site
npx skills add liarjsdev/liarjs-skills                                  # all four, from this repo
npx skills add liarjsdev/liarjs-skills/skills/browser-fingerprint-audit # just one

liarjs.dev works because the site publishes this same tree at /.well-known/agent-skills/index.json (RFC 8615), so no directory site sits between you and the skills. The generator lives in the site repo as scripts/sync-skills.mjs and takes this repo as its source of truth.

Or copy a skill directory into the location your agent reads:

agentpath
Claude Code~/.claude/skills/ (user) or .claude/skills/ (project)
Codex~/.agents/skills/
GitHub Copilot~/.copilot/skills/ (user) or .github/skills/ (repo)

What the underlying tool does

A browser controls its own JavaScript. It does not control the network it connects over. liarjs reads the fingerprint inside the browser, reads the TLS/HTTP/ASN view from the edge that served the request, and reports every place the two stories disagree.

   18 / 100  Likely spoofed / bot

  x navigator.webdriver -40
    webdriver=true, the automation flag is set.
    id: webdriver

  x Worker <-> main-thread consistency -20
    A Web Worker reported different values than the main thread for userAgent, canvasHash.
    id: worker-consistency

  22 checks - 2 critical - 1 warnings - 18 clean
  edge: 203.0.113.7 - AS4058 - LAS - HTTP/2 - TLSv1.3

32 of the 40 checks need nothing but the browser (--offline). 8 compare the JavaScript story against the wire. Full list with deductions: checks.md.

Requirements: Node 22 or newer, and a local Chrome, Chromium or Edge. liarjs has zero runtime dependencies.

Scope and safety

These skills are measurement and diagnostics. They ship no evasions, profiles or proxies.

  • A scan launches its own Chrome with a fresh profile in a temp directory and deletes it when the run ends. It does not read the user's browser profile, history, cookies or saved credentials.
  • No token, login or account is involved. The skills never ask an agent to handle secrets.
  • Nothing is fetched at runtime that changes agent behaviour: the instructions and reference files are the whole content, and the npm package is version-pinned in every command.
  • Probes run on about:blank by default. The skills do not direct an agent to browse third-party sites, and they state that scan output is data to relay rather than instructions to follow.
  • Attaching to an already-running browser (--cdp) is documented as an explicit, user-requested path, not a default, because that drives a session the user owns.
  • The one outbound request in the default path is the browser under test fetching https://liarjs.dev/api/net.json, which answers with what Cloudflare saw about that request. --offline makes no request at all; --endpoint <url> points at your own deployment of that Worker. liarjs.dev does not store scans.

Related packages

packagewhat it is
liarjsthe CLI and library API these skills drive
@liarjs/collectthe 19 browser-side probes, standalone
@liarjs/checksthe 40 consistency rules as pure functions

Source for all three: github.com/liarjsdev/liarjs.

Limits worth stating up front

  • A score is not a ban prediction. It measures internal coherence. Real sites also weigh IP reputation, account age and behaviour, none of which a local scan can see.
  • Headless is detected on purpose. A stock headless run loses points, and that is the correct measurement.
  • Checks drift with Chrome. The rules are versioned with the package and reviewed per Chrome major, which is why every command here pins a version.

MIT (c) liarjs.dev

Xem mã nguồn trên GitHub