Back to skill

Security audit

remember-phone-calls

Security checks for vulnerabilities and agentic risk

Overview

This skill is purpose-built to store and retrieve phone-call history, but it sends sensitive call details to a fixed external backend without enough privacy, retention, or user-control safeguards.

Review before installing. Only use this for calls where your organization is allowed to send summaries to BlueColumn's external backend, and avoid logging secrets, payment data, health information, regulated identifiers, or sensitive personal details unless you have explicit approval and a retention/deletion plan.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

other

Warning
Location
SKILL.md:15
Finding

Unrestricted Transmission of Sensitive Phone Call Data to a Third-Party Backend

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 15-45
Vulnerability Type: Privacy and Sensitive Data Disclosure
Risk Level: Medium

The skill instructs the agent to collect phone-call details—including caller identity, company affiliation, business concerns, agreements, deadlines, and emotional cues—and transmit them to an externally hosted Supabase backend.

bash
curl -X POST https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1/agent-remember \
  -H "Authorization: Bearer $BLUECOLUMN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "CALL 7/31 14:20 with Marcus (Acme): asked about the Builder plan pricing. Concern: overage fees. Agreed: I email pricing sheet today; he decides by Friday. Tone: friendly, slightly rushed.", "title": "call - Marcus 7/31"}'
bash
curl -X POST https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1/agent-recall \
  -H "Authorization: Bearer $BLUECOLUMN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "What is the latest with Marcus from Acme and what did we promise?"}'
bash
curl -X POST https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1/agent-note \
  -H "Authorization: Bearer $BLUECOLUMN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Promise to Marcus: pricing sheet by Aug 1 EOD. Follow up Friday if no reply.", "tags": ["call", "follow-up"]}'

Technical Analysis

The documented workflow directs the agent to send potentially personal and confidential business information to the fixed external host xkjkwqbfvkswwdmbtndo.supabase.co. The transmitted data may include caller names, organizations, commercial concerns, commitments, schedules, and inferred emotional state.

Although HTTPS protects data in transit, the skill does not specify safeguards for caller consent, field-level redaction, data minimization, retention periods, deletion, access control, regional storage, or verification th ...[truncated 1942 chars]

Remediation
View remediation

Remediation Suggestions

  1. Require explicit authorization before enabling external call logging and provide appropriate caller notice or consent where applicable.
  2. Apply data minimization by default. Avoid storing full names, emotional assessments, confidential commercial details, payment data, authentication information, health information, or other sensitive content unless strictly required.
  3. Add automatic redaction for credentials, financial details, contact information, regulated identifiers, and other sensitive fields before transmission.
  4. Document the backend owner, data processor relationships, storage region, subprocessors, encryption controls, access-control model, retention period, and incident-response process.
  5. Provide APIs and documented procedures to inspect, correct, export, and permanently delete stored call records.
  6. Use a clearly attributable first-party API domain, or publish verifiable documentation linking the Supabase project to the service provider.
  7. Restrict API keys to the minimum required operations and tenant scope, rotate them regularly, and ensure they are supplied through a secret manager rather than embedded in files or logs.
  8. Add configurable retention limits and disable persistent storage by default for sensitive call categories.
  9. Clearly warn users that prompts sent to the recall endpoint may themselves contain sensitive caller information.
  10. Establish audit logging and authorization boundaries so users can access only call records belonging to their own account or organization.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (5)

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly directs persistent storage and later recall of caller-provided details without any minimization, consent, access control, or sensitivity filtering. This is dangerous because the workflow is designed to accumulate conversational memory, which can include personal data, confidential business information, or special-category data that may be reused beyond the caller's expectations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs agents to send detailed call summaries, including identities, business context, concerns, promises, and tone, to a remote service without any privacy notice, consent requirement, retention limits, or data-handling constraints. Because phone calls often contain personal, confidential, or regulated information, this creates a real risk of unauthorized disclosure or noncompliant processing.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
97% confidence
Finding

This example performs an external POST of detailed call notes to a third-party endpoint, including identity, organization, purchasing interest, concerns, commitments, and tone. Even though the feature is intentionally designed for remote memory storage, the skill context makes the transmission materially risky because call metadata and narrative summaries are often sensitive and there are no accompanying controls or warnings.

Content

Scanner excerpt · SKILL.md (reported line 15)May include surrounding context.

Immediately after each call, store the caller, the reason, and the outcome.

bash
curl -X POST https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1/agent-remember \
  -H "Authorization: Bearer $BLUECOLUMN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "CALL 7/31 14:20 with Marcus (Acme): asked about the Builder plan pricing. Concern: overage fees. Agreed: I email pricing sheet today; he decides by Friday. Tone: friendly, slightly rushed.", "title": "call - Marcus 7/31"}'

Ssd 3

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The workflow encourages pre-call retrieval of prior history and post-call recording of emotional cues, agreements, and follow-up obligations, which broadens both the amount and reuse of sensitive conversational data. Emotional cues and caller history can be especially sensitive, and re-surfacing them without safeguards can lead to privacy violations, profiling concerns, or inappropriate downstream use.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill requires use of a live API credential and demonstrates sending it in authorization headers, but provides no warning about secret handling, scope, storage, or misuse risks. While this alone is not credential exfiltration, it normalizes operational use of a sensitive secret without basic safety guidance and increases the chance of accidental exposure.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.