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.
35 of your 95 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.

Scan timing: clone 3.62s · analysis 49.74s · 3.2 MB · GitHub API rate-limit (preflight)

dsgnr/portchecker.io

https://github.com/dsgnr/portchecker.io · scanned 2026-06-05 23:59 UTC (4 days, 3 hours ago) · 10 languages

144 raw signals (94 security + 50 graph) 55th percentile · Python · small (2-20K LoC) System graph score 82 (lower by 11)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 4 days, 3 hours ago · v2 · 96 actionable findings from 2 signal sources. 23 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 27.3 0.25 6.83
testing_score 100.0 0.20 20.00
documentation_score 90.0 0.15 13.50
practices_score 92.0 0.15 13.80
code_quality 79.4 0.10 7.94
Overall 1.00 70.3
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

All 221 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
setupDOM software healthy frontend/web/src/__tests__/index.test.js:setupDOM
generateSuccessHtml software healthy frontend/web/src/__tests__/index.test.js:generateSuccessHtml
resetPendingAlert software healthy frontend/web/src/__tests__/index.test.js:resetPendingAlert
should software healthy frontend/web/src/__tests__/index.test.js:should
initializeState software healthy frontend/web/src/js/index.js:initializeState
setupEventListeners software healthy frontend/web/src/js/index.js:setupEventListeners
handleSubmit software healthy frontend/web/src/js/index.js:handleSubmit
validateHostInput software healthy frontend/web/src/js/index.js:validateHostInput
validatePortsInput software healthy frontend/web/src/js/index.js:validatePortsInput
addPort software healthy frontend/web/src/js/index.js:addPort
loadUserIp software healthy frontend/web/src/js/index.js:loadUserIp
queryHost software healthy frontend/web/src/js/index.js:queryHost
updateView software healthy frontend/web/src/js/index.js:updateView
showResults software healthy frontend/web/src/js/index.js:showResults
hideResults software healthy frontend/web/src/js/index.js:hideResults
showError software healthy frontend/web/src/js/index.js:showError
hideError software healthy frontend/web/src/js/index.js:hideError
client software healthy backend/tests/conftest.py:26
mock_connect software healthy backend/tests/conftest.py:31
mock_socket software healthy backend/tests/conftest.py:37
mock_request_path software healthy backend/tests/conftest.py:47
mock_request software healthy backend/tests/conftest.py:53
__init__ software healthy backend/tests/conftest.py:59
test_is_address_valid_public_ipv4 software healthy backend/tests/test_valid_address.py:9
test_is_address_valid_private_ipv4_with_allow_private software healthy backend/tests/test_valid_address.py:14
test_is_address_valid_private_ipv4_without_allow_private software healthy backend/tests/test_valid_address.py:20
test_is_address_ipv6 software healthy backend/tests/test_valid_address.py:29
test_is_address_valid_invalid_address software healthy backend/tests/test_valid_address.py:35
test_is_address_valid_none software healthy backend/tests/test_valid_address.py:44
test_is_address_valid_loopback_without_allow_private software healthy backend/tests/test_valid_address.py:50
test_is_valid_hostname_valid software healthy backend/tests/test_hostname.py:12
test_is_valid_hostname_valid_with_ip software healthy backend/tests/test_hostname.py:18
test_is_valid_hostname_with_scheme software healthy backend/tests/test_hostname.py:24
test_is_valid_hostname_invalid software healthy backend/tests/test_hostname.py:30
test_is_valid_hostname_empty software healthy backend/tests/test_hostname.py:39
test_is_valid_hostname_localhost software healthy backend/tests/test_hostname.py:45
test_validation_exception_handler software healthy backend/tests/test_exception_handlers.py:14
test_json_api_exception_handler software healthy backend/tests/test_exception_handlers.py:32
test_text_value_error_exception_handler software healthy backend/tests/test_exception_handlers.py:53
test_get_requester_with_cf_connecting_ip software healthy backend/tests/test_get_requester.py:7
test_get_requester_with_do_connecting_ip software healthy backend/tests/test_get_requester.py:13
test_get_requester_with_x_real_ip software healthy backend/tests/test_get_requester.py:19
test_get_requester_prioritizes_known_headers software healthy backend/tests/test_get_requester.py:25
test_get_requester_no_known_headers software healthy backend/tests/test_get_requester.py:37
test_get_requester_empty_headers software healthy backend/tests/test_get_requester.py:44
test_get_requester_case_insensitivity software healthy backend/tests/test_get_requester.py:51
test_apischema_valid software healthy backend/tests/test_schemas_api.py:17
test_apischema_missing_host software healthy backend/tests/test_schemas_api.py:25
test_apicheckschema_valid software healthy backend/tests/test_schemas_api.py:32
test_apiresponseschema_valid software healthy backend/tests/test_schemas_api.py:40

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

