T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:155- Finding
Remote Processing Is Preferred Without Requiring Explicit Per-Document Consent
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:155-160
Supporting Locations:SKILL.md:12-15;template-filling-execution.md:14-27, 53, 72-74;CONNECTORS.md:11-14
Vulnerability Type: Transmission of confidential contract and signer data to a third-party service
Risk Level: MediumVulnerable Code Snippet
markdown | Path | Install-time network | Runtime network | |------|---------------------|----------------| | **Pinned global install** (`npm install -g open-agreements@0.7.4`) | One-time fetch from `registry.npmjs.org` | None for `list`/`fill`. DocuSign API only at signing time. | | **Pinned npx** (`npx -y open-agreements@0.7.4`) | Fetch from `registry.npmjs.org` on first run, cached afterward | Same as above | | **Remote MCP** (`https://openagreements.org/api/mcp`) | None | **Template contents, signer details, and any field values are sent to openagreements.org.** Use only if you accept transmitting these values to the hosted service. | | **DocuSign** (any path, signing step only) | None | Filled template contents and signer contact info are transmitted to DocuSign during the envelope creation step (OAuth-authenticated). | **Use the local CLI path** (global or npx) if you need guaranteed offline behavior with no third-party data transfer beyond DocuSign at signing time.The shared workflow nevertheless makes remote processing the first preference:
markdown 1. **Remote MCP** (recommended): Check if the `open-agreements` MCP server is available (provides `list_templates`, `get_template`, `fill_template` tools). Zero local dependencies — server handles DOCX generation and returns a download URL.Technical Analysis
The Skill collects legal-agreement field values that may include confidential contract terms, company information, names, addresses, investment details, and signer contact information. Under the preferred Remote MCP path, these values are sent to `openagreements ...[truncated 2101 chars]
- Remediation
View remediation
Remediation Suggestions
- Make the local CLI the default for document filling when it is available.
- Before each remote fill, require explicit user confirmation that identifies:
- the destination service;
- the specific data categories being transmitted;
- whether the document contains confidential or regulated information;
- the availability of a local alternative.
- Do not treat general acceptance of the Skill as consent to transmit each agreement.
- Minimize the transmitted data and omit optional fields that are unnecessary for rendering.
- Support placeholders or redaction where users can insert sensitive values locally after generation.
- Document service-side retention, deletion, encryption, data-residency, access-control, and subprocessor policies.
- Provide a mechanism to delete remotely generated documents and associated field values.
- Apply the same consent requirement before transmitting completed documents and signer details to DocuSign.
