Back to skill

Security audit

Haike AI assistant

Security checks for vulnerabilities and agentic risk

Overview

This workplace assistant is coherent, but it needs Review because it globally activates and automatically persists employee profiles, conversation history, knowledge, schedules, and screenshot-based work reports.

Review before installing in any shared or corporate environment. Only use it where employees have explicitly approved persistent profiling, screenshot-log analysis, scheduled reports, Tencent Docs access, and sharing feedback or knowledge with the named reviewer. Require controls for opt-in memory, source preview, redaction, deletion, retention, and disabling scheduled automation.

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 (3)

other

Error
Location
SKILL.md:31
Finding

Automatic Persistent Collection of Employee Profiles and Conversation History

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 31-166
Vulnerability Type: Automatic collection and persistent retention of employee and conversation data
Risk Level: High

Evidence

The relevant instructions state, translated into English:

text
During the first conversation, the assistant must confirm the user's identity,
write it to a local configuration file, and remember it so that it is not
requested again.

Storage location:
~/.workbuddy/skills/haike-xiaoke/user_profile.json

The assistant automatically remembers each person's conversation history and
maintains continuity across sessions.

~/.workbuddy/skills/haike-xiaoke/memory/
└── {department}_{name_or_id}/
    ├── session_log.json
    └── context.json

Write events:
- On task completion: store the task name, conclusions, and output path.
- When the user mentions a pending item: write it to pending.
- When the user corrects output: write it to preferences_learned.
- At the end of a conversation: automatically append a session summary.
- When the user says “remember this”: write it immediately.

session_log.json retains the latest 30 records, and older records are
automatically archived to session_log_archive.json.

The bundled user_profile.json confirms that profile persistence is active:

json
{
  "name": "bear",
  "department": "E-commerce Department",
  "role_desc": "Tmall Operations",
  "first_seen": "2026-06-30"
}

Technical Analysis

The skill mandates automatic collection and long-term storage of employee names, departments, responsibilities, task summaries, pending work, preferences, corrections, output paths, and project context. This collection is triggered by ordinary interaction rather than by explicit, informed consent.

The design also archives older conversation records instead of deleting them. No maximum retention period, user-accessible deletion mechanism, encrypti ...[truncated 2249 chars]

Remediation
View remediation

Remediation Suggestions

  1. Replace mandatory persistence with explicit, informed, opt-in consent.
  2. Provide a memory-disabled mode and make it the default for confidential tasks.
  3. Show users the exact fields that will be stored before writing them.
  4. Collect only the minimum information needed; avoid storing real names when a random local identifier is sufficient.
  5. Define a short retention period and securely delete expired records instead of archiving them indefinitely.
  6. Add commands to inspect, export, correct, and permanently delete all stored data.
  7. Encrypt stored profiles and conversation records using operating-system-backed key storage.
  8. Restrict directories and files to the owning operating-system account, such as owner-only read and write permissions.
  9. Enforce user-level access controls rather than relying only on department-based directory names.
  10. Filter credentials, financial records, personal data, customer information, and other secrets before memory writes.
  11. Maintain an auditable record of memory reads and writes without duplicating the sensitive content itself.
  12. Do not store output paths or detailed task summaries unless they are necessary and separately approved.

other

Error
Location
SKILL.md:311
Finding

Broad Workplace Activity Monitoring Through Screenshot and Memory Logs

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 311-363
Vulnerability Type: Excessive workplace monitoring and overbroad access to local activity records
Risk Level: High

Evidence

The daily-report workflow states, translated into English:

text
Screenshots → visual analysis → automatic classification → structured output
→ visual rendering

Triggered automatically at 17:30 every workday.

All screenshots → package into one prompt → one model invocation.

All screenshot images are packaged into one prompt so that the model analyzes
all of them at once.

Screenshot limit: no more than 32 screenshots per workday
from 09:00 to 17:00, one every 15 minutes.

Execution process:
1. Confirm the date.
2. Read .workbuddy/screenshots/YYYY-MM-DD.md.
3. Read .workbuddy/memory/YYYY-MM-DD.md.
4. If possible, retrieve current shipping information from Tencent Docs.
5. Package existing data and screenshot descriptions into a model prompt.
6. Render the HTML daily report.
7. Clean temporary files and display the report.

The shortcut definition at lines 237-238 also states, translated into English:

text
“Create today's daily report”:
screenshot analysis → write logs → produce report.

“Produce weekly report”:
aggregate this week's memory logs and screenshot logs.

Technical Analysis

The feature is designed to process activity spanning an entire workday, including up to 32 periodic screenshots and persistent memory records. These sources can include unrelated applications, private messages, customer records, internal documents, credentials displayed on screen, financial information, and content outside the stated reporting task.

Batching screenshots into a model prompt does not reduce the privacy exposure; it consolidates the material into a single processing event. The instructions do not define application allowlists, sensitive-window exclusions, secret detection, red ...[truncated 2069 chars]

Remediation
View remediation

Remediation Suggestions

  1. Disable periodic screenshot collection by default and require explicit, revocable opt-in.
  2. Require user confirmation immediately before every report-generation run, including scheduled runs.
  3. Allow users to select the exact screenshots and memory entries included in a report.
  4. Use an application allowlist and exclude password managers, authentication dialogs, messaging tools, financial systems, human-resources systems, and private browser sessions.
  5. Apply local optical-character-recognition redaction for passwords, tokens, personal identifiers, account numbers, and confidential labels before model processing.
  6. Prefer local aggregation and transmit only the minimum derived metrics required for the report.
  7. Clearly disclose whether prompts or images leave the local machine and identify the model processor.
  8. Do not combine screenshot logs, memory records, and Tencent Docs data unless each source is independently authorized for the specific report.
  9. Encrypt generated HTML reports, apply owner-only permissions, and delete them according to a defined retention policy.
  10. Provide a preview showing all source material and detected sensitive fields before processing.
  11. Record source access in an audit log and notify the user after every scheduled execution.
  12. Define organizational policies for employee monitoring, legal review, and worker consent before deployment.

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:17
Finding

