Repository Analysis

TecharoHQ/anubis

Weighs the soul of incoming HTTP requests to stop AI crawlers

1.2 Likely human-written View on GitHub
1.2
Adjusted Score
1.2
Raw Score
100%
Time Factor
2026-05-30
Last Push
19,639
Stars
Go
Language
61,269
Lines of Code
513
Files
44
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 4MEDIUM 4LOW 36

Pattern Findings

44 matches across 7 categories. Click a row to expand file-level details.

Over-Commented Block25 hits · 25 pts
SeverityFileLineSnippet
LOWcmd/robots2policy/testdata/empty.robots.txt1# Empty robots.txt (comments only)
LOWinternal/test/playwright_test.go1//go:build !windows
LOWdocs/manifest/cfg/anubis/botPolicies.yaml1## Anubis has the ability to let you import snippets of configuration into the main
LOWdocs/manifest/cfg/anubis/botPolicies.yaml21 # Aggressively block AI/LLM related bots/agents by default
LOWdocs/manifest/cfg/anubis/botPolicies.yaml81#
LOW.github/workflows/spelling.yml1name: Check Spelling
LOW.github/workflows/spelling.yml21#
LOW.github/workflows/spelling.yml41# and configuring the action with `use_sarif: 1`
LOW.github/actions/spelling/patterns.txt61# hit-count: 1 file-count: 1
LOWlib/policy/checker_test.go301
LOWlib/store/bbolt/bbolt.go21// In essence, bbolt is a hierarchical key/value store with a twist: every value
LOWdata/botPolicies.yaml1## Anubis has the ability to let you import snippets of configuration into the main
LOWdata/botPolicies.yaml21 - import: (data)/bots/aggressive-brazilian-scrapers.yaml
LOWdata/botPolicies.yaml41 # Challenge Firefox AI previews
LOWdata/botPolicies.yaml81 # - name: high-load-average
LOWdata/botPolicies.yaml101 Mozilla|Opera
LOWdata/botPolicies.yaml121# # The HTML contents of the page. The exact contents of this page can
LOWdata/botPolicies.yaml141 enabled: false
LOWdata/botPolicies.yaml161# By default, send HTTP 200 back to clients that either get issued a challenge
LOWdata/botPolicies.yaml181# basicAuth:
LOWdata/botPolicies.yaml201#
LOWdata/bots/ai-catchall.yaml1# Extensive list of AI-affiliated agents based on https://github.com/ai-robots-txt/ai.robots.txt
LOWdata/meta/default-config.yaml1- # Pathological bots to deny
LOWdata/meta/default-config.yaml21# - Kagi
LOWdata/meta/default-config.yaml61 adjust: 10
Synthetic Comment Markers4 hits · 22 pts
SeverityFileLineSnippet
HIGHtest/default-config-macro/compare_bots.py6CW: generated by AI
HIGHinternal/honeypot/naive/naive.go25// XXX(Xe): All of this was generated by ChatGPT, GLM 4.6, and GPT-OSS 120b. This is pseudoprofound bullshit in spintax[
HIGHdocs/docs/developer/ai-coding-policy.md7However, I'd be in violation by doing this because I have knowingly committed minor bits of code to the Anubis repo that
HIGHlib/http.go155// XXX(Xe): generated by ChatGPT
Excessive Try-Catch Wrapping4 hits · 10 pts
SeverityFileLineSnippet
LOWtest/default-config-macro/compare_bots.py20 except Exception as e:
MEDIUMtest/default-config-macro/compare_bots.py21 print(f"Error loading {file_path}: {e}")
MEDIUMtest/default-config-macro/compare_bots.py35 print("Error: Not in a git repository")
MEDIUMtest/default-config-macro/compare_bots.py52 print("Error: 'bots' field not found in botPolicies.yaml")
Slop Phrases4 hits · 6 pts
SeverityFileLineSnippet
LOWdata/botPolicies.yaml83 # expression: load_1m >= 10.0 # make sure to end the load comparison in a .0
LOWdata/botPolicies.yaml94 # expression: load_15m <= 4.0 # make sure to end the load comparison in a .0
LOWdata/meta/default-config.yaml67# expression: load_1m >= 10.0 # make sure to end the load comparison in a .0
LOWdata/meta/default-config.yaml78# expression: load_15m <= 4.0 # make sure to end the load comparison in a .0
AI Slop Vocabulary2 hits · 4 pts
SeverityFileLineSnippet
LOWtest/default-config-macro/compare_bots.py26 # For lists, just return as is, since YAML comments are stripped by safe_load
MEDIUMdocs/package-lock.json16692 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
Fake / Example Data3 hits · 3 pts
SeverityFileLineSnippet
LOWinternal/ogtags/mem_test.go66 <meta name="author" content="John Doe">
LOWinternal/glob/glob_test.go178 "lorem ipsum dolor sit amet, consectetur adipiscing elit",
LOWinternal/glob/glob_test.go178 "lorem ipsum dolor sit amet, consectetur adipiscing elit",
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippet
LOW.github/workflows/go-mod-tidy-check.yml33 # Check if files changed
LOW.github/workflows/go-mod-tidy-check.yml61 # Check if files changed