Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.
16 of your 19 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.

Scan timing: clone 2.75s · analysis 6.69s · 0.4 MB · GitHub API rate-limit (preflight)

pi-hole/pi-hole

https://github.com/pi-hole/pi-hole · scanned 2026-06-05 09:51 UTC (5 days, 17 hours ago) · 10 languages

39 raw signals (19 security + 20 graph) 99th percentile · Python · tiny (<2K LoC) System graph score 81 (higher by 7)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 5 days, 17 hours ago · v2 · 14 actionable findings from 2 signal sources. 15 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 55.0 0.15 8.25
security_score 100.0 0.25 25.00
testing_score 100.0 0.20 20.00
documentation_score 95.0 0.15 14.25
practices_score 84.0 0.15 12.60
code_quality 75.8 0.10 7.58
Overall 1.00 87.7
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

All 204 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.

LabelLayerStatusPath
README.md software healthy README.md
CONTRIBUTING.md software healthy CONTRIBUTING.md
gravity.sh software healthy gravity.sh
basic-install.sh software healthy automated install/basic-install.sh
uninstall.sh software healthy automated install/uninstall.sh
_fedora_41.Dockerfile software healthy test/_fedora_41.Dockerfile
__init__.py software healthy test/__init__.py
conftest.py software healthy test/conftest.py
_centos_10.Dockerfile software healthy test/_centos_10.Dockerfile
_alpine_3_21.Dockerfile software healthy test/_alpine_3_21.Dockerfile
README.md software healthy test/README.md
test_any_utils.py software healthy test/test_any_utils.py
_alpine_3_23.Dockerfile software healthy test/_alpine_3_23.Dockerfile
_ubuntu_20.Dockerfile software healthy test/_ubuntu_20.Dockerfile
_ubuntu_24.Dockerfile software healthy test/_ubuntu_24.Dockerfile
_centos_9.Dockerfile software healthy test/_centos_9.Dockerfile
test_any_automated_install.py software healthy test/test_any_automated_install.py
test_centos_fedora_common_support.py software healthy test/test_centos_fedora_common_support.py
_fedora_42.Dockerfile software healthy test/_fedora_42.Dockerfile
_debian_12.Dockerfile software healthy test/_debian_12.Dockerfile
setup.py software warning test/setup.py
_fedora_40.Dockerfile software healthy test/_fedora_40.Dockerfile
_debian_11.Dockerfile software healthy test/_debian_11.Dockerfile
_debian_13.Dockerfile software healthy test/_debian_13.Dockerfile
_fedora_43.Dockerfile software healthy test/_fedora_43.Dockerfile
requirements.txt software healthy test/requirements.txt
_ubuntu_22.Dockerfile software healthy test/_ubuntu_22.Dockerfile
_alpine_3_22.Dockerfile software healthy test/_alpine_3_22.Dockerfile
gravity.db.sql software healthy advanced/Templates/gravity.db.sql
pihole-FTL-prestart.sh software healthy advanced/Templates/pihole-FTL-prestart.sh
pihole-FTL-poststop.sh software healthy advanced/Templates/pihole-FTL-poststop.sh
gravity_copy.sql software healthy advanced/Templates/gravity_copy.sql
version.sh software healthy advanced/Scripts/version.sh
updatecheck.sh software healthy advanced/Scripts/updatecheck.sh
list.sh software healthy advanced/Scripts/list.sh
piholeDebug.sh software healthy advanced/Scripts/piholeDebug.sh
update.sh software healthy advanced/Scripts/update.sh
piholeNetworkFlush.sh software healthy advanced/Scripts/piholeNetworkFlush.sh
query.sh software healthy advanced/Scripts/query.sh
api.sh software healthy advanced/Scripts/api.sh
piholeLogFlush.sh software healthy advanced/Scripts/piholeLogFlush.sh
piholeCheckout.sh software healthy advanced/Scripts/piholeCheckout.sh
utils.sh software healthy advanced/Scripts/utils.sh
gravity-db.sh software healthy advanced/Scripts/database_migration/gravity-db.sh
12_to_13.sql software healthy advanced/Scripts/database_migration/gravity/12_to_13.sql
3_to_4.sql software healthy advanced/Scripts/database_migration/gravity/3_to_4.sql
14_to_15.sql software healthy advanced/Scripts/database_migration/gravity/14_to_15.sql
19_to_20.sql software healthy advanced/Scripts/database_migration/gravity/19_to_20.sql
7_to_8.sql software healthy advanced/Scripts/database_migration/gravity/7_to_8.sql
2_to_3.sql software healthy advanced/Scripts/database_migration/gravity/2_to_3.sql

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
run_bash software healthy test/conftest.py:15
host software healthy test/conftest.py:31
mock_command software healthy test/conftest.py:48
mock_command_passthrough software healthy test/conftest.py:77
mock_command_run software healthy test/conftest.py:114
mock_command_2 software healthy test/conftest.py:143
run_script software healthy test/conftest.py:172
test_key_val_replacement_works software healthy test/test_any_utils.py:1
test_getFTLPID_default software healthy test/test_any_utils.py:18
test_setFTLConfigValue_getFTLConfigValue software healthy test/test_any_utils.py:28
test_supported_package_manager software healthy test/test_any_automated_install.py:16
test_selinux_not_detected software healthy test/test_any_automated_install.py:33
get_directories_recursive software healthy test/test_any_automated_install.py:47
test_installPihole_fresh_install_readableFiles software healthy test/test_any_automated_install.py:56
test_update_package_cache_success_no_errors software healthy test/test_any_automated_install.py:186
test_update_package_cache_failure_no_errors software healthy test/test_any_automated_install.py:200
test_FTL_detect_no_errors software healthy test/test_any_automated_install.py:228
test_FTL_development_binary_installed_and_responsive_no_err… software healthy test/test_any_automated_install.py:267
test_IPv6_only_link_local software healthy test/test_any_automated_install.py:288
test_IPv6_only_ULA software healthy test/test_any_automated_install.py:306
test_IPv6_only_GUA software healthy test/test_any_automated_install.py:329
test_IPv6_GUA_ULA_test software healthy test/test_any_automated_install.py:352
test_IPv6_ULA_GUA_test software healthy test/test_any_automated_install.py:376
test_validate_ip software healthy test/test_any_automated_install.py:400
test_address software healthy test/test_any_automated_install.py:405
test_package_manager_has_pihole_deps software healthy test/test_any_automated_install.py:441
test_meta_package_uninstall software healthy test/test_any_automated_install.py:456
mock_selinux_config software healthy test/test_centos_fedora_common_support.py:8
test_selinux_enforcing_exit software healthy test/test_centos_fedora_common_support.py:24
test_selinux_permissive software healthy test/test_centos_fedora_common_support.py:40
test_selinux_disabled software healthy test/test_centos_fedora_common_support.py:54

