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

Scan timing: clone 2.86s · analysis 25.38s · 3.5 MB · GitHub API rate-limit (preflight)

iptv-org/iptv

https://github.com/iptv-org/iptv · scanned 2026-06-05 05:19 UTC (11 hours, 2 minutes ago) · 10 languages

125 findings (71 legacy + 54 scanner) 66th percentile · Typescript · small (2-20K LoC) Scanner says 90 (lower by 19)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 11 hours, 2 minutes ago · v2 · 98 findings from 2 sources. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 75.0 0.15 11.25
security_score 48.9 0.25 12.22
testing_score 90.0 0.20 18.00
documentation_score 75.0 0.15 11.25
practices_score 67.0 0.15 10.05
code_quality 80.0 0.10 8.00
Overall 1.00 70.8
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

Bug-class explainers. Each card groups findings of the same shape — these are the patterns most likely to ship to prod and reappear in future scans unless you systematically fix the cause, not just the instance.

Fragile runtime 6 findings
What it is: Code that runs but breaks under predictable input — division by zero, missing keys, unbounded loops, off-by-one slicing.
Why it matters: Reaches production undetected because happy-path tests pass. First user with a weird input crashes the request.
How AI causes it: AI loves writing the happy path; doesn't probe edge cases unless explicitly asked.
Fix approach: Add property-based tests. Wrap external inputs with explicit validators. Use the framework's typed deserializer (Pydantic, attrs).
6 matching findings on this repo
  • medium [ERR002] Empty Catch Block: Empty catch blocks hide errors. scripts/commands/playlist/test.ts:200
  • info [MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - … scripts/commands/playlist/edit.ts:52
  • info [MINED044] Js Console Log Prod: console.log left in code. Should be replaced wi… scripts/commands/playlist/validate.ts:111
  • info [MINED044] Js Console Log Prod: console.log left in code. Should be replaced wi… scripts/commands/playlist/test.ts:171
  • info [MINED044] Js Console Log Prod: console.log left in code. Should be replaced wi… scripts/commands/playlist/edit.ts:39
  • high [SEC128] Async function without await — fire-and-forget Promise (AI mistake): A… scripts/api.ts:130
View all fragile runtime findings →
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/c3786ac9-f743-4cf5-be3e-6afdde35579b/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/c3786ac9-f743-4cf5-be3e-6afdde35579b/

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.