Back to skill

Security audit

Ai Daily Briefing

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent daily briefing helper, but it should be reviewed because broad trigger phrases can lead it to read calendar, meeting notes, to-do files, and persistent memory/profile files without clear per-use consent.

Install only if you are comfortable with the agent reading your task list, recent meeting notes, calendar, and any ai-persona-os memory/profile files when briefing-like phrases are used. Consider narrowing triggers and disabling or confirming memory/calendar sources before use in shared or sensitive workspaces.

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 Agent and User Context

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 129-136 and 169-179
Vulnerability Type: Excessive access to persistent memory and user-context files
Risk Level: Medium

Relevant Skill Instructions:

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

**Locations:**
- `MEMORY.md` — Permanent facts
- `memory/[today].md` — Session notes
- `USER.md` — User preferences
markdown
### Step 1: Gather Data Sources

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)
text

Technical Analysis

The Skill instructs the agent to inspect persistent memory, session notes, and user-preference files when producing a daily briefing. These files can contain personal facts, prior conversation details, confidential business information, or unrelated sensitive context.

The instructions do not define field-level restrictions, require explicit consent before accessing persistent context, or limit processing to content marked as suitable for a briefing. Consequently, the agent may load substantially more information than is necessary to summarize tasks, meetings, and calendar events. This conflicts with least-privilege and data-minimization principles.

The access is conditional on the relevant integration being present, and the package contains no code that bypasses operating-system permissions. It also contains no instruction to transmit the collected information to an external service. The risk is therefore confined to overbroad local information access and possible disclosure through generated output rather than privilege escalation at the operating-system level.

Attack Path

  1. A user installs or activates the Skill in a workspace containing MEMORY.md, memory/[today].md, or ` ...[truncated 1203 chars]
Remediation
View remediation

Remediation Suggestions

  1. Make persistent-memory access opt-in and request explicit user authorization before the first read.
  2. Use a dedicated briefing data file containing only information approved for daily summaries.
  3. Restrict reads to explicitly marked sections, such as briefing_context, rather than loading entire memory or user-profile files.
  4. Define an allowlist of permitted fields and exclude credentials, secrets, private conversation history, financial information, and unrelated personal records.
  5. Add a relevance filter so only information directly connected to current tasks, deadlines, meetings, or user-selected priorities can be included.
  6. Present the list of intended data sources to the user and allow each source to be enabled or disabled independently.
  7. Prevent verbatim reproduction of persistent-memory content unless the user explicitly requests it.
  8. Document retention and disclosure boundaries, including that persistent context must not be copied into generated briefings when other users may view the output.
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 (7)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs the AI to scan todo files, meeting notes, memory files, and calendar data, but the user-facing description does not prominently disclose that these potentially sensitive sources will be accessed. If triggered unexpectedly or used by a privacy-sensitive user, the skill could expose personal schedules, notes, or persistent memory context without informed consent.

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, conversational prompts such as "start my day," "what do I need to know?" and "give me the rundown," which can plausibly appear in normal conversation unrelated to this skill. That increases the chance of unintended activation and causes the agent to gather and summarize sensitive workspace and calendar data when the user did not explicitly intend to invoke this skill.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

This markdown file shows the skill being invoked with the single word "briefing," which is a generic term that could overlap with ordinary conversation. The examples do not provide boundaries, negative examples, or context limiting when this phrase should activate the skill versus when it should not.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

This trigger is phrased as common everyday speech and does not clearly identify the skill or its boundaries. Without explicit constraints, it may collide with ordinary chat requests and cause unintended invocation.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The listed activation phrases are broad, natural-language expressions like "what's on my plate?" and "start my day" that can plausibly occur in ordinary conversation. In a voice or chat environment, this increases the chance of accidental invocation or unintended routing to this skill, which could expose calendar, task, or meeting-summary information without the user explicitly intending to trigger the briefing.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The phrase is simple natural language that could appear in general conversation and does not specify whether it refers to tasks, invoices, or another domain. The file does not provide constraints or exclusions to narrow its use.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
72% confidence
Finding

Although more specific than some other examples, "weekly preview" still appears as a short generic phrase without documented context, exclusions, or trigger rules. The markdown does not clarify whether this must be issued in a particular interface or workflow.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.