LabelLayerStatusPath
1.2.3.4 network healthy gravity.sh
5.6.7.8 network healthy gravity.sh
8.8.8.8 network healthy automated install/basic-install.sh
8.8.4.4 network healthy automated install/basic-install.sh
208.67.222.222 network healthy automated install/basic-install.sh
208.67.220.220 network healthy automated install/basic-install.sh
4.2.2.1 network healthy automated install/basic-install.sh
4.2.2.2 network healthy automated install/basic-install.sh
8.26.56.26 network healthy automated install/basic-install.sh
8.20.247.20 network healthy automated install/basic-install.sh
9.9.9.9 network healthy automated install/basic-install.sh
149.112.112.112 network healthy automated install/basic-install.sh
9.9.9.10 network healthy automated install/basic-install.sh
149.112.112.10 network healthy automated install/basic-install.sh
9.9.9.11 network healthy automated install/basic-install.sh
149.112.112.11 network healthy automated install/basic-install.sh
1.1.1.1 network healthy automated install/basic-install.sh
1.0.0.1 network healthy automated install/basic-install.sh
127.0.0.1 network healthy automated install/basic-install.sh
192.168.1.1 network healthy test/test_any_automated_install.py
255.255.255.255 network healthy test/test_any_automated_install.py
255.255.255.256 network healthy test/test_any_automated_install.py
255.255.256.255 network healthy test/test_any_automated_install.py
255.256.255.255 network healthy test/test_any_automated_install.py
256.255.255.255 network healthy test/test_any_automated_install.py
00.0.0.0 network healthy test/test_any_automated_install.py
010.0.0.0 network healthy test/test_any_automated_install.py
001.0.0.0 network healthy test/test_any_automated_install.py