LabelLayerStatusPath
README.md software healthy README.md
docker-compose-dev.yml software healthy docker-compose-dev.yml
docker-compose.smoke.yml software healthy docker-compose.smoke.yml
.pre-commit-config.yaml software healthy .pre-commit-config.yaml
CHANGELOG.md software healthy CHANGELOG.md
docker-compose.yml software healthy docker-compose.yml
Dockerfile software healthy frontend/Dockerfile
entrypoint.sh software healthy frontend/entrypoint.sh
playwright.config.js software warning frontend/web/playwright.config.js
jest.config.js software warning frontend/web/jest.config.js
package.json software healthy frontend/web/package.json
webpack.config.js software warning frontend/web/webpack.config.js
checker.spec.js software warning frontend/web/browser-tests/checker.spec.js
index.html software healthy frontend/web/src/index.html
setup.js software warning frontend/web/src/__tests__/setup.js
index.test.js software healthy frontend/web/src/__tests__/index.test.js
index.js software healthy frontend/web/src/js/index.js
index.css software healthy frontend/web/src/css/index.css
smoke.sh software healthy scripts/smoke.sh
entrypoint_dev.sh software healthy backend/entrypoint_dev.sh
Dockerfile software healthy backend/Dockerfile
pyproject.toml software healthy backend/pyproject.toml
entrypoint.sh software healthy backend/entrypoint.sh
__init__.py software healthy backend/tests/__init__.py
conftest.py software healthy backend/tests/conftest.py
test_valid_address.py software healthy backend/tests/test_valid_address.py
test_hostname.py software healthy backend/tests/test_hostname.py
test_exception_handlers.py software healthy backend/tests/test_exception_handlers.py
test_get_requester.py software healthy backend/tests/test_get_requester.py
test_schemas_api.py software healthy backend/tests/test_schemas_api.py
test_api_routes.py software healthy backend/tests/test_api_routes.py
test_query_address.py software healthy backend/tests/test_query_address.py
__init__.py software healthy backend/api/__init__.py
main.py software healthy backend/api/main.py
__init__.py software healthy backend/api/app/__init__.py
__init__.py software healthy backend/api/app/routes/__init__.py
admin.py software healthy backend/api/app/routes/admin.py
v2.py software healthy backend/api/app/routes/v2.py
v1.py software healthy backend/api/app/routes/v1.py
__init__.py software healthy backend/api/app/helpers/__init__.py
query.py software healthy backend/api/app/helpers/query.py
exceptions.py software healthy backend/api/app/helpers/exceptions.py
handlers.py software healthy backend/api/app/helpers/handlers.py
__init__.py software healthy backend/api/app/schemas/__init__.py
api.py software healthy backend/api/app/schemas/api.py
FUNDING.yml software healthy .github/FUNDING.yml
dependabot.yml software healthy .github/dependabot.yml
dependency-review.yml software healthy .github/workflows/dependency-review.yml
codeql-analysis.yml software healthy .github/workflows/codeql-analysis.yml
web-code-test.yml software healthy .github/workflows/web-code-test.yml

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

LabelLayerStatusPath
frontend software healthy frontend
web software healthy frontend/web
browser-tests software healthy frontend/web/browser-tests
src software healthy frontend/web/src
__tests__ software healthy frontend/web/src/__tests__
js software healthy frontend/web/src/js
css software healthy frontend/web/src/css
scripts software healthy scripts
backend software healthy backend
tests software healthy backend/tests
api software healthy backend/api
app software healthy backend/api/app
routes software healthy backend/api/app/routes
helpers software healthy backend/api/app/helpers
schemas software healthy backend/api/app/schemas
.github software healthy .github
workflows software healthy .github/workflows
grafana software healthy grafana

