other
- Location
scripts/stremio_cast.py:10- Finding
Hard-Coded Undisclosed External Streaming Endpoint
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is for casting Stremio to Chromecast, but it under-discloses a hard-coded external streaming endpoint and weakens browser security controls.
Review this skill before installing. Only use it in a contained environment, replace the hard-coded streamingServer with a user-approved local endpoint, remove the Chromium security-disabling flags, and avoid logging full stream URLs.
scripts/stremio_cast.py:10Hard-Coded Undisclosed External Streaming Endpoint
scripts/stremio_cast.py:15Chromium Sandbox and TLS Certificate Validation Disabled
scripts/stremio_cast.py:21Complete Stream URLs Written to Process Logs
YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).
---
name: stremio-cast
description: Busca conteúdo no Stremio Web e transmite para dispositivos Chromecast usando CATT e Playwright. Use para reproduzir filmes e séries diretamente do Stremio em TVs.
---
# Stremio Cast
Esta skill permite que o Manus automatize a interface web do Stremio para encontrar links de streaming locais e transmiti-los para um dispositivo Chromecast.
## Pré-requisitos
Para que esta skill funcione corretamente, o ambiente deve ter:
1. **Stremio Service** rodando localmente na porta `11470`.
2. **Playwright** instalado para automação do navegador.
3. **CATT (Cast All The Things)** inst
The skill advertises behavior that requires shell execution via Python and CATT, but the manifest does not declare any tool scope or allowed-tools boundary. This is dangerous because an agent may invoke shell capabilities implicitly, expanding execution privileges without explicit review or least-privilege controls.
The natural-language description, usage instructions, and trigger phrases are all written in Portuguese, including the explicit invocation examples in L28. There is no indication that the skill is intentionally region-specific or that users may interact in another language, which creates a language/locale policy concern under the stated rule.
The script passively intercepts browser requests and prints discovered stream URLs, which may expose sensitive playback endpoints, tokens, or session-bound media URLs in logs. Because these URLs are captured from network traffic rather than obtained through an explicit user-facing workflow, the skill collects and discloses data the user may not expect.
subprocess module calls execute external commands. Without careful input validation, this enables command injection.
print(f"[Moltbot] Transmitindo para {device}...")
try:
# Nota: Assume que 'catt' está instalado no ambiente
subprocess.Popen(['catt', '-d', device, 'cast', stream_url])
print(f"Sucesso: Reproduzindo '{query}' em {device}.")
# Mantemos o script rodando por um tempo para garantir que o stream inicie
# No ambiente real, o processo pai deve gerenciar o ciclo de vida do navegador
The manifest describes searching Stremio Web and transmitting to Chromecast, but the implementation achieves casting by spawning a local command-line tool via subprocess.Popen. Launching arbitrary local executables is a stronger capability than the stated user-facing purpose and is not explicitly disclosed in the manifest text.
The script's printed status, error, and usage messages are written in Portuguese only. That imposes a specific language on all users without opt-in or justification, which matches the locale-policy concern described in this rule.
No suspicious patterns detected.