Back to skill
v1.0.3

Handwrytten

ReviewClawScan verdict for this skill. Analyzed Apr 30, 2026, 2:58 PM.

Analysis

This looks like a real Handwrytten/Membrane integration, but it gives broad authenticated API control that can send paid letters or change account settings without clear approval limits.

GuidanceBefore installing, confirm you trust Membrane and the npm CLI package, use a least-privilege Handwrytten account, and require explicit approval for any paid, write, delete, billing, payment-method, user-management, or letter-sending action.

Findings (9)

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.

Abnormal behavior control

Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.

Agent Goal Hijack
SeverityLowConfidenceHighStatusNote
SKILL.md
`clientAction.agentInstructions` (optional) — instructions for the AI agent on how to proceed programmatically.

The agent may receive dynamic instructions from the connection workflow. This is purpose-aligned setup guidance, but it should not override the user's actual request or safety checks.

User impactConnection setup output could influence what the agent does next.
RecommendationTreat returned agent instructions as operational hints only, and require user confirmation before sensitive or costly actions.
Tool Misuse and Exploitation
SeverityHighConfidenceHighStatusConcern
SKILL.md
`membrane request CONNECTION_ID /path/to/endpoint` ... `HTTP method (GET, POST, PUT, PATCH, DELETE)`

The skill authorizes direct authenticated API proxy requests, including destructive methods, without defining allowlists, read-only defaults, cost limits, or approval requirements.

User impactThe agent could create, update, or delete Handwrytten resources, send letters, or affect account settings if given broad instructions.
RecommendationUse explicit user approval for any write, delete, billing, user-management, or letter-sending action; prefer allowlisted actions over direct proxy calls.
Agentic Supply Chain Vulnerabilities
SeverityMediumConfidenceHighStatusConcern
SKILL.md
`npm install -g @membranehq/cli@latest`

The skill depends on a globally installed latest-version npm CLI rather than a pinned install artifact, and that install path is not represented in the registry install spec.

User impactThe actual code run on the user's machine can change over time and is outside the static file manifest.
RecommendationPin the CLI version, document the install dependency in the install spec, and verify package provenance before installation.
Unexpected Code Execution
SeverityLowConfidenceHighStatusNote
SKILL.md
`npx @membranehq/cli connection get <id> --wait --json`

Although the skill has no bundled code files, its normal workflow runs external Node CLI code. This is coherent with the stated integration purpose, but users should notice the local execution.

User impactUsing the skill may execute installed or fetched CLI code on the local system.
RecommendationRun the CLI from a trusted, pinned installation and avoid executing it in highly sensitive local environments.
Cascading Failures
SeverityHighConfidenceHighStatusConcern
SKILL.md
`Send Letter | Send a handwritten letter to one or more recipients (up to 10)`

A mistaken or overbroad action can produce real-world external effects, including sending physical mail to multiple recipients, with no documented dry-run, rollback, or confirmation requirement.

User impactBad inputs or misunderstood instructions could cause paid letters to be sent or account data to be changed.
RecommendationRequire previews, recipient review, cost confirmation, and explicit approval before sending letters or modifying account resources.
Human-Agent Trust Exploitation
SeverityLowConfidenceMediumStatusNote
SKILL.md
`Manage Persons, Organizations, Deals, Leads, Activities, Notes and more`

The description lists CRM-style objects, while the same skill's Handwrytten overview focuses on cards, contacts, campaigns, orders, billing, payment methods, and users. This mismatch may confuse users about the actual scope.

User impactUsers may underestimate that the skill can interact with orders, billing, payment methods, and letter-sending workflows.
RecommendationClarify the description so it accurately reflects Handwrytten-specific capabilities and high-impact actions.
Permission boundary

Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.

Identity and Privilege Abuse
SeverityHighConfidenceHighStatusConcern
SKILL.md
`membrane login --tenant --clientName=<agentType>` ... `Membrane handles authentication and credentials refresh automatically`

The skill requires delegated account authentication and ongoing credential refresh, while the registry declares no primary credential. That under-discloses sensitive account authority.

User impactInstalling or using the skill may grant persistent access to a Membrane-connected Handwrytten account.
RecommendationReview OAuth scopes and Membrane tenant permissions, use least-privilege accounts, and revoke the connection when finished.
Sensitive data protection

Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.

Memory and Context Poisoning
SeverityLowConfidenceMediumStatusNote
SKILL.md
`clientAction.description` — human-readable explanation ... `clientAction.agentInstructions` ... instructions for the AI agent

The agent is expected to consume returned setup context and instructions. That context is useful, but it could be over-trusted if not kept subordinate to user intent.

User impactReturned connection guidance could shape later agent decisions.
RecommendationDo not treat returned descriptions or agent instructions as authoritative policy; confirm sensitive steps with the user.
Insecure Inter-Agent Communication
SeverityLowConfidenceHighStatusNote
SKILL.md
`send requests directly to the Handwrytten API through Membrane's proxy` ... `injects the correct authentication headers`

The integration routes API traffic and authentication handling through Membrane. This is disclosed and purpose-aligned, but it is a third-party gateway handling sensitive request data.

User impactHandwrytten request data and authentication context may pass through Membrane infrastructure.
RecommendationReview Membrane's security and privacy posture, and avoid sending unnecessary sensitive data in proxy requests.