LabelLayerStatusPath
12_to_13.sql data healthy advanced/Scripts/database_migration/gravity/12_to_13.sql
3_to_4.sql data healthy advanced/Scripts/database_migration/gravity/3_to_4.sql
14_to_15.sql data healthy advanced/Scripts/database_migration/gravity/14_to_15.sql
19_to_20.sql data healthy advanced/Scripts/database_migration/gravity/19_to_20.sql
7_to_8.sql data healthy advanced/Scripts/database_migration/gravity/7_to_8.sql
2_to_3.sql data healthy advanced/Scripts/database_migration/gravity/2_to_3.sql
8_to_9.sql data healthy advanced/Scripts/database_migration/gravity/8_to_9.sql
13_to_14.sql data healthy advanced/Scripts/database_migration/gravity/13_to_14.sql
17_to_18.sql data healthy advanced/Scripts/database_migration/gravity/17_to_18.sql
18_to_19.sql data healthy advanced/Scripts/database_migration/gravity/18_to_19.sql
11_to_12.sql data healthy advanced/Scripts/database_migration/gravity/11_to_12.sql
5_to_6.sql data healthy advanced/Scripts/database_migration/gravity/5_to_6.sql
10_to_11.sql data healthy advanced/Scripts/database_migration/gravity/10_to_11.sql
9_to_10.sql data healthy advanced/Scripts/database_migration/gravity/9_to_10.sql
15_to_16.sql data healthy advanced/Scripts/database_migration/gravity/15_to_16.sql
1_to_2.sql data healthy advanced/Scripts/database_migration/gravity/1_to_2.sql
4_to_5.sql data healthy advanced/Scripts/database_migration/gravity/4_to_5.sql
6_to_7.sql data healthy advanced/Scripts/database_migration/gravity/6_to_7.sql
16_to_17.sql data healthy advanced/Scripts/database_migration/gravity/16_to_17.sql

LabelLayerStatusPath
group data healthy advanced/Templates/gravity.db.sql
domainlist data healthy advanced/Templates/gravity.db.sql
adlist data healthy advanced/Templates/gravity.db.sql
adlist_by_group data healthy advanced/Templates/gravity.db.sql
gravity data healthy advanced/Templates/gravity.db.sql
antigravity data healthy advanced/Templates/gravity.db.sql
info data healthy advanced/Templates/gravity.db.sql
domainlist_by_group data healthy advanced/Templates/gravity.db.sql
client data healthy advanced/Templates/gravity.db.sql
client_by_group data healthy advanced/Templates/gravity.db.sql
regex_blacklist_by_group data healthy advanced/Scripts/database_migration/gravity/2_to_3.sql
regex_whitelist data healthy advanced/Scripts/database_migration/gravity/2_to_3.sql
regex_whitelist_by_group data healthy advanced/Scripts/database_migration/gravity/2_to_3.sql

LabelLayerStatusPath
automated install software healthy automated install
test software healthy test
advanced software healthy advanced
Templates software healthy advanced/Templates
Scripts software healthy advanced/Scripts
database_migration software healthy advanced/Scripts/database_migration
gravity software healthy advanced/Scripts/database_migration/gravity
bash-completion software healthy advanced/bash-completion
.github software healthy .github
workflows software healthy .github/workflows

LabelLayerStatusPath
port:53 network healthy gravity.sh
port:443 network healthy gravity.sh
port:80 network healthy gravity.sh
port:2001 network healthy automated install/basic-install.sh
port:4860 network healthy automated install/basic-install.sh
port:2620 network healthy automated install/basic-install.sh
port:119 network healthy automated install/basic-install.sh
port:2606 network healthy automated install/basic-install.sh
port:4700 network healthy automated install/basic-install.sh
port:10 network healthy .github/dependabot.yml

LabelLayerStatusPath
smoke-tests cicd healthy .github/workflows/test.yml
distro-test cicd healthy .github/workflows/test.yml
main cicd healthy .github/workflows/merge-conflict.yml
analyze cicd healthy .github/workflows/codeql-analysis.yml
stale cicd healthy .github/workflows/stale_pr.yml
sync-branches cicd healthy .github/workflows/sync-back-to-dev.yml
stale_action cicd healthy .github/workflows/stale.yml
remove_stale cicd healthy .github/workflows/stale.yml

LabelLayerStatusPath
gha::test cicd healthy .github/workflows/test.yml
gha::merge-conflict cicd healthy .github/workflows/merge-conflict.yml
gha::codeql-analysis cicd healthy .github/workflows/codeql-analysis.yml
gha::stale_pr cicd healthy .github/workflows/stale_pr.yml
gha::sync-back-to-dev cicd healthy .github/workflows/sync-back-to-dev.yml
gha::stale cicd healthy .github/workflows/stale.yml

LabelLayerStatusPath
password_literal::advanced/Scripts/api.sh security healthy advanced/Scripts/api.sh
password_literal::advanced/Scripts/api.sh security healthy advanced/Scripts/api.sh
password_literal::advanced/Scripts/api.sh security healthy advanced/Scripts/api.sh

LabelLayerStatusPath
repobility-clone-ua6tenw4 software healthy /tmp/repobility-clone-ua6tenw4

LabelLayerStatusPath
GITHUB_TOKEN cicd healthy
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/522666b1-eddf-4a06-9f55-9898ff81e4c1/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/522666b1-eddf-4a06-9f55-9898ff81e4c1/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.