Living Room Smoke Detector

PassAudited by ClawScan on May 1, 2026.

Overview

The artifacts show a coherent local smoke-alert helper, with user-visible notes around a Dirigera token, cron scheduling, local audio commands, and unverified TLS to the hub.

This appears purpose-aligned, but install it only if you want a cron-based local alarm that uses your Dirigera token and Mac speaker. Verify the hub IP, protect the token file, trust the audio tools, remove the cron entry if you uninstall it, and treat it only as a backup rather than a certified smoke alarm.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

The skill can authenticate to your Dirigera hub and read the device list/environment sensor values.

Why it was flagged

The script reads a local Dirigera token and uses it as a bearer token to query the hub. This is disclosed and purpose-aligned, but it is credentialed smart-home access.

Skill content
TOKEN_FILE = os.path.expanduser("~/.openclaw/workspace/.dirigera_token") ... headers = {"Authorization": f"Bearer {token}"}
Recommendation

Install only if this token path and hub access are intended; protect the token file and use the narrowest-scoped hub credential available.

What this means

On an untrusted or spoofed local network, the token-bearing request could be sent to the wrong endpoint.

Why it was flagged

The hub API connection disables TLS hostname and certificate verification while using a bearer token. This may be common for local self-signed IoT hubs, but it weakens endpoint identity checks.

Skill content
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
Recommendation

Use this only on a trusted LAN, verify the hard-coded hub IP, and prefer certificate validation or certificate pinning if the hub setup supports it.

What this means

The skill will run local macOS audio tools and ffmpeg to create or play the alert sound.

Why it was flagged

The script invokes local audio-generation and playback commands. This is central to the stated audible alert purpose and uses fixed argument lists rather than shell strings.

Skill content
subprocess.run(['afplay', ALERT_SOUND_PATH] ...); subprocess.run(['say', '-v', 'Samantha' ...]); subprocess.run(['ffmpeg', '-y', '-i', aiff ...])
Recommendation

Ensure 'afplay', 'say', and 'ffmpeg' are expected and installed from trusted sources before enabling the skill.

What this means

Once added to cron, the detector can keep running periodically and may keep playing alerts until the sensor reports normal air quality.

Why it was flagged

The skill documents recurring cron execution and a long-running alert loop. This is disclosed and purpose-aligned for an alarm, but it is persistent behavior the user must intentionally manage.

Skill content
Add to crontab to check every 5 minutes ... Loops until cleared - keeps playing every 5 seconds until air quality normalizes
Recommendation

Only add the cron entry deliberately, remove it when uninstalling, and consider a lock/single-instance guard to avoid overlapping runs during a long alert.