Glance

AdvisoryAudited by Static analysis on Apr 30, 2026.

Overview

No suspicious patterns detected.

Findings (0)

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

API keys for services like GitHub, Anthropic, OpenAI, Notion, or Linear could be duplicated into another local credential store and then used by widgets or generated server code.

Why it was flagged

The skill encourages reusing credentials already known to the agent and copying them into Glance without explicit per-credential user approval.

Skill content
OpenClaw already knows your API keys... OpenClaw doesn't ask you to configure anything. It just stores your existing credentials in Glance's encrypted database
Recommendation

Require explicit user confirmation for each credential, explain where it will be stored and how it will be used, prefer least-privilege tokens, and do not assume credentials in agent memory may be reused automatically.

What this means

A local agent or process with GLANCE_URL may be able to mutate dashboard state without a separate Glance token.

Why it was flagged

The documented workflow lets the agent access local Glance APIs by setting an Origin header rather than using a bearer token, despite those APIs managing widgets and cached data.

Skill content
Auth note: Local requests with Origin header bypass Bearer token auth
Recommendation

Require bearer-token authorization for mutating and credential-related endpoints, declare any required token in metadata, and avoid treating a spoofable Origin header as authorization.

ConcernHigh Confidence
ASI01: Agent Goal Hijack
What this means

A malicious or compromised widget instruction could redirect the agent to perform actions unrelated to safe dashboard refreshes.

Why it was flagged

The agent is told to fetch instructions from a stored widget record and follow them, making dashboard/widget content an authoritative instruction source.

Skill content
sqlite3 $GLANCE_DATA/glance.db "SELECT json_extract(fetch, '$.instructions')..." ... # Follow the instructions, then:
Recommendation

Treat widget instructions as untrusted data, constrain them to a narrow data-refresh contract, and require user approval before using credentials, changing accounts, deleting data, or performing unrelated tool actions.

What this means

Bad refresh instructions can persist and repeatedly influence future agent behavior, especially for scheduled widgets.

Why it was flagged

Agent refresh widgets persist instructions and schedules that can be reused across future tasks.

Skill content
fetch.instructions ... REQUIRED if type is agent_refresh; fetch.schedule ... REQUIRED if type is agent_refresh (cron)
Recommendation

Store only structured, validated refresh parameters when possible; review any free-form instructions before enabling schedules; and provide a clear way to disable or reset agent_refresh widgets.

ConcernMedium Confidence
ASI05: Unexpected Code Execution
What this means

Generated widget code could call unexpected services, misuse stored credentials, or expose dashboard data if not reviewed.

Why it was flagged

The documented workflow has the agent create server-side widget code that can access stored credentials; the supplied artifacts do not show sandboxing or approval boundaries.

Skill content
"server_code": "const token = await getCredential('github'); ...", "server_code_enabled": true
Recommendation

Require user review before enabling server_code, sandbox execution, restrict outbound network access and credential access per widget, and log what each widget is allowed to do.

What this means

Running the installer gives code from an external domain control over local setup, dependency installation, and optional service installation.

Why it was flagged

The recommended one-line install executes a remote script that is not included in the reviewed artifacts.

Skill content
curl -fsSL https://openglance.dev/install.sh | bash
Recommendation

Inspect the installer before running it, prefer a pinned release or reviewed source checkout, and avoid piping remote scripts directly into a shell.

NoteHigh Confidence
ASI10: Rogue Agents
What this means

Glance may keep running and refreshing widgets after the original task is complete.

Why it was flagged

The macOS service example installs a launch agent that starts automatically and restarts persistently.

Skill content
<key>RunAtLoad</key> <true/> ... <key>KeepAlive</key> <true/>
Recommendation

Only install the background service if you want always-on behavior, and keep clear stop/unload instructions available.

What this means

A dashboard or widget action can wake the agent and cause it to process refresh work, so webhook tokens and allowed actions matter.

Why it was flagged

The optional refresh flow lets the dashboard call the OpenClaw gateway with a token to trigger agent activity.

Skill content
OPENCLAW_WEBHOOK_URL=http://localhost:18789/tools/invoke ... clicking refresh ... will instantly wake OpenClaw
Recommendation

Use a narrowly scoped webhook token, restrict the gateway to local trusted callers, and verify what payloads the dashboard can send to OpenClaw.