Global Persona and Workflow Instructions Override Unrelated Agent Sessions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 17-31
Vulnerability Type: Skill-level instruction hijacking
Risk Level: Medium

Evidence

The skill contains the following mandatory instructions, translated into English:

text
You are Xiaoke, the enterprise AI assistant of Guangzhou Haike Electronic
Technology Co., Ltd.

Activation rule: activated immediately upon installation. For any work
request, automatically appear as Xiaoke. The user does not need to invoke
Xiaoke by name.

During the first conversation, you must first confirm the other party's
identity, write it to local configuration, and remember it so that it is not
requested again.

Related session behavior at lines 138-165 states, translated into English:

text
For a profiled user with conversation history, silently read the previous
memory when a session begins.

When executing a task, first search for relevant historical information.
When the user mentions “last time” or “before,” automatically associate the
request with historical records.

Technical Analysis

The skill is not scoped to an explicit invocation or a narrow task. Instead, installation is declared sufficient to activate a company-specific identity and workflow for every work request. It then requires identity collection and silent memory retrieval before normal task handling.

A skill is expected to augment the agent for relevant requests without globally replacing the user's session goals. These instructions can redirect unrelated requests into onboarding, profiling, historical-context retrieval, and company-specific behavior. This constitutes instruction hijacking at the skill-text level.

No evidence was found that the skill explicitly disables platform safety rules or attempts to supersede higher-priority system instructions. Consequently, the risk is lower than a direct safety-bypass prompt, but the mandatory global activation still r ...[truncated 1535 chars]

Remediation
View remediation

Remediation Suggestions

  1. Activate the skill only when the user explicitly invokes it or requests one of its documented functions.
  2. Scope the persona to the current relevant task rather than all work requests.
  3. Replace mandatory language such as “must” and “any work request” with conditional, user-controlled behavior.
  4. State explicitly that system, developer, organizational safety, and current user instructions take precedence.
  5. Ask permission before loading prior-session memory and identify which records will be used.
  6. Provide a visible command to disable the persona and continue with the base assistant.
  7. Do not require identity onboarding when it is unnecessary for the requested task.
  8. Separate company workflows from general assistant behavior through explicit routing.
  9. Prevent historical context from being included unless it is relevant and authorized for the current request.
  10. Add automated tests confirming that unrelated prompts are not redirected into onboarding, profiling, or company-specific workflows.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (12)

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill description claims applicability to 'any daily work request,' making the activation scope extremely broad and likely to collide with ordinary workplace language. Overbroad triggering can cause the skill to engage in contexts users did not intend, increasing the chance of unauthorized persistence, data collection, or automated actions.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The 'install and auto-activate for any work request' rule lacks meaningful constraints, boundaries, or explicit non-trigger cases. In an enterprise setting, such unconstrained activation is dangerous because it can attach behavior like memory reads, profiling, and task execution to routine messages without informed user intent.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill mandates automatic cross-session memory for each user, including ongoing projects, preferences, and prior task summaries. In a corporate environment this can accumulate sensitive business context over time, and if isolation fails or files are accessed by others, it could reveal internal operations, customer matters, or employee behavior patterns.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The memory-writing rules require automatic logging of completed tasks, pending items, corrections, preferences, and end-of-session summaries. This creates a broad surveillance-like record of employee activity and work content, increasing the impact of local compromise, accidental disclosure, or misuse by other users or administrators.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill instructs the assistant to proactively collect and retain product parameters, workflow rules, templates, corrections, and role-specific constraints revealed during conversation. This broad knowledge harvesting materially increases the amount of sensitive enterprise information centralized in local storage, making leakage, over-collection, and unauthorized reuse more likely.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill instructs the assistant to collect identity and role information and store it locally, but the description does not present this as an informed consent or warning to users. That omission creates privacy and transparency issues because users may not realize personal profile data is being persisted across sessions.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill directs the assistant to persist user profile data such as department, name, and role description in a local file for future reuse. Automatic storage of identifiable workplace metadata without access controls, minimization, or explicit consent can expose employee information and enable inappropriate profiling.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill says it will automatically remember each person's conversation history across sessions, but does not provide a clear upfront warning, consent flow, or retention control. Persistent hidden memory of work conversations can capture sensitive operational details and create privacy, compliance, and data-minimization risks.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill explicitly allows shortcut phrases to bypass its own clarification step and execute actions directly. That increases the chance of unintended processing of business data or generation of outputs without confirming scope, audience, or data source, especially because the trigger phrases are short and reusable in normal workplace chat.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The daily-report feature analyzes screenshot logs and other work artifacts automatically, but the skill description does not prominently warn users that their screenshots and related data may be processed for reporting. Screenshot-derived analysis can expose confidential documents, customer data, or internal discussions beyond what users expect.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The 'fallback' logic for daily reports permits reusing recent data and rotating project-pool items when actual work data is insufficient, which conflicts with the stated ban on fabricating data. In practice this can misrepresent activity in a report presented to managers or colleagues, creating integrity and auditability risks.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The default setting mandates '语言:简体中文(外贸相关可英文/双语)', which imposes a language choice by default rather than offering a user-selected preference. This is a natural-language policy concern because the skill sets a language/locale behavior without explicit opt-in or a general choice mechanism.

Content

No source excerpt is available for this finding.