https://github.com/B0bTheSkull/loghound
· scanned 2026-06-17 01:19 UTC (1 month, 2 weeks ago)
2 raw signals (0 security + 2 graph)
Last scanned 1 month, 2 weeks ago · v2 · last Δ +21.7 (diff) · 2 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 73 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.
| Label | Layer | Status | Path |
|---|---|---|---|
__init__ |
software | healthy | reporter.py:29 |
_color |
software | healthy | reporter.py:32 |
banner |
software | healthy | reporter.py:37 |
info |
software | healthy | reporter.py:46 |
print_findings |
software | healthy | reporter.py:49 |
parse_since |
software | healthy | loghound.py:18 |
main |
software | healthy | loghound.py:31 |
test_parse_timestamp_valid |
software | healthy | tests/test_auth_parser.py:9 |
test_parse_timestamp_invalid_returns_none |
software | healthy | tests/test_auth_parser.py:18 |
test_failed_ssh_pattern_matches |
software | healthy | tests/test_auth_parser.py:22 |
test_failed_ssh_pattern_invalid_user |
software | healthy | tests/test_auth_parser.py:30 |
test_accepted_ssh_pattern_matches |
software | healthy | tests/test_auth_parser.py:38 |
test_useradd_pattern_matches |
software | healthy | tests/test_auth_parser.py:45 |
test_su_session_to_root |
software | healthy | tests/test_auth_parser.py:54 |
_write_auth_log |
software | healthy | tests/test_auth_parser.py:61 |
test_brute_force_detected |
software | healthy | tests/test_auth_parser.py:67 |
test_brute_force_below_threshold_not_detected |
software | healthy | tests/test_auth_parser.py:81 |
test_brute_force_success_critical |
software | healthy | tests/test_auth_parser.py:91 |
test_suspicious_sudo_detected |
software | healthy | tests/test_auth_parser.py:103 |
test_benign_sudo_not_flagged |
software | healthy | tests/test_auth_parser.py:112 |
test_user_creation_detected |
software | healthy | tests/test_auth_parser.py:121 |
test_off_hours_login_flagged |
software | healthy | tests/test_auth_parser.py:133 |
test_business_hours_login_not_flagged |
software | healthy | tests/test_auth_parser.py:142 |
test_parse_apache_ts_valid |
software | healthy | tests/test_web_parser.py:9 |
test_parse_apache_ts_invalid_returns_none |
software | healthy | tests/test_web_parser.py:16 |
test_combined_log_matches_typical_line |
software | healthy | tests/test_web_parser.py:20 |
_write_web_log |
software | healthy | tests/test_web_parser.py:31 |
test_scanner_useragent_detected |
software | healthy | tests/test_web_parser.py:37 |
test_normal_browser_not_flagged_as_scanner |
software | healthy | tests/test_web_parser.py:46 |
test_404_spike_detected |
software | healthy | tests/test_web_parser.py:55 |
test_sensitive_path_access_flagged |
software | healthy | tests/test_web_parser.py:65 |
test_high_request_volume_detected |
software | healthy | tests/test_web_parser.py:79 |
test_findings_sorted_by_severity |
software | healthy | tests/test_web_parser.py:89 |
parse_timestamp |
software | healthy | parsers/auth_parser.py:36 |
__init__ |
software | healthy | parsers/auth_parser.py:48 |
analyze |
software | healthy | parsers/auth_parser.py:52 |
parse_apache_ts |
software | healthy | parsers/web_parser.py:30 |
__init__ |
software | healthy | parsers/web_parser.py:39 |
analyze |
software | healthy | parsers/web_parser.py:43 |
| Label | Layer | Status | Path |
|---|---|---|---|
reporter.py |
software | healthy | reporter.py |
writeup.md |
software | healthy | writeup.md |
requirements.txt |
software | healthy | requirements.txt |
README.md |
software | healthy | README.md |
LICENSE |
software | healthy | LICENSE |
loghound.py |
software | healthy | loghound.py |
__init__.py |
software | healthy | tests/__init__.py |
test_auth_parser.py |
software | healthy | tests/test_auth_parser.py |
test_web_parser.py |
software | healthy | tests/test_web_parser.py |
test.yml |
software | healthy | .github/workflows/test.yml |
lint.yml |
software | healthy | .github/workflows/lint.yml |
auth_parser.py |
software | healthy | parsers/auth_parser.py |
__init__.py |
software | healthy | parsers/__init__.py |
web_parser.py |
software | healthy | parsers/web_parser.py |
| Label | Layer | Status | Path |
|---|---|---|---|
185.220.101.45 |
network | healthy | README.md |
1.2.3.4 |
network | healthy | tests/test_auth_parser.py |
10.0.0.5 |
network | healthy | tests/test_auth_parser.py |
203.0.113.45 |
network | healthy | tests/test_web_parser.py |
5.6.7.8 |
network | healthy | tests/test_web_parser.py |
9.9.9.9 |
network | healthy | tests/test_web_parser.py |
10.10.10.10 |
network | healthy | tests/test_web_parser.py |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
parsers |
software | healthy | parsers |
| Label | Layer | Status | Path |
|---|---|---|---|
Reporter |
software | healthy | reporter.py:28 |
AuthLogParser |
software | healthy | parsers/auth_parser.py:47 |
WebLogParser |
software | healthy | parsers/web_parser.py:38 |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::test |
cicd | healthy | .github/workflows/test.yml |
gha::lint |
cicd | healthy | .github/workflows/lint.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
test |
cicd | healthy | .github/workflows/test.yml |
lint |
cicd | healthy | .github/workflows/lint.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
B0bTheSkull__loghound |
software | healthy | /data/fable5_failed_archive/B0bTheSkull__loghound |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | README.md |
This page is publicly accessible at:
https://repobility.com/scan/bb243f9e-df9f-4afb-9252-2aac8088362e/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/bb243f9e-df9f-4afb-9252-2aac8088362e/
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.