Scan timing: clone 1.65s · analysis 21.78s · 3.3 MB · GitHub API rate-limit (preflight)
https://github.com/hackclub/hackatime
· scanned 2026-06-05 17:54 UTC (4 days, 20 hours ago)
· 10 languages
201 raw signals (117 security + 84 graph) System graph score 69 (lower by 6)
Last scanned 4 days, 20 hours ago · v2 · 97 actionable findings from 2 signal sources. 62 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
85.0 | 0.15 | 12.75 |
security_score |
36.2 | 0.25 | 9.05 |
testing_score |
61.0 | 0.20 | 12.20 |
documentation_score |
60.8 | 0.15 | 9.12 |
practices_score |
86.0 | 0.15 | 12.90 |
code_quality |
71.9 | 0.10 | 7.19 |
| Overall | 1.00 | 63.2 |
Showing 84 of 97 actionable findings. 159 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.
docker-compose.yml:15
app/models/concerns/user_fuzzy_search.rb:68
docker-compose.yml:1, 23 (2 hits)config/routes.rb:238
config/routes.rb:186, 187 (2 hits)config/routes.rb:338
config/routes.rb:143
config/routes.rb:319
app/jobs/update_geolite2_database_job.rb:33
app/controllers/api/hackatime/v1/hackatime_controller.rb:3app/controllers/api/summary_controller.rb:3app/controllers/api/v1/badges_controller.rb:4app/controllers/api/hackatime/v1/hackatime_controller.rb:3app/controllers/api/summary_controller.rb:3app/controllers/api/v1/badges_controller.rb:4docker-compose.yml:23
CI/CD securitycontainers
Dockerfile:12Dockerfile.dev:1Dockerfile.production-worker:10Dockerfile.dev:24
CI/CD securitycontainers
Dockerfile:33
CI/CD securitycontainers
.github/workflows/ci.yml:20, 42, 57, 73, 106, 126, 155, 202, +1 more (17 hits).github/workflows/update-linguist.yml:18 (2 hits).github/workflows/ci.yml:215
CI/CD securitySupply chainGitHub Actions
.github/workflows/ci.yml:23, 33, 45, 60, 76, 82, 109, 129, +4 more (24 hits)bun.lock
bun.lock
.github/workflows/ci.yml:144, 191 (2 hits)Dockerfile:33
containersRemote installer
.github/workflows/ci.yml:215
CI/CD securitySupply chainGithub actions
config/routes.rb:134
config/routes.rb:135
config/routes.rb:47
config/routes.rb:152
config/routes.rb:163
config/routes.rb:164
config/routes.rb:155
config/routes.rb:156
config/routes.rb:157
config/routes.rb:160
config/routes.rb:120
config/routes.rb:117
config/routes.rb:118
config/routes.rb:119
config/routes.rb:113
config/routes.rb:114
config/routes.rb:115
config/routes.rb:116
config/routes.rb:87
config/routes.rb:90
config/environments/development.rb:32
docker-compose.yml:23
CI/CD securitycontainers
Dockerfile.dev:1
CI/CD securitycontainers
Dockerfile.production-worker:49
CI/CD securitycontainers
Dockerfile:70
CI/CD securitycontainers
bun.lock
package.json
bun.lock
bun.lock
index.html
.well-known/security.txt
docs/editors/terminal.md:20
app/javascript/pages/WakatimeSetup/Index.svelte:44
.github/workflows/update-linguist.yml
CI/CD securitySupply chainGithub actions
app/models/heartbeat.rb:39
Weak hash
app/models/user.rb:298
Weak hash
Dockerfile
Ports
.dockerignore
CI/CD securitycontainers
docker-compose.yml:1
CI/CD securitycontainers
docker-compose.yml:1
CI/CD securitycontainers
docker-compose.yml:1
CI/CD securitycontainers
app/javascript/components/ModalInner.svelte:4app/javascript/pages/WakatimeAlternative.svelte:126db/migrate/20250305061242_uniqueness_index_to_hash_on_heartbeats.rb:4spec/requests/api/v1/users_spec.rb:174test/controllers/settings_imports_exports_controller_test.rb:36test/jobs/heartbeat_import_remote_download_job_test.rb:64package.json
humans.txt
Dockerfile:12
containersPinned dependencies
This page is publicly accessible at:
https://repobility.com/scan/56bb2fd3-05ef-451b-9d47-d06ccc7ed7eb/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/56bb2fd3-05ef-451b-9d47-d06ccc7ed7eb/
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.