Back to skill

Security audit

工作辅助01

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed personal task assistant, but it needs review because scheduled jobs, Feishu/LLM data handling, and unsafe database maintenance could expose or overwrite work data.

Install only if you are comfortable with a task assistant that keeps persistent work data, creates scheduled Hermes jobs, and may use Feishu OKR data. Avoid importing SQL backups from untrusted sources, back up the database before db import or cleanup, treat advice/context output and reports as sensitive, and use least-privilege Feishu access where possible.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (3)

T01 · Skill Instruction Hijacking

Warning
Location
scripts/advisor.py:487
Finding

Indirect Prompt Injection Through Synchronized Task and OKR Content

Content
View full analysis
dict: """Parse Markdown content and sync OKR items to the local database. Parsing rules: - ``## ...`` (level‑2 heading) → Objective - ``### ...`` (level‑3 heading) → Key Result (child of most recent Objective) - ``#### ...`` (level‑4 heading) → Initiative (child of most recent KR) - ``进度: XX%`` or ``progress: XX%`` → progress value on the current item Existing items are matched by *(title, parent_id)* within the same *doc_token*. Items in the database for this *doc_token* that do NOT appear in the new content are marked ``completed``. Args: doc_token: The Feishu document token (stored in source_doc_token). doc_content: Markdown string to parse. Returns: A dict with keys ``added``, ``updated``, ``removed`` (counts). """ parsed_items = self._parse_markdown_okr(doc_content) ``` Stored task and OKR fields are subsequently interpolated directly into a prompt-like context intended for an upstream LLM: ```python def get_context_for_llm(self) -> str: """Aggregate all analysis results into a structured text for an LLM. The upstream Hermes Agent (pro model) uses this context to generate natural-language advice and scheduling recommendations. """ workload = self.analyze_workload() delegation = self.suggest_delegation() okr_health = self.okr_health_check() parts: list[str] = [] parts.append("=" * 60) parts.append("PERSONAL ASSISTANT — WORKLOAD CONTEXT") parts.append(f"Generated: {datetime.now().isoformat()}") parts.appen ...[truncated 3545 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/db.py:231
Finding

Destructive Execution of Unvalidated SQL Import Files

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
scripts/personal_assistant.py:494
Finding

Feishu Bitable Resource Token Exposed in CLI and Agent Output

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (58)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

This mismatch is more concerning because the documented skill presents itself as a general local task manager, while the implementation is described as focusing on Feishu Bitable/OKR synchronization and external-resource bridging. Hidden or under-disclosed external data access changes the trust model: users may authorize a local productivity tool without realizing it connects to remote services and synchronizes potentially sensitive work data.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

This mismatch is more concerning because the documented skill presents itself as a general local task manager, while the implementation is described as focusing on Feishu Bitable/OKR synchronization and external-resource bridging. Hidden or under-disclosed external data access changes the trust model: users may authorize a local productivity tool without realizing it connects to remote services and synchronizes potentially sensitive work data.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Personal Assistant 是一个个人工作任务管理技能,通过 CLI 脚本 `scripts/personal_assistant.py` 操作本地 SQLite 数据库,支持任务的增删改查、进展跟踪、周期任务管理、OKR 同步和自动报告生成。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Personal Assistant 是一个个人工作任务管理技能,通过 CLI 脚本 `scripts/personal_assistant.py` 操作本地 SQLite 数据库,支持任务的增删改查、进展跟踪、周期任务管理、OKR 同步和自动报告生成。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Personal Assistant 是一个个人工作任务管理技能,通过 CLI 脚本 `scripts/personal_assistant.py` 操作本地 SQLite 数据库,支持任务的增删改查、进展跟踪、周期任务管理、OKR 同步和自动报告生成。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Personal Assistant 是一个个人工作任务管理技能,通过 CLI 脚本 `scripts/personal_assistant.py` 操作本地 SQLite 数据库,支持任务的增删改查、进展跟踪、周期任务管理、OKR 同步和自动报告生成。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Personal Assistant 是一个个人工作任务管理技能,通过 CLI 脚本 `scripts/personal_assistant.py` 操作本地 SQLite 数据库,支持任务的增删改查、进展跟踪、周期任务管理、OKR 同步和自动报告生成。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Personal Assistant 是一个个人工作任务管理技能,通过 CLI 脚本 `scripts/personal_assistant.py` 操作本地 SQLite 数据库,支持任务的增删改查、进展跟踪、周期任务管理、OKR 同步和自动报告生成。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Personal Assistant 是一个个人工作任务管理技能,通过 CLI 脚本 `scripts/personal_assistant.py` 操作本地 SQLite 数据库,支持任务的增删改查、进展跟踪、周期任务管理、OKR 同步和自动报告生成。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
Personal Assistant 是一个个人工作任务管理技能,通过 CLI 脚本 `scripts/personal_assistant.py` 操作本地 SQLite 数据库,支持任务的增删改查、进展跟踪、周期任务管理、OKR 同步和自动报告生成。

Missing User Warnings

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The import_ function reads arbitrary SQL from a supplied path, deletes the current database file, and executes the dump wholesale via executescript without validation or confirmation. In this personal-assistant context, the database likely contains sensitive task history, reminders, OKR data, and reports, so an unintended or malicious import can cause irreversible data loss, corruption, or replacement of trusted local state.

Content

No source excerpt is available for this finding.

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
80% confidence
Finding

Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.

Content

Scanner excerpt · tests/test_advisor.py (reported line 222)May include surrounding context.

python
assert "修复登录 Bug" in md

    # Conflict warning: need 3+ high-prio tasks on same day.
    # We have 2 on 2026-05-27 (p1 + p2) — below threshold, so no warning.
    # If we had 3+, the warning would appear.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding

The skill documents capabilities that imply shell execution, local file/database reads and writes, and network-based OKR sync, but it does not declare any explicit tool scope or allowed-tools boundary. Without least-privilege constraints, an agent may invoke broader host capabilities than users expect, increasing the chance of unintended file access, command execution, or data exfiltration.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger keywords are broad everyday terms like tasks, reminders, progress, and reports, which raises the risk of the skill auto-activating during unrelated conversations. In a skill that can write to a local database, export reports, and sync external OKR data, accidental activation can cause unintended state changes or disclosure of private work information.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The auto-activation conditions are open-ended and lack boundaries, making it hard to distinguish harmless discussion from a command to operate the skill. Because the skill can manipulate persistent data and interact with external services, ambiguous routing increases the chance of unintended actions and privacy-impacting behavior.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The documentation introduces Feishu document access and token-based OKR synchronization beyond what a user may infer from a local personal assistant skill. Under-disclosed external integrations can lead to unanticipated transmission and caching of sensitive business objectives, progress data, or document contents.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill describes OKR sync from Feishu documents without an adjacent privacy/data-transmission warning. Users may not realize their work-planning data will be transmitted from an external platform into the local agent environment and possibly included in reminders or generated reports.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The configuration instructs users to provide an external access token, but the manifest/prerequisites do not clearly justify or scope that remote access. This creates a security gap where powerful credentials may be supplied to a skill without clear permission boundaries, endpoint restrictions, or user awareness of how the token will be used.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file documents both soft delete and physical delete operations, including task delete 42 --hard, but does not warn the user that the hard delete is irreversible and may permanently remove task data. For markdown files, destructive behavior that can affect user data should be accompanied by an explicit warning.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The reminder section distinguishes preview mode as not actually sending reminders, which implies that remind trigger may send real notifications, but it does not explicitly warn users of that effect. Because this behavior can affect user communications or system state, the markdown should disclose it clearly.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The database maintenance section includes db import, which can replace or modify stored data, and db cleanup, which deletes historical tasks, but provides no explicit caution about these data-altering operations. For markdown files, operations affecting persistence and deletion should be clearly disclosed to users.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The module aggregates detailed task, deadline, category, delegation, and OKR health data into a single LLM-bound context string, including potentially sensitive personal work information. Even though this file does not itself send the data over the network, it is explicitly designed to hand rich user data to an upstream LLM without any visible consent, minimization, redaction, or warning controls in this code path, which creates a real privacy and data-exposure risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The export method writes the entire database contents to a user-specified file, which is a data-disclosure-relevant file write operation. Although the docstring describes the behavior, there is no visible confirmation prompt, warning, or user-facing disclosure in the code about exporting potentially sensitive personal assistant data.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Dumping raw LLM context can disclose accumulated user/task data, including descriptions, progress, linked OKRs, and possibly other internal summaries, to anyone who can invoke the command. In a personal-assistant skill, that context is likely to contain sensitive work-planning information, making plain-text exposure more dangerous than in a non-personal tool.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill exposes database maintenance operations including export, import, and cleanup that go beyond normal task-assistant behavior and provide direct access to the skill's stored data. In this context, import can overwrite existing state and export can exfiltrate all accumulated task/OKR/reminder data, increasing the blast radius if the skill is invoked unexpectedly or by an untrusted caller.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.