Prismly

Security checks across malware telemetry and agentic risk

Overview

Prismly appears to be a real link-analysis plugin, but it stores OAuth tokens and runs a background service that can process remote Prismly tasks through local OpenClaw agents, which is more authority than the registry metadata makes clear.

Review this plugin before installing if you do not specifically want Prismly to run background link-analysis tasks through OpenClaw. If you proceed, log in only with an account you trust, bind a dedicated low-privilege agent, keep tool approvals enabled, monitor with the status/unbind commands, and know that credentials are stored under ~/.openclaw/credentials.

VirusTotal

VirusTotal engine telemetry is currently stale for this artifact.

View on VirusTotal

Risk analysis

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.

#
ASI03: Identity and Privilege Abuse
Medium
What this means

After login, the plugin can use the user's Prismly account tokens until they are cleared or revoked.

Why it was flagged

The plugin handles and persists OAuth access/refresh tokens, even though the supplied registry metadata lists no primary credential or required credential.

Skill content
interface Credentials { accessToken: string; refreshToken: string; ... } ... "capture the callback tokens, and save them to the token store."
Recommendation

Install only if you trust Prismly with this account access; the publisher should declare the OAuth credential requirement and document how to revoke or clear stored tokens.

#
ASI10: Rogue Agents
Medium
What this means

Prismly-side tasks may trigger local agent activity automatically after the plugin is configured.

Why it was flagged

The plugin registers a persistent background service that polls/receives tasks and delegates work to agents, rather than only running on direct user invocation.

Skill content
// Background service (heartbeat + task polling + agent delegation)\n    api.registerService(createPrismnoteService(api.runtime));
Recommendation

Use a dedicated low-privilege OpenClaw agent for this plugin, monitor its status, and unbind it when not needed. The publisher should document background behavior and provide clear controls.

#
ASI02: Tool Misuse and Exploitation
Medium
What this means

If a bound agent has powerful tools, Prismly task content or link content could influence that agent's actions.

Why it was flagged

Remote task instructions can be associated with a bound OpenClaw agent, but the artifacts do not show per-task approval, prompt isolation, or limits on what the routed agent may do.

Skill content
TaskPayload ... instruction: string | null; ... "OpenClaw agent ID to route tasks to via --agent."
Recommendation

Bind only a narrowly-scoped summarization agent and keep normal OpenClaw approval prompts enabled for any high-impact tools.

#
ASI02: Tool Misuse and Exploitation
Medium
What this means

A task that points at a private or sensitive URL could cause the user's machine to fetch it and send an analysis result to the service.

Why it was flagged

The local plugin fetches URLs supplied through tasks and submits derived results back to Prismly, with no artifact-disclosed allowlist, private-network blocking, or URL-scope control.

Skill content
Process a single task: 1. Claim the task 2. Fetch content from the link URL ... 4. Submit the insight
Recommendation

Only process tasks from trusted Prismly workspaces and ask the publisher to add URL validation, private-network protections, and clear user controls.

#
ASI07: Insecure Inter-Agent Communication
Low
What this means

Task metadata and account-bound realtime events are handled through Prismly/Supabase infrastructure.

Why it was flagged

The plugin uses Supabase Realtime with the user's bearer token to receive task events. This is expected for the stated integration, but it is an external provider data flow.

Skill content
this.client = createClient(env.supabaseUrl, env.supabaseAnonKey, { global: { headers: { Authorization: `Bearer ${accessToken}` } } });
Recommendation

Verify that the Prismly/Supabase endpoints are the expected ones and avoid using custom endpoint environment variables unless you trust them.

#
ASI04: Agentic Supply Chain Vulnerabilities
Low
What this means

Running the script changes local OpenClaw configuration and installs packages from npm.

Why it was flagged

The optional installer downloads runtime dependencies and modifies the user's OpenClaw plugin configuration. It is scoped and uses --ignore-scripts, but dependency versions are semver ranges and the registry has no install spec.

Skill content
npm install --production --ignore-scripts ... cfg.plugins.allow.push('prismly'); cfg.plugins.entries.prismly = { enabled: true };
Recommendation

Review install.sh before running it and prefer a pinned, registry-managed install path when available.