mirror of
https://github.com/TecharoHQ/anubis.git
synced 2026-04-11 11:08:48 +00:00
Compare commits
1 Commits
Xe/contrib
...
Xe/no-more
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c7f54aeb7d |
@@ -95,53 +95,6 @@ bots:
|
|||||||
# weight:
|
# weight:
|
||||||
# adjust: -10
|
# adjust: -10
|
||||||
|
|
||||||
# Assert behaviour that only genuine browsers display. This ensures that Chrome
|
|
||||||
# or Firefox versions
|
|
||||||
- name: realistic-browser-catchall
|
|
||||||
expression:
|
|
||||||
all:
|
|
||||||
- '"User-Agent" in headers'
|
|
||||||
- '( userAgent.contains("Firefox") ) || ( userAgent.contains("Chrome") ) || ( userAgent.contains("Safari") )'
|
|
||||||
- '"Accept" in headers'
|
|
||||||
- '"Sec-Fetch-Dest" in headers'
|
|
||||||
- '"Sec-Fetch-Mode" in headers'
|
|
||||||
- '"Sec-Fetch-Site" in headers'
|
|
||||||
- '"Accept-Encoding" in headers'
|
|
||||||
- '( headers["Accept-Encoding"].contains("zstd") || headers["Accept-Encoding"].contains("br") )'
|
|
||||||
- '"Accept-Language" in headers'
|
|
||||||
action: WEIGH
|
|
||||||
weight:
|
|
||||||
adjust: -10
|
|
||||||
|
|
||||||
# The Upgrade-Insecure-Requests header is typically sent by browsers, but not always
|
|
||||||
- name: upgrade-insecure-requests
|
|
||||||
expression: '"Upgrade-Insecure-Requests" in headers'
|
|
||||||
action: WEIGH
|
|
||||||
weight:
|
|
||||||
adjust: -2
|
|
||||||
|
|
||||||
# Chrome should behave like Chrome
|
|
||||||
- name: chrome-is-proper
|
|
||||||
expression:
|
|
||||||
all:
|
|
||||||
- userAgent.contains("Chrome")
|
|
||||||
- '"Sec-Ch-Ua" in headers'
|
|
||||||
- 'headers["Sec-Ch-Ua"].contains("Chromium")'
|
|
||||||
- '"Sec-Ch-Ua-Mobile" in headers'
|
|
||||||
- '"Sec-Ch-Ua-Platform" in headers'
|
|
||||||
action: WEIGH
|
|
||||||
weight:
|
|
||||||
adjust: -5
|
|
||||||
|
|
||||||
- name: should-have-accept
|
|
||||||
expression:
|
|
||||||
all:
|
|
||||||
- userAgent.contains("Mozilla")
|
|
||||||
- '!("Accept" in headers)'
|
|
||||||
action: WEIGH
|
|
||||||
weight:
|
|
||||||
adjust: 5
|
|
||||||
|
|
||||||
# Generic catchall rule
|
# Generic catchall rule
|
||||||
- name: generic-browser
|
- name: generic-browser
|
||||||
user_agent_regex: >-
|
user_agent_regex: >-
|
||||||
|
|||||||
@@ -79,53 +79,6 @@
|
|||||||
# weight:
|
# weight:
|
||||||
# adjust: -10
|
# adjust: -10
|
||||||
|
|
||||||
# Assert behaviour that only genuine browsers display. This ensures that Chrome
|
|
||||||
# or Firefox versions
|
|
||||||
- name: realistic-browser-catchall
|
|
||||||
expression:
|
|
||||||
all:
|
|
||||||
- '"User-Agent" in headers'
|
|
||||||
- '( userAgent.contains("Firefox") ) || ( userAgent.contains("Chrome") ) || ( userAgent.contains("Safari") )'
|
|
||||||
- '"Accept" in headers'
|
|
||||||
- '"Sec-Fetch-Dest" in headers'
|
|
||||||
- '"Sec-Fetch-Mode" in headers'
|
|
||||||
- '"Sec-Fetch-Site" in headers'
|
|
||||||
- '"Accept-Encoding" in headers'
|
|
||||||
- '( headers["Accept-Encoding"].contains("zstd") || headers["Accept-Encoding"].contains("br") )'
|
|
||||||
- '"Accept-Language" in headers'
|
|
||||||
action: WEIGH
|
|
||||||
weight:
|
|
||||||
adjust: -10
|
|
||||||
|
|
||||||
# The Upgrade-Insecure-Requests header is typically sent by browsers, but not always
|
|
||||||
- name: upgrade-insecure-requests
|
|
||||||
expression: '"Upgrade-Insecure-Requests" in headers'
|
|
||||||
action: WEIGH
|
|
||||||
weight:
|
|
||||||
adjust: -2
|
|
||||||
|
|
||||||
# Chrome should behave like Chrome
|
|
||||||
- name: chrome-is-proper
|
|
||||||
expression:
|
|
||||||
all:
|
|
||||||
- userAgent.contains("Chrome")
|
|
||||||
- '"Sec-Ch-Ua" in headers'
|
|
||||||
- 'headers["Sec-Ch-Ua"].contains("Chromium")'
|
|
||||||
- '"Sec-Ch-Ua-Mobile" in headers'
|
|
||||||
- '"Sec-Ch-Ua-Platform" in headers'
|
|
||||||
action: WEIGH
|
|
||||||
weight:
|
|
||||||
adjust: -5
|
|
||||||
|
|
||||||
- name: should-have-accept
|
|
||||||
expression:
|
|
||||||
all:
|
|
||||||
- userAgent.contains("Mozilla")
|
|
||||||
- '!("Accept" in headers)'
|
|
||||||
action: WEIGH
|
|
||||||
weight:
|
|
||||||
adjust: 5
|
|
||||||
|
|
||||||
# Generic catchall rule
|
# Generic catchall rule
|
||||||
- name: generic-browser
|
- name: generic-browser
|
||||||
user_agent_regex: >-
|
user_agent_regex: >-
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ Anubis is back and better than ever! Lots of minor fixes with some big ones inte
|
|||||||
- Open Graph passthrough now reuses the configured target Host/SNI/TLS settings, so metadata fetches succeed when the upstream certificate differs from the public domain. ([1283](https://github.com/TecharoHQ/anubis/pull/1283))
|
- Open Graph passthrough now reuses the configured target Host/SNI/TLS settings, so metadata fetches succeed when the upstream certificate differs from the public domain. ([1283](https://github.com/TecharoHQ/anubis/pull/1283))
|
||||||
- Stabilize the CVE-2025-24369 regression test by always submitting an invalid proof instead of relying on random POW failures.
|
- Stabilize the CVE-2025-24369 regression test by always submitting an invalid proof instead of relying on random POW failures.
|
||||||
- Refine the check that ensures the presence of the Accept header to avoid breaking docker clients.
|
- Refine the check that ensures the presence of the Accept header to avoid breaking docker clients.
|
||||||
|
- Removed rules intended to reward actual browsers due to abuse in the wild.
|
||||||
|
|
||||||
### Dataset poisoning
|
### Dataset poisoning
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user