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.

bradautomates/claude-video

https://github.com/bradautomates/claude-video · scanned 2026-07-23 19:49 UTC (4 days, 20 hours ago)

26 raw signals (0 security + 26 graph)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 4 days, 20 hours ago · v3 · last Δ +0.2 (diff) · 26 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all
Corpus Intelligence Cross-corpus context (cohort percentile, top patterns, fix plan) is shown only on repositories you own. Sign up and connect your repo to view it.
Scan summary Repository scanned at 44.3/100 with 40.0% coverage. It contains 210 nodes across 0 cross-layer flows, written primarily in mixed languages. Engine surfaced 26 findings — concentrated in security (18), quality (6), cicd (2). Risk profile is high: 0 critical, 6 high, 17 medium. Recommended next step: open the security layer findings first — that's where the highest-impact wins live.

Showing 25 of 26 actionable findings. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

high System graph security Skillspector conf 0.95 SkillSpector OH1 (output-handling) in skills/watch/scripts/frames.py
subprocess.run(cmd, capture_output Model output is used without validation or sanitization. Unvalidated output injected into downstream contexts (SQL, shell, HTML) enables injection attacks and arbitrary code execution. Skill: watch Rule: OH1 Category: output-handling Severity: HIGH Confidence:…
skills/watch/scripts/frames.py:200 Mcp skillOutput handlingOh1
high System graph security Skillspector conf 0.95 SkillSpector OH1 (output-handling) in skills/watch/scripts/whisper.py
subprocess.run(cmd, capture_output Model output is used without validation or sanitization. Unvalidated output injected into downstream contexts (SQL, shell, HTML) enables injection attacks and arbitrary code execution. Skill: watch Rule: OH1 Category: output-handling Severity: HIGH Confidence:…
skills/watch/scripts/whisper.py:134 Mcp skillOutput handlingOh1
high System graph security Skillspector conf 0.60 SkillSpector PE3 (priv-esc) in skills/watch/scripts/config.py
.env" Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts. Skill: watch Rule: PE3 Category: priv-esc Severity: HIGH Confidence: 0.60 Remediation: Remove references to credential paths. Use environment variables or secrets managers. Fo…
skills/watch/scripts/config.py:10 Mcp skillPriv escPe3
high System graph security Skillspector conf 0.60 SkillSpector PE3 (priv-esc) in skills/watch/scripts/setup.py
.env Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts. Skill: watch Rule: PE3 Category: priv-esc Severity: HIGH Confidence: 0.60 Remediation: Remove references to credential paths. Use environment variables or secrets managers. For…
skills/watch/scripts/setup.py:14 Mcp skillPriv escPe3
high System graph security Skillspector conf 0.60 SkillSpector PE3 (priv-esc) in skills/watch/scripts/whisper.py
.env" Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts. Skill: watch Rule: PE3 Category: priv-esc Severity: HIGH Confidence: 0.60 Remediation: Remove references to credential paths. Use environment variables or secrets managers. Fo…
skills/watch/scripts/whisper.py:94 Mcp skillPriv escPe3
high System graph security Skillspector conf 0.70 SkillSpector SC6 (supply-chain) in skills/watch/scripts/setup.py
keys Package name closely resembles a popular package, suggesting possible typosquatting. Attackers publish malicious packages with similar names to trick developers into installing them. Skill: watch Rule: SC6 Category: supply-chain Severity: HIGH Confidence: 0.70 Remediation: Verify the pack…
skills/watch/scripts/setup.py:13 Mcp skillSupply chainSc6
medium System graph security Semgrep conf 0.55 dynamic urllib use detected — skills/watch/scripts/whisper.py:261
Detected a dynamic value being used with urllib. urllib supports 'file://' schemes, so a dynamic value controlled by a malicious actor may allow them to read arbitrary files. Audit uses of urllib calls to ensure user data cannot control the URLs, or consider using the 'requests' library instead. R…
skills/watch/scripts/whisper.py:261 SecurityPython
medium System graph cicd CI/CD security conf 1.00 GitHub Action is tag-pinned rather than SHA-pinned
actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA.
.github/workflows/release.yml:16 CI/CD securitySupply chainGithub actions
medium System graph cicd CI/CD security conf 1.00 GitHub Actions workflow grants broad write permissions
CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions.
.github/workflows/release.yml CI/CD securitySupply chainGithub actions
medium System graph quality Integrity conf 0.85 Network/subprocess call without timeout or try/except — skills/watch/scripts/download.py:87
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
skills/watch/scripts/download.py:87 runtime safetyRobustness
medium System graph quality Integrity conf 0.85 Network/subprocess call without timeout or try/except — skills/watch/scripts/frames.py:90
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
skills/watch/scripts/frames.py:90 runtime safetyRobustness
medium System graph quality Integrity conf 0.85 Network/subprocess call without timeout or try/except — skills/watch/scripts/setup.py:191
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
skills/watch/scripts/setup.py:191 runtime safetyRobustness
medium System graph quality Integrity conf 0.85 Network/subprocess call without timeout or try/except — skills/watch/scripts/whisper.py:134
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
skills/watch/scripts/whisper.py:134 runtime safetyRobustness
medium System graph security Coverage conf 1.00 No auth library detected
The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing.
auth
medium System graph security Skillspector conf 0.60 SkillSpector AST4 (behavioral-ast) in skills/watch/scripts/download.py
subprocess.run(cmd, stdout=sys.stderr, stderr=sys.stderr) subprocess module calls execute external commands. Without careful input validation, this enables command injection. Skill: watch Rule: AST4 Category: behavioral-ast Severity: MEDIUM Confidence: 0.60 Remediation: Use subprocess.run() wi…
skills/watch/scripts/download.py:87 Mcp skillBehavioral astAst4
medium System graph security Skillspector conf 0.60 SkillSpector AST4 (behavioral-ast) in skills/watch/scripts/frames.py
result = subprocess.run( [ "ffprobe", "-v", "quiet", "-print_format", "json", "-show_format", "-show_streams", str(P subprocess module calls execute external commands. Without careful input validation, this enables com…
skills/watch/scripts/frames.py:90 Mcp skillBehavioral astAst4
medium System graph security Skillspector conf 0.60 SkillSpector AST4 (behavioral-ast) in skills/watch/scripts/setup.py
result = subprocess.run(cmd) subprocess module calls execute external commands. Without careful input validation, this enables command injection. Skill: watch Rule: AST4 Category: behavioral-ast Severity: MEDIUM Confidence: 0.60 Remediation: Use subprocess.run() with shell=False and an explici…
skills/watch/scripts/setup.py:191 Mcp skillBehavioral astAst4
medium System graph security Skillspector conf 0.60 SkillSpector AST4 (behavioral-ast) in skills/watch/scripts/whisper.py
result = subprocess.run(cmd, capture_output=True, text=True) subprocess module calls execute external commands. Without careful input validation, this enables command injection. Skill: watch Rule: AST4 Category: behavioral-ast Severity: MEDIUM Confidence: 0.60 Remediation: Use subprocess.run()…
skills/watch/scripts/whisper.py:134 Mcp skillBehavioral astAst4
medium System graph security Skillspector conf 0.60 SkillSpector E1 (data-exfil) in skills/watch/scripts/whisper.py
https://api.groq.com/ Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended. Skill: watch Rule: E1 Category: data-exfil Severity: MEDIUM Confidence: 0.60 Remediation: Verify the destination URL is trusted and necessary. Rem…
skills/watch/scripts/whisper.py:29 Mcp skillData exfilE1
medium System graph security Skillspector conf 0.70 SkillSpector LP3 (mcp-least-priv) in skills/watch/SKILL.md
MCP Least Privilege Without declared permissions the skill's intent is opaque and cannot be validated. Skill: watch Rule: LP3 Category: mcp-least-priv Severity: MEDIUM Confidence: 0.70 Remediation: Add a 'permissions' field to SKILL.md listing the capabilities this skill requires.
skills/watch/SKILL.md:1 Mcp skillMcp least privLp3
medium System graph security Skillspector conf 0.70 SkillSpector PE2 (priv-esc) in skills/watch/scripts/setup.py
sudo Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified. Skill: watch Rule: PE2 Category: priv-esc Severity: MEDIUM Confidence: 0.70 Remediation: Avoid sudo/root unless strictly required. Prefer least-privilege patterns. If elevation is needed, docu…
skills/watch/scripts/setup.py:201 Mcp skillPriv escPe2
medium System graph security Skillspector conf 0.60 SkillSpector RA2 (rogue-agent) in skills/watch/scripts/setup.py
Create ~/.config Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction. Skill: watch Rule: RA2 Category: rogue-agent Severity: MEDIUM Confidence: 0.60 R…
skills/watch/scripts/setup.py:130 Mcp skillRogue agentRa2
medium System graph security Skillspector conf 0.60 SkillSpector RA2 (rogue-agent) in skills/watch/SKILL.md
create the file *before* you write any values into it). 3. Encourage a Whisper API key and ask the watch-preference questions below, then write the selected values into `~/.config Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session p…
skills/watch/SKILL.md:54 Mcp skillRogue agentRa2
low System graph quality Debug conf 1.00 Debug logging residue appears in source files
Found 96 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup.
CleanupRepo hardeningGenerated repo pattern
low System graph quality Agent instructions conf 1.00 Multiple root agent instruction files without precedence
The repo has multiple top-level AI-coder instruction files. Without precedence rules, different agents may follow different policies.
Governance
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/78df1135-29fc-47b7-889b-c98165068c6e/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/78df1135-29fc-47b7-889b-c98165068c6e/

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.