Back to skill

Security audit

Workcrm

Security checks for vulnerabilities and agentic risk

Overview

This is a local CRM skill that stores drafts and confirmed activity or task records in SQLite, with some documentation quality issues but no evidence of exfiltration, deception, or unsafe persistence.

Install only if you are comfortable with a local SQLite CRM database retaining draft content, including rejected drafts. Pay attention to the exact confirmation words `记` and `不记`, and treat the family/personal prefixes as additional local profile routing even though the main instructions do not explain them well.

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
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (7)

Ae4

Medium
Category
analysis-evasion
Confidence
87% confidence
Finding

The README includes suspicious non-ASCII control or mixed-script content, most visibly around the trigger tokens shown as 记 / 不记. Hidden or mixed-script characters can mislead reviewers about the actual required commands, create ambiguity between displayed and parsed text, and conceal behavior that differs from what a user expects.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README states that writes occur only after specific Chinese trigger terms, but it offers no language choice, opt-in, or equivalent defaults for other users. Requiring obscure non-default trigger phrases can weaken informed consent, make confirmations hard to recognize or audit, and increase the chance of accidental or misunderstood state-changing actions in a security-sensitive workflow.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The class is named WorkCRMEngine and its docstring describes a generic intent-to-write flow without disclosing that the engine can target a separate family repository. The implementation immediately supports a repo mapping with work and family profiles, which changes the operational scope beyond what the class-level documentation suggests.

Content

No source excerpt is available for this finding.

Unverifiable Dependency: setuptools has 10 known advisory(ies) (CVE-2013-1633 (Setuptools vulnerable to Man-in-the-middle attacks); CVE-2025-47273 (setuptools has a path traversal vulnerability in PackageIndex.download that lead); CVE-2024-6345 (setuptools vulnerable to Command Injection via package URL) +7 more), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
40% confidence
Finding

Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The test hard-codes the natural-language cancel phrase "不记" and elsewhere confirms with "记", implying the skill may require Chinese-language inputs for critical confirmation behavior. This can violate language/locale policy if users are not given a choice or if the locale restriction is not clearly justified.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The inline comment documents support for work and family repositories, but the routing prefixes include 个人: in addition to family-oriented prefixes. This means the documented intent of profile handling is narrower than the actual accepted command space.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The intent classifier embeds specific Chinese trigger terms in addition to English terms, which creates language-dependent behavior in skill activation. Because the file provides no natural-language explanation, opt-in, or locale selection mechanism, this can be interpreted as an undocumented language policy choice.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.