Back to skill

Security audit

MoSoCanvas

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed visual-direction workflow with local validation and image-helper scripts, with no hidden persistence, credential use, remote payloads, or destructive behavior found.

Use this skill for visual direction and image artifact workflows. Be aware that its helper scripts can read project files, compute hashes and metadata, and write output artifacts such as masks, manifests, review packets, and release archives, so point them only at files you intend to include in that workflow.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (33)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The self_check.py description includes compiling scripts, running tests, validating repository artifacts, and producing CI-style health output. In an agent environment, that kind of maintenance automation can trigger execution of local code and broad repository reads, creating a path to arbitrary code execution or exposure of sensitive files if used on untrusted content.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding

The skill explicitly routes to scripts and helpers that imply shell, filesystem, and potentially network-capable execution, yet it declares no permissions or allowed-tools scope. That creates an overly broad execution surface where an agent may invoke powerful tools without an explicit least-privilege contract, increasing the chance of unintended file access, command execution, or external data exposure.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The markdown mandates a specific labeled output format using Chinese text (生成前设计说明) and later provides additional required Chinese section labels and response structure. This imposes a language choice on the interaction without offering the user any locale or language option, which fits the language/locale policy violation category.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The Communicate compactly section defines the required direction and generative-attempt templates entirely with Chinese headings and labels, with no opt-in or alternative locale path. Because this is a natural-language instruction in the skill definition, it constitutes a forced language constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The phrase 'turn the required slogan into restrained bilingual editorial typography' imposes a language presentation choice in natural-language guidance. This can violate language/locale policy because it does not indicate user opt-in or explain that bilingual output is required for a specific regional or compliance reason.

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 · references/critique-protocol.md (reported line 72)May include surrounding context.

md
- “你没审美”, “土”, “廉价的人才会喜欢”, or any attack on identity or competence.
- “高级”, “电影感”, “年轻人喜欢”, “色彩心理证明” without a defined mechanism and context.
- “完全保持”, “像素未变”, or “已经修复” without verification.

Prefer:

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/self_check.py (reported line 168)May include surrounding context.

python
for path in sorted(ROOT.rglob("*.json")):
        load_json(path, blockers)

    tests = subprocess.run(
        [sys.executable, str(ROOT / "scripts" / "run_tests.py")],
        text=True,
        capture_output=True,

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · tests/test_integrity.py (reported line 26)May include surrounding context.

python
def run_script(name: str, *args: Path | str) -> subprocess.CompletedProcess[str]:
    return subprocess.run(
        [sys.executable, str(SCRIPTS / name), *(str(arg) for arg in args)],
        text=True,
        capture_output=True,

Static analysis

No suspicious patterns detected.