Skip to content

Conversation

@bneradt
Copy link
Contributor

@bneradt bneradt commented Jan 14, 2026

Problem:
When --preserve was enabled and a request passed through multiple proxies, each header was checked individually. This could result in mismatched fingerprint data - for example, x-ja3-raw being added by a downstream proxy while x-ja3-sig was preserved from an upstream proxy.

Solution:
The JA3 and JA4 fingerprint plugins now check if ANY header in a fingerprint group exists before adding headers. If any header in the group exists, ALL headers in that group are skipped.

Changes:

  • ja3_fingerprint: Added group-level checks for JA3 headers
  • ja4_fingerprint: Added --preserve option and group-level check for JA4 headers
  • Updated tests to verify group-level preserve behavior

@bneradt bneradt added this to the 10.2.0 milestone Jan 14, 2026
@bneradt bneradt self-assigned this Jan 14, 2026
@bneradt bneradt added ja3_fingerprint ja4_fingerprint Work related to JA4 fingerprinting labels Jan 14, 2026
Problem:
When --preserve was enabled and a request passed through multiple proxies,
each header was checked individually. This could result in mismatched
fingerprint data - for example, x-ja3-raw being added by a downstream proxy
while x-ja3-sig was preserved from an upstream proxy.

Solution:
The JA3 and JA4 fingerprint plugins now check if ANY header in a fingerprint
group exists before adding headers. If any header in the group exists, ALL
headers in that group are skipped.

Changes:
- ja3_fingerprint: Added group-level checks for JA3 headers
- ja4_fingerprint: Added --preserve option and group-level check for JA4 headers
- Updated tests to verify group-level preserve behavior
@bneradt bneradt force-pushed the ja_fix_preserve_across_headers_asf branch from 49e7f6f to a7a1dd3 Compare January 14, 2026 23:26
@bneradt bneradt changed the title Fix preserve logic to check for any header in fingerprint group ja*: Fix preserve logic to check for any header in fingerprint group Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ja3_fingerprint ja4_fingerprint Work related to JA4 fingerprinting

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant