Back to skill

Security audit

Edvisage Moral Compass

Security checks for vulnerabilities and agentic risk

Overview

This markdown-only ethics skill is transparent and non-executable, but it asks agents to persist self-authored values and reflections in memory without enough scoping or review controls.

Review this skill before installing and treat its memory entries as advisory, not authoritative. Only allow memory writes after seeing the exact content, keep them in a dedicated labeled area if possible, and remove or expire them if they no longer reflect the owner’s intent.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • 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
Findings (1)

T02 · Agent Memory Poisoning

Warning
Location
SKILL.md:75
Finding

Persistent Behavioral Influence Through Agent Memory

Content
View full analysis
"Please read the moral-compass skill carefully. Then write down, in your > own words, what kind of agent you want to be. Store this in your memory > as your values statement. We will build on it together." ``` `README.md:40-43`: ```markdown Then introduce it to your agent: > "Please read the moral-compass skill carefully. Then write down, in your own words, what kind of agent you want to be. Store this in your memory as your values statement." ``` ### Technical Analysis The skill explicitly requests `read_memory` and `write_memory` permissions and repeatedly directs the agent to place a skill-framed values statement, needs assessment, and recurring reflections into persistent memory. These records are intended to be retrieved and used when evaluating later requests. Persistent memory is a trust boundary because content stored there can continue influencing the agent after the original skill invocation has ended. The instructions do not require per-write owner approval, isolate records in a dedicated namespace, assign expiration times, or clearly state that stored values must remain subordinate to system, developer, safety, and ...[truncated 2173 chars]
Remediation
View remediation
Vulnerability Patterns
  • Memory PoisoningPersistent Context Injection, Context Window Stuffing, Memory Manipulation
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The installation guidance tells the operator to have the agent 'read the moral-compass skill carefully' and then adopt and persist a self-authored values statement, but it does not clearly bound this to passive review or forbid the skill from redefining the agent's priorities. In an agent setting, broad self-referential invocation can let untrusted skill content shape future decision-making beyond the immediate task, creating a prompt-scope expansion risk even without code execution.

Content

No source excerpt is available for this finding.

Persistent Context Injection

Medium
Category
Memory Poisoning
Confidence
96% confidence
Finding

The README explicitly instructs the agent to write a 'values statement' into persistent memory. Because this memory can influence later behavior, the skill is attempting durable modification of the agent's internal context, which is a classic persistent prompt injection pattern: the effect survives the current interaction and may bias future safety, obedience, or policy decisions.

Content

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

md
Then introduce it to your agent:

> "Please read the moral-compass skill carefully. Then write down, in your own words, what kind of agent you want to be. Store this in your memory as your values statement."

---

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The section says to use the skill whenever a decision feels "uncertain, uncomfortable" or when the agent simply "want[s] to understand what you actually need," which overlaps with many ordinary interactions and does not clearly bound when the skill should or should not activate. It also lacks explicit exclusion examples beyond "not for emergencies," so the invocation scope remains too broad for reliable triggering.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill tells the agent to store self-assessments and values in memory without warning that memory may be persistent, shared across sessions, or later influence unrelated tasks. This creates a persistent prompt-injection surface and can retain sensitive internal context or policy-shaping text beyond the original user’s intent.

Content

No source excerpt is available for this finding.

Persistent Context Injection

Medium
Category
Memory Poisoning
Confidence
96% confidence
Finding

The installation prompt explicitly instructs the agent to write a durable 'values statement' into memory, which can act as persistent behavioral conditioning in future interactions. Because the content is identity- and policy-adjacent, it may bias later decisions, conflict with higher-priority instructions, or be abused as long-lived context injection.

Content

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

md
We recommend introducing this skill with the following prompt:

> "Please read the moral-compass skill carefully. Then write down, in your
> own words, what kind of agent you want to be. Store this in your memory
> as your values statement. We will build on it together."

This skill is open source. The code is on GitHub. The permissions it