Back to skill

Security audit

Ai Daily Briefing 1.0.0

Security checks for vulnerabilities and agentic risk

Overview

This daily briefing skill is not malicious, but it should be reviewed because broad trigger phrases can cause it to read and summarize sensitive task, meeting, calendar, memory, and profile context without a clear consent step.

Install only if you are comfortable with briefings drawing from local task files, recent meeting notes, calendar data, and memory/profile files. Prefer using explicit prompts like 'daily briefing from todo only' or 'skip calendar and memory,' and avoid using it on shared screens or in workspaces where memory or meeting notes may contain secrets or unrelated private information.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:129
Finding

Overbroad Access to Persistent User Context and Calendar Data

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:129-136 and SKILL.md:174-179
Vulnerability Type: Excessive access to persistent user information
Risk Level: Medium

Vulnerable Code Snippets

From SKILL.md:129-136:

markdown
### 4. Memory/Context Files (if using ai-persona-os)

**Locations:**
- `MEMORY.md` — Permanent facts
- `memory/[today].md` — Session notes
- `USER.md` — User preferences

From SKILL.md:174-179:

markdown
Check for these files in order:

1. todo.md (to-do list from ai-meeting-notes)
2. meeting-notes/ folder (recent meeting notes)
3. MEMORY.md (if using ai-persona-os)
4. memory/[today].md (session notes)
5. Calendar integration (if available)

Technical Analysis

The skill instructs the agent to inspect persistent memory, daily session notes, user-profile data, meeting notes, and available calendar information whenever it generates a briefing. These sources can contain personal, confidential, or unrelated information beyond what is strictly necessary to summarize current tasks.

Although access to some sources is conditional on their availability, the skill does not require explicit user consent before reading them. It also defines no field-level filtering, path restrictions for meeting notes, sensitivity classification, secret redaction, or data-minimization rules. Consequently, the briefing workflow may use all information that the host agent is permitted to read rather than only the information required for the current request.

This violates the principle of least privilege at the skill-instruction level. The skill does not independently bypass operating-system permissions, but it can cause an already privileged host agent to exercise broader read access than the user would reasonably expect from a routine daily briefing request.

Attack Path

  1. The user invokes a broad trigger phrase such as briefing, start my day, or give me the rundown.
  2. The agent follows the mandatory data-gatheri ...[truncated 1381 chars]
Remediation
View remediation

Remediation Suggestions

  1. Require explicit source consent

    • Ask the user before accessing persistent memory, user-profile files, or calendar data.
    • Store source permissions as opt-in preferences rather than enabling every available source automatically.
    • Allow separate controls for tasks, meetings, persistent memory, profile data, and calendar data.
  2. Use least-privilege defaults

    • Default to todo.md and explicitly selected recent meeting notes.
    • Disable access to MEMORY.md, USER.md, and calendar integrations unless the user enables them.
    • Limit meeting-note access to a designated workspace directory and the documented three-to-seven-day window.
  3. Apply data minimization

    • Read only fields needed for the requested briefing date.
    • Extract task titles, deadlines, and event times without ingesting unrelated profile or session content.
    • Avoid displaying attendee details, private descriptions, permanent personal facts, or historical notes unless directly relevant and requested.
  4. Add sensitivity filtering

    • Exclude credentials, API keys, authentication tokens, financial information, medical information, and other secrets.
    • Redact sensitive event names and meeting content by default.
    • Require confirmation before presenting potentially private information.
  5. Make source usage transparent

    • Identify which sources were consulted.
    • Allow the user to request a briefing from a restricted source set, such as “tasks only” or “calendar only.”
    • Provide a configuration option that permanently disables persistent-memory access.
  6. Harden the instructions

    • Replace the unconditional gathering sequence with a consent-aware workflow.
    • Add a rule stating that availability of a data source does not itself authorize access.
    • Require the agent to avoid reading unrelated files even when its runtime permissions permit doing so.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (8)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill advertises "No setup. Just say 'briefing'" but does not clearly warn that fulfilling the request may scan personal workspace files, meeting notes, memory stores, and calendar data. This creates a transparency and consent problem: users may trigger the skill expecting a simple summary, unaware that it will access and synthesize potentially sensitive information from multiple sources.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The trigger phrases include broad, natural language prompts such as "start my day," "what do I need to know?" and "give me the rundown," which can plausibly occur in ordinary conversation and unintentionally invoke the skill. Because the skill then reads from sensitive local sources like todo.md, meeting notes, memory files, and calendar data, accidental activation could expose private information without the user clearly intending to request this workflow.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The trigger phrase "briefing" is extremely broad and likely to appear in ordinary conversation, which can cause unintended activation of the skill. In a skill that aggregates calendar items, tasks, and meeting-note context, accidental invocation could expose sensitive productivity data when the user did not explicitly intend to request it.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The natural-language trigger "what's today look like?" is broad conversational language that may be said in many contexts, increasing the chance of unintended activation. Because this skill summarizes private tasks, meetings, and notes, a mistaken trigger could disclose sensitive schedule and work context to an unintended audience or interface state.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The phrase "what's overdue?" is common and underspecified, so it can easily match casual conversation unrelated to the skill. Since the response may enumerate overdue work items and deadlines, unintended activation could leak confidential task names, client references, or business priorities.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger examples include broad, natural phrases like "start my day" and "give me the rundown," which can overlap with ordinary user conversation and unintentionally invoke the skill. In a skill that surfaces personal task and calendar data, accidental activation increases the risk of unexpected disclosure of sensitive schedule and productivity information.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The quick-start text encourages connecting calendar data and using meeting-derived tasks without clearly warning the user that the briefing may access and summarize potentially sensitive calendar events, action items, and meeting context. This weakens informed consent and may cause users to expose personal or confidential work information without understanding the scope of data use.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The trigger "weekly preview" is less common than the other phrases but still lacks explicit boundaries tying it to this skill. This creates some risk of accidental activation, though the ambiguity is lower and the phrase is somewhat more task-oriented than the other examples.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.