Back to skill

Security audit

ShipGuard

Security checks across malware telemetry and agentic risk

Overview

This looks like a workflow helper, but it can automatically create persistent project memory and permanent rules that affect future agent behavior without clear user review.

Install only if you want ShipGuard to manage a persistent project workflow directory. Before using it, review what it writes under `.dev-workflow/`, narrow when it activates, and require a diff or explicit approval before updates to permanent rules, lessons, cumulative test cases, or changelog entries.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Memory PoisoningPersistent Context Injection, Context Window Stuffing, Memory Manipulation
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (10)

Lp3

Medium
Category
MCP Least Privilege
Confidence
85% confidence
Finding
The skill instructs use of shell commands (`grep`, `python .../scope_check.py`) but does not declare permissions or clearly bound their usage. Undeclared execution capability increases the chance that an agent will perform filesystem inspection or command execution without appropriate user awareness or sandbox controls.

Tp4

High
Category
MCP Tool Poisoning
Confidence
89% confidence
Finding
The skill presents itself as a workflow/process guide, but it also directs local codebase scanning and command-line dependency discovery. This mismatch is dangerous because users or orchestrators may grant the skill broader trust than intended, leading to unexpected repository inspection and execution behavior.

Missing User Warnings

Low
Confidence
84% confidence
Finding
The README explicitly states that project-memory files are persisted across sessions and auto-generated/auto-maintained, but it does not clearly warn that using the skill will write new files into the user's repository. In a code-assistant workflow, implicit repository writes can surprise users, alter tracked content, and create a pathway for unintended state accumulation across sessions.

Vague Triggers

Medium
Confidence
81% confidence
Finding
Activation on broad verbs like 'build', 'fix', 'add', or 'change' can cause the skill to trigger in many ordinary conversations, even when the user did not request this workflow. Over-broad activation can lead to unintended persistence, codebase inspection, or process imposition that changes agent behavior without clear consent.

Natural-Language Policy Violations

High
Confidence
94% confidence
Finding
The onboarding questionnaire is required and written only in Chinese, forcing a language switch without user opt-in. This can cause the user to misunderstand questions, approve incorrect project metadata, or fail to notice risky persistence and workflow actions.

Natural-Language Policy Violations

High
Confidence
94% confidence
Finding
Core workflow templates for requirements and confirmation are only in Chinese and are mandatory to proceed. Because these templates govern scope, testing, and approval, a language mismatch can directly undermine informed consent and create unsafe or incorrect changes.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
---

## Gate 5 — Lessons (Auto, no confirmation needed)

Run automatically after CR closes. No user action required.
Confidence
86% confidence
Finding
no confirmation

Persistent Context Injection

Medium
Category
Memory Poisoning
Content
regression/
    CR-YYYYMMDD-NN-regression.md
  lessons/
    hard-rules.md         # Permanent rules, never expire
    lessons.md            # Historical lessons, dated entries
```
Confidence
88% confidence
Finding
Permanent rule

Persistent Context Injection

Medium
Category
Memory Poisoning
Content
写入:
  lessons/lessons.md → <dated entry>
  lessons/hard-rules.md → <if new permanent rule established>
  test-cases/all-test-cases.md → <append TCs from this CR>
  CHANGELOG.md → <append entry>
```
Confidence
90% confidence
Finding
permanent rule

Persistent Context Injection

Medium
Category
Memory Poisoning
Content
# ShipGuard — Hard Rules

This file contains permanent rules that never expire.
Loaded automatically at session start. Applied before handling any request.

Format: [Date established] [CR that established it] Rule
Confidence
87% confidence
Finding
permanent rule

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.