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 18 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.
Upstream (GitHub) caused delay on this scan — not Repobility.
  • GitHub API rate-limited (HTTP 403) — preflight skipped, fell back to direct git clone.
  • Clone from GitHub took 254.16s for a 251.5 MB repo slow.
  • Repobility's analysis ran in 0.44s after the clone landed.

KudoAI/chatgpt.js

https://github.com/KudoAI/chatgpt.js · scanned 2026-06-05 21:50 UTC (4 days, 5 hours ago) · 10 languages

18 findings 11/13 scanners ran 52nd percentile · Javascript · small (2-20K LoC)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

6 actionable findings from 1 signal source. 12 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 85.0 0.15 12.75
security_score 100.0 0.25 25.00
testing_score 0.0 0.20 0.00
documentation_score 40.0 0.15 6.00
practices_score 67.0 0.15 10.05
code_quality 80.0 0.10 8.00
Overall 1.00 61.8
security_score may be inflated — optional security scanners were skipped on this fast scan
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

Showing 3 of 6 actionable findings. 18 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.

low Security checks cicd CI/CD security conf 0.90 ✓ Repobility 13 occurrences GitHub Action is tag-pinned rather than SHA-pinned
[MINED115] Action `actions/checkout` pinned to mutable ref `@v6.0.3`: `uses: actions/[email protected]` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit …
9 files, 13 locations
.github/workflows/lint-on-push-pr.yml:10, 11 (2 hits)
.github/workflows/publish-to-npm-on-new-tag.yml:15, 16 (2 hits)
.github/workflows/sync-changes-to-js-utils.yml:16, 20 (2 hits)
.github/workflows/sync-chatgpt.js-changes-to-chrome-starter.yml:17, 21 (2 hits)
.github/workflows/sync-changes-to-gitlab.yml:16
.github/workflows/sync-chatgpt.js-releases-to-js-utils.yml:15
.github/workflows/sync-en-readme-changes.yml:19
.github/workflows/update-jsd-shields-weekly.yml:17
CI/CD securitySupply chainGitHub Actions
medium Security checks cicd CI/CD security conf 0.90 ✓ Repobility GitHub Action is tag-pinned rather than SHA-pinned
[MINED115] Action `JustinBeckwith/linkinator-action` pinned to mutable ref `@v2.4.2`: `uses: JustinBeckwith/[email protected]` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K…
.github/workflows/validate-links-on-push-pr.yml:17 CI/CD securitySupply chainGitHub Actions
low Security checks quality Documentation No LICENSE file
Add a LICENSE file to your repository. Use choosealicense.com to pick the right license (MIT for permissive, Apache 2.0 for patent protection, GPL for copyleft).
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/5bdade1a-ab64-4fbd-86a8-36517dfd50bc/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/5bdade1a-ab64-4fbd-86a8-36517dfd50bc/

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.