• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

microlinkhq / is-antibot / 28052335064
96%

Build:
DEFAULT BRANCH: master
Ran 23 Jun 2026 07:44PM UTC
Jobs 1
Files 1
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Jun 2026 07:44PM UTC coverage: 95.88%. Remained the same
28052335064

push

github

web-flow
fix(providers): eliminate bare vendor-word html false positives (#46)

* fix(threatmetrix): avoid false positive on config-key mentions

The html detection used a case-insensitive `contains: "ThreatMetrix"`,
which matched any mention of the word — including feature-flag config keys
embedded in page JSON (e.g. Netflix's "enable.threatmetrix.debug"). That
flagged fully-rendered 200 pages as antibot-protected, surfacing as a
spurious EPROXYNEEDED upgrade prompt.

ThreatMetrix is passive device profiling: the real signal is the JS API
invocation (ThreatMetrix.init()/.profile()), so match that pattern
case-sensitively instead. The fp/check.js URL rule is unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(providers): tighten bare vendor-word html rules

Audit following the threatmetrix false positive surfaced seven more html
detections matching a bare vendor name (case-insensitive substring), which
fired on fully-served 200 pages that merely mention or integrate the vendor
(badges, config keys, comparison articles), not on an actual challenge.

Each rule is tightened to its active signal, matching the existing positive
fixtures and the pattern already used by recaptcha/hcaptcha/turnstile:

- shapesecurity, imperva/incapsula, meetrics, geetest, funcaptcha: the JS
  API invocation (vendor.method(...)), not the name
- sucuri, reblaze: the block-page text (Sucuri Website Firewall /
  Protected by Reblaze)
- aws-waf: the API call and the /awswaf/ challenge-script path

Adds a bare-mention regression test per provider. All real challenge
signals (headers, cookies, URLs, block pages) remain detected.

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

160 of 169 branches covered (94.67%)

Branch coverage included in aggregate %.

352 of 365 relevant lines covered (96.44%)

337.66 hits per line

Jobs
ID Job ID Ran Files Coverage
1 28052335064.1 23 Jun 2026 07:44PM UTC 1
95.88
GitHub Action Run
Source Files on build 28052335064
  • Tree
  • List 1
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28052335064
  • 54a38628 on github
  • Prev Build on master (#27947809294)
  • Next Build on master (#28644238805)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc