Back to skill

Security audit

Dongwo(懂我)

Security checks for vulnerabilities and agentic risk

Overview

This optional local preference memory fits its purpose, but saved excerpts can include private text.

Enable hooks only if you accept automatic local retention of preference-like text until removed. Excerpts may preserve an entire short prompt, and secret filtering cannot guarantee privacy. Review ledger.jsonl and 档案.md periodically, preview deletions before applying them, and remove the hook configuration to stop collection.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (4)

Skill declares no tool scope ('permissions' or 'allowed-tools') but code capabilities were detected: env, file_read, file_write, shell.

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
> [!CAUTION]
> Enabling the hooks is an explicit opt-in. Once enabled, Dongwo screens every
> prompt automatically and records matching preference summaries without asking
> each time. It never stores the prompt itself: only a semantic key, an excerpt
> of at most 120 characters, a timestamp, the agent name, and a hashed session
> id. Prompts matching secret or sensitive-data rules are skipped entirely.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

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

md
- read/write `$DONGWO_HOME` (outside the project);
- read `myprofile.md` in the project root, if present;
- write the profile trust store (`~/.config/dongwo/profile-trust/`, outside
  the project);
- run the bundled `scripts/dongwo.py` with `python3` (3.9+, standard library
  only, macOS/Linux);

Custom preference capture persists verbatim prompt text despite explicit assurances that raw prompts are never stored.

Medium
Category
Excessive Agency
Confidence
97% confidence
Finding

Unrecognized statements containing a durable-preference marker are copied verbatim into custom candidates, then persisted in ledger.jsonl and the readable archive, subject to a 120-character truncation. This contradicts the assurance that only recognized preference summaries are retained and can preserve confidential prompt content that the limited sensitive-data patterns do not detect. Local storage and exclusion of custom preferences from automatic context injection reduce exposure, but do not eliminate this privacy and data-minimization issue.

Content

No source excerpt is available for this finding.