Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Maylo Voice Assistant

v0.1.0

Offline-first voice assistant stack for macOS (Wake word + VAD recording + local Whisper ASR + OpenClaw agent response + offline TTS via macOS say). Use to i...

0· 359·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The skill description (offline macOS assistant) aligns with the code: wake-word (openWakeWord), VAD, local Whisper ASR (faster-whisper), an OpenClaw responder bridge, macOS 'say' TTS, and a web UI. However the registry lists no required binaries or credentials, while the code clearly expects/uses external binaries and services: the 'openclaw' CLI is invoked from bridge/milo_responder_openclaw.py, 'say' is used for TTS, openssl is used to generate certs in run_web_https.sh, and uvicorn is launched for the web UI. The metadata omission (no required binaries) is an incoherence and reduces transparency about prerequisites.
!
Instruction Scope
SKILL.md instructs copying the app, creating a venv, installing requirements, and running scripts — which is consistent with the code. But there are notable scope issues: (1) Despite 'offline-first' wording, openwakeword.utils.download_models() (in jarvis_minimal_test.py) and model loading (WhisperModel) may download pretrained models or require network access during setup or first run; pip install also downloads packages. (2) The web UI serves audio over WebSocket and the run_web_https.sh defaults to binding 0.0.0.0 with a self-signed cert, exposing the audio upload endpoint to the LAN; that is expected for the UI but is a privacy/network exposure you should explicitly consider. The runtime instructions do not call out these network interactions clearly.
Install Mechanism
There is no centralized install spec in registry (instruction-only), but the included scripts/install.sh will create a venv and pip install requirements.txt. This is normal but requires network access to PyPI and will pull packages (openwakeword, faster-whisper, onnxruntime, etc.). The script also optionally installs switchaudio-osx via Homebrew. Nothing is fetched from untrusted arbitrary URLs in the package itself, but third-party Python packages and model downloads are required.
Credentials
The skill does not request credentials or secrets in metadata. Code reads a few configuration env vars (MAYLO_* such as MAYLO_OPENCLAW_AGENT_ID, MAYLO_INPUT_DEVICE, MAYLO_WEB_WAKE) which are reasonable for runtime configuration. There are no declared or implicit demands for unrelated cloud credentials or secrets. The SKILL.md warns not to commit secrets.
Persistence & Privilege
The skill is not force-included (always:false) and uses standard background processes/threads. It launches background daemons (bridge/responder and main assistant) and a web server that by default binds 0.0.0.0 (network-exposed). While this is coherent with a web UI, it increases the blast radius on a LAN — consider restricting to localhost or firewalling the port if you want to limit exposure.
What to consider before installing
What to check before installing: - Expect to install Python packages and possibly download pretrained models; the 'offline-first' claim is accurate at runtime but not during setup — model and pip downloads may occur. Plan for network access during install. - The code invokes the 'openclaw' CLI locally (bridge/milo_responder_openclaw.py). Ensure you intentionally install and trust the openclaw binary on the same machine; the skill will run 'openclaw agent --local' via subprocess. - This is macOS-focused: it calls the 'say' command and uses macOS audio behavior. It will generate a self-signed cert and default to binding the web UI to 0.0.0.0:8443 (accessible on your LAN). If you do not want LAN access, run the web UI on localhost or use a firewall. - The package metadata omits required binaries (openclaw, openssl/uvicorn/runtime expectations). Treat that as a transparency issue: verify prerequisites before running. - If privacy is a concern: inspect recordings/ directory (logs and possible saved WAVs), and consider running the project in an isolated environment (VM or sandbox) and reviewing the bridge/responder logs to confirm all processing is local. - If you want higher confidence: review/verify openclaw installation/source, audit the exact versions of pip packages installed, and search for any unexpected outbound network connections during install and first run.

Like a lobster shell, security has layers — review code before you run it.

latestvk9738xz0pqk0kvb5cz5j8h9s5h823pp5
359downloads
0stars
1versions
Updated 7h ago
v0.1.0
MIT-0

Maylo Voice Assistant (macOS)

What this skill ships

  • A self-contained app under assets/app/:
    • Wake word listener (openWakeWord)
    • VAD recording (webrtcvad)
    • Local ASR (faster-whisper)
    • Responder bridge via OpenClaw (openclaw agent --local)
    • Offline TTS via say -v Yelda
    • Web UI (HTTPS + WebSocket audio streaming)

Install / Setup (fresh machine)

  1. Copy the app to a working directory (recommended):
    • cp -R <skill>/assets/app ~/maylo-voice-assistant
  2. Create venv + install deps:
    • Run: scripts/install.sh ~/maylo-voice-assistant
  3. Start the assistant (wake word + responder):
    • Run: scripts/run_assistant.sh ~/maylo-voice-assistant
  4. Start the HTTPS web UI for phone mic streaming:
    • Run: scripts/run_web_https.sh ~/maylo-voice-assistant --host 0.0.0.0 --port 8443
    • On iPhone/Android (same Wi‑Fi): https://<mac-ip>:8443
    • Accept the self-signed certificate warning.

Normal use

  • Wake word: say "Hey Jarvis" near the Mac mini, then speak your query.
  • Web UI: hold the mic button to talk; release to send.

Troubleshooting (fast)

  • Check logs:
    • recordings/assistant.log
    • recordings/responder.log
    • recordings/web.log
  • If wake word never triggers, run the minimal tester:
    • python jarvis_minimal_test.py
  • If the assistant responds to itself (feedback loop):
    • Set HDMI output back to Mac speakers / use headphones.
    • Increase MAYLO_POST_SAY_INHIBIT_SEC.

Security / Privacy

  • Do NOT package or commit:
    • OAuth client secrets, tokens, refresh tokens
    • Private certs/keys
  • This skill ships no secrets. Any tokens/keys must be created on the target machine.

Comments

Loading comments...