LabelLayerStatusPath
review cicd healthy .github/workflows/dependency-review.yml
analyze cicd healthy .github/workflows/codeql-analysis.yml
prettier cicd healthy .github/workflows/web-code-test.yml
eslint cicd healthy .github/workflows/web-code-test.yml
jest cicd healthy .github/workflows/web-code-test.yml
auto-merge cicd healthy .github/workflows/dependabot-auto-merge.yml
build cicd healthy .github/workflows/ghcr-tag-build.yml
pytest cicd healthy .github/workflows/api-code-test.yml
pylint cicd healthy .github/workflows/api-code-test.yml
isort cicd healthy .github/workflows/api-code-test.yml
build-images cicd healthy .github/workflows/smoke-test.yml
smoke cicd healthy .github/workflows/smoke-test.yml
browser-tests cicd healthy .github/workflows/smoke-test.yml
stack-pass cicd healthy .github/workflows/smoke-test.yml

LabelLayerStatusPath
127.0.0.1 network healthy docker-compose.smoke.yml
1.1.1.1 network healthy frontend/web/browser-tests/checker.spec.js
192.168.1.100 network healthy frontend/web/src/__tests__/index.test.js
203.0.113.7 network healthy scripts/smoke.sh
1.2.3.4 network healthy backend/tests/conftest.py
192.168.1.1 network healthy backend/tests/conftest.py
8.8.8.8 network healthy backend/tests/conftest.py
192.168.1.2 network healthy backend/tests/test_get_requester.py
192.168.1.3 network healthy backend/tests/test_get_requester.py
192.168.1.4 network healthy backend/tests/test_get_requester.py
192.168.1.5 network healthy backend/tests/test_get_requester.py

LabelLayerStatusPath
gha::dependency-review cicd healthy .github/workflows/dependency-review.yml
gha::codeql-analysis cicd healthy .github/workflows/codeql-analysis.yml
gha::web-code-test cicd healthy .github/workflows/web-code-test.yml
gha::dependabot-auto-merge cicd healthy .github/workflows/dependabot-auto-merge.yml
gha::ghcr-tag-build cicd healthy .github/workflows/ghcr-tag-build.yml
gha::api-code-test cicd healthy .github/workflows/api-code-test.yml
gha::smoke-test cicd healthy .github/workflows/smoke-test.yml

LabelLayerStatusPath
MockRequest software healthy backend/tests/conftest.py:56
JsonAPIException software healthy backend/api/app/helpers/exceptions.py:11
APISchema software healthy backend/api/app/schemas/api.py:61
APICheckSchema software healthy backend/api/app/schemas/api.py:68
APIResponseSchema software healthy backend/api/app/schemas/api.py:75
APIErrorResponseSchema software healthy backend/api/app/schemas/api.py:86

LabelLayerStatusPath
port:8080 network healthy docker-compose-dev.yml
port:8000 network healthy docker-compose-dev.yml
port:80 network healthy docker-compose.smoke.yml
port:443 network healthy frontend/web/src/__tests__/index.test.js
port:22 network healthy frontend/web/src/__tests__/index.test.js

LabelLayerStatusPath
GITHUB_TOKEN cicd healthy
PKG_DIR cicd healthy
REGISTRY cicd healthy
IMAGE_NAME cicd healthy
NODE_VERSION cicd healthy

LabelLayerStatusPath
image::frontend/Dockerfile hardware healthy frontend/Dockerfile
image::backend/Dockerfile hardware healthy backend/Dockerfile
web hardware healthy docker-compose.yml
api hardware healthy docker-compose.yml

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

LabelLayerStatusPath
nginx network healthy frontend/Dockerfile
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/32efe60e-cc3a-45bd-b1b0-9166304b5d82/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/32efe60e-cc3a-45bd-b1b0-9166304b5d82/

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.