@anonympins/fingerprint 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/README.md +1080 -1076
- package/composer.json +3 -2
- package/package.json +9 -6
- package/phpunit.xml +2 -1
- package/src/js/fingerprint.js +3946 -3448
- package/src/php/Config/SecurityProfiles.php +17 -7
- package/src/php/FingerprintBuilder.php +185 -184
- package/src/php/FingerprintClient.php +19 -5
- package/src/php/FingerprintEngine.php +990 -850
- package/src/php/Ja3AnomalyDetector.php +228 -0
- package/src/php/RequestContext.php +4 -0
- package/src/php/Store/StoreManager.php +10 -0
- package/src/php/Tests/FingerprintEngineTest.php +299 -218
- package/src/php/Tests/IpReputationTest.php +157 -0
- package/src/php/Tests/Ja3AnomalyDetectorTest.php +180 -0
- package/src/php/Utils/BigInt.php +77 -34
- package/src/php/Utils/RequestUtils.php +325 -25
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,36 @@
|
|
|
1
|
+
## Version 0.3.5 (Hotfix)
|
|
2
|
+
|
|
3
|
+
### 🛡️ Critical Fixes & Security Hardening:
|
|
4
|
+
- **IPv6 DNS Lookup for SEO Bots (JS/PHP)**:
|
|
5
|
+
- Fixed DNS validation (reverse + forward lookup) for legitimate search engine crawlers (Googlebot, Bingbot, etc.) connecting over IPv6.
|
|
6
|
+
- Added explicit queries for IPv6 (`AAAA` records) in both the Node.js and PHP engines, preventing false positives and ensuring SEO indexing crawlers are never blocked or challenged.
|
|
7
|
+
- **Enhanced JA4 & JA3 Spoofing Detectors (JS/PHP)**:
|
|
8
|
+
- Added detection of sophisticated JA4 fingerprints (`spoofedJa4s` blacklist) representing automated scraper clients (e.g., `curl-impersonate`, `tls-client`).
|
|
9
|
+
- Hardened JA3 anomaly detection to analyze raw JA3 signatures (`x-ja3-raw`), strictly validating GREASE mechanisms and ALPN HTTP version negotiations.
|
|
10
|
+
- **Firefox TE Header Anomaly Detection**:
|
|
11
|
+
- Refined header analysis to detect mismatches on the `TE` header. Legitimate desktop Firefox clients expect `TE: trailers`, whereas other desktop browsers or automated tools trying to mimic Firefox are now appropriately penalized.
|
|
12
|
+
|
|
13
|
+
## Version 0.3.4
|
|
14
|
+
|
|
15
|
+
### ✨ Improvements :
|
|
16
|
+
- **Client Hints Inconsistency Score (JS/PHP)** :
|
|
17
|
+
- Implementation of cross-analysis between the traditional `User-Agent` header and the new Client Hints headers (`Sec-CH-UA`).
|
|
18
|
+
- Calculation of a progressive anomaly score upon inconsistency: a penalty of `90` for a mismatched browser change, `80` for a major version gap exceeding 5 versions, and `40` for a minor gap exceeding 1 version.
|
|
19
|
+
- **Support for JA4, JA4S, and JA4H (PHP)** :
|
|
20
|
+
- Integration of modern TLS JA4 transport fingerprints into the composite application fingerprint calculation (`getCompositeDeviceHash`).
|
|
21
|
+
- Prioritization of spoofing analysis via the JA4 database (`JA4_FINGERPRINT_DB`) to intercept sophisticated User-Agent impersonation attempts before falling back to JA3.
|
|
22
|
+
- **Subnet-based activity score (JS/PHP)** :
|
|
23
|
+
- Grouping of hosts by their respective IP subnets (using `/24` CIDR masking for IPv4 and `/48` for IPv6).
|
|
24
|
+
- Tracking of an internal reputation score (`subnetScore`) to mitigate distributed attacks from rotating proxies by analyzing the proliferation of new `deviceIds` and the violation history of an entire network block.
|
|
25
|
+
- **Optional GMP support** :
|
|
26
|
+
- Optimization of arithmetic operations on 256-bit integers (BigInt) for PoW difficulty target calculation (`calculateTarget`) using the native PHP `GMP` extension, with a seamless fallback if the extension is missing. - **PHP `imul` simulation (`test imul`)** :
|
|
27
|
+
- Added strict emulation of JavaScript's 32-bit signed integer multiplication (`Math.imul`) in PHP to ensure the Proof-of-Work memory allocation algorithm behaves identically.
|
|
28
|
+
- **WebAssembly solver dynamic loader (`wasmPath loader`)** :
|
|
29
|
+
- Integrated a configurable loader to facilitate the dynamic and secure loading of the compiled WASM module via a URI or local path option (`wasmPath`).
|
|
30
|
+
- **WebAssembly nonce (`wasm nonce`)** :
|
|
31
|
+
- Secured the algorithm's resolution and cryptographic evaluation handshake within the WebAssembly module by implementing a unique execution nonce to prevent replay attacks.
|
|
32
|
+
- Added ipReputationScore by flagging requests
|
|
33
|
+
|
|
1
34
|
## Version 0.3.3
|
|
2
35
|
|
|
3
36
|
This release introduces significant enhancements to client-side behavioral analysis, adds a crucial "dry run" mode for safe production testing, and improves the overall developer experience with an event-driven client library and better packaging.
|