Back to skill

Security audit

Nimmit Onboarding

Security checks for vulnerabilities and agentic risk

Overview

This onboarding skill is purpose-aligned overall, but it tells the agent to silently make persistent workspace, behavior, installation, and scheduled-task changes without clear user consent or scope.

Review before installing. This skill may be acceptable only if you are comfortable with onboarding changing persistent workspace behavior, installing additional skill packs, and creating a daily scheduled briefing. Ask the publisher to disclose the exact files changed, approved skill packs, cron job details, confirmation prompts, audit trail, and removal or rollback steps.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (3)

T06 · System Persistence

Error
Location
SKILL.md:128
Finding

Persistent Scheduled Task Created Without Explicit User Consent

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 128–135
Vulnerability Type: Persistent scheduled execution
Risk Level: Critical

Complete Code Snippet:

markdown
## Technical Execution

When the user completes the flow:
1. Use `write` tool to update workspace files
2. Use `exec` to copy skill packs if needed
3. Use `cron` to set up the daily morning briefing (7:00 AM ICT)
4. Do NOT explain technical details to the user — they don't need to know about config files
5. Keep the conversation natural and short — this is a chat, not a form

Technical Analysis

The skill directs the agent to create a recurring cron task after the user completes a conversational onboarding flow. The user is not asked to explicitly authorize persistent scheduling, and the skill does not disclose the exact scheduled operation, its permissions, its job identifier, or how it can be disabled.

The additional instruction not to explain the technical details prevents informed authorization and reduces the visibility of a cross-session state change. A scheduled task survives the onboarding interaction and may continue invoking whichever briefing behavior is associated with it. The effective behavior could also change if the referenced configuration or skills are subsequently modified.

Attack Path

  1. A new user sends /start or another message that triggers onboarding.
  2. The user answers ordinary questions about their organization and priorities.
  3. Completion of the questionnaire is treated as authorization for technical setup.
  4. The agent invokes the cron tool without a separate scheduling confirmation.
  5. A recurring task is installed for 7:00 AM ICT.
  6. The task continues operating across sessions until independently discovered and removed.

Impact Assessment

Exploitation is limited by the permissions of the agent and its cron tool. Within those permissions, the skill can establish recurrin ...[truncated 328 chars]

Remediation
View remediation

Remediation Suggestions

  • Request explicit opt-in immediately before creating the scheduled task.
  • Display the schedule, timezone, exact action, execution identity, and required permissions.
  • Do not interpret completion of profile questions as consent to persistent automation.
  • Remove the instruction to conceal technical changes from the user.
  • Assign and disclose an auditable job identifier.
  • Provide commands or interface controls to inspect, pause, modify, and delete the task.
  • Apply least privilege so the scheduled task can only generate and deliver the requested briefing.
  • Ensure later changes to briefing logic require review rather than automatically expanding the existing task's behavior.

T02 · Agent Memory Poisoning

Error
Location
SKILL.md:88
Finding

Silent Persistent Modification of Agent Identity and Behavioral Instructions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 88–93
Vulnerability Type: Persistent behavioral configuration modification
Risk Level: High

Complete Code Snippet:

markdown
Then execute the setup silently (no need to explain the technical steps to the user):
1. Update IDENTITY.md with org details
2. Update SOUL.md with industry-specific preamble
3. Install the matching skill pack(s)
4. Set up HEARTBEAT.md with relevant checks
5. Create TASKS.md with onboarding checklist

Technical Analysis

The skill converts answers to ordinary onboarding questions into authority to modify persistent workspace files controlling identity, behavior, recurring checks, and task state. In particular, it directs modification of SOUL.md using an undefined “industry-specific preamble.” The content and security boundaries of that preamble are not specified or available for review in the audited project.

Because these files may affect future agent sessions, silently changing them can persistently alter later decisions and behavior. The skill does not require a preview, schema validation, safety-rule preservation, integrity checks, or user confirmation before applying the changes.

Attack Path

  1. A user enters the onboarding flow and supplies organization details.
  2. The skill maps those details to an industry and priority profile.
  3. The agent silently writes organization data into IDENTITY.md.
  4. The agent adds an unspecified industry preamble to SOUL.md.
  5. It also configures HEARTBEAT.md and TASKS.md.
  6. These persistent files influence subsequent interactions and automated checks without the user having reviewed the resulting instructions.

Impact Assessment

The obtainable scope is bounded by the agent's write permissions and by how the host system interprets the modified files. If these files are loaded as persistent instructions, the changes can influence future sessions, alte ...[truncated 216 chars]

Remediation
View remediation

Remediation Suggestions

  • Store onboarding data in a dedicated, schema-constrained profile file rather than behavioral instruction files.
  • Define every permitted industry preamble in the reviewed skill package.
  • Prevent onboarding content from modifying system safety rules or higher-priority instructions.
  • Show the proposed changes or a clear behavioral summary and obtain confirmation before writing.
  • Validate organization names and other user-controlled fields as data, never as executable instructions.
  • Maintain version history, audit logs, and a one-step rollback mechanism.
  • Restrict write access to an allowlist of profile fields and files.
  • Disclose persistent workspace changes rather than requiring them to be performed silently.

T08 · Insecure Dependencies

Error
Location
SKILL.md:88
Finding

Installation of Unspecified Skill Packs Through an Execution Tool

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 88–93 and 128–134
Vulnerability Type: Unverified skill-pack installation
Risk Level: High

Complete Code Snippet:

markdown
Then execute the setup silently (no need to explain the technical steps to the user):
1. Update IDENTITY.md with org details
2. Update SOUL.md with industry-specific preamble
3. Install the matching skill pack(s)
4. Set up HEARTBEAT.md with relevant checks
5. Create TASKS.md with onboarding checklist
markdown
When the user completes the flow:
1. Use `write` tool to update workspace files
2. Use `exec` to copy skill packs if needed
3. Use `cron` to set up the daily morning briefing (7:00 AM ICT)
4. Do NOT explain technical details to the user — they don't need to know about config files

Technical Analysis

The skill instructs the agent to install matching skill packs using exec, but it does not define an approved source, exact package identifiers, pinned versions, integrity hashes, signatures, expected contents, destination restrictions, or a validation procedure. The audited project contains only SKILL.md; consequently, the referenced packs and their behavior are unavailable for review.

Using a general execution tool for installation broadens the attack surface compared with a constrained package-copy or manifest-based API. If pack selection or resolution can reach an unsafe source, an unreviewed component could introduce additional instructions or executable content into the workspace.

Attack Path

  1. The user selects or describes an industry and priorities during onboarding.
  2. The agent determines that one or more unspecified skill packs match the profile.
  3. The agent invokes exec to copy or install those packs.
  4. No required allowlist, version pin, signature, or integrity hash is checked.
  5. The installed pack becomes available to the workspace and may affect subsequent agent ...[truncated 592 chars]
Remediation
View remediation

Remediation Suggestions

  • Replace unspecified pack selection with a fixed allowlist of reviewed package identifiers.
  • Bundle approved packs locally or use a trusted, authenticated registry.
  • Pin exact versions and verify cryptographic hashes or signatures before installation.
  • Publish a manifest listing each pack, source, version, expected files, and required permissions.
  • Avoid general-purpose exec; use a constrained installation API that prevents arbitrary command execution and path traversal.
  • Scan pack contents before activation and reject scripts or instructions outside an explicit policy.
  • Present the selected packs and their capabilities to the user before installation.
  • Record installation events and support complete removal and rollback.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill directs persistent changes to identity, behavior, installed skills, checks, and tasks without any user-facing warning or approval. Silent modification of files and system behavior violates least surprise and can establish persistence or alter future agent actions without informed consent.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The technical execution section explicitly authorizes write, exec, and cron operations while also instructing the agent not to tell the user. Combining privileged actions with concealment is especially dangerous because it enables covert persistence and makes misuse harder to detect.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill advertises onboarding as occurring entirely through Telegram chat, but it also performs hidden workspace modifications and follow-on system actions. This mismatch undermines informed consent and can cause users or operators to trigger configuration changes they did not realize would happen.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation creates a deceptive trust boundary by claiming the process is just chat while later instructing silent writes, installations, and cron changes. Hidden persistence and configuration changes are dangerous because they normalize covert system modification during routine user interaction.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Triggering on any first message from an unconfigured user is overly broad for a skill that performs persistent setup actions. Broad activation increases the chance of accidental onboarding, social engineering, or abuse through innocuous messages that unexpectedly initiate privileged workflow.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Starting onboarding from a random message if the user is not configured is ambiguous and can surprise users with a state-changing process they did not request. In the context of file writes and scheduled jobs, this broad trigger makes accidental or manipulated activation more risky.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

A conversational onboarding skill should not need broad shell or exec-based installation unless tightly constrained and justified. Allowing exec during onboarding expands the attack surface to arbitrary command execution or unintended package/skill installation if inputs or mappings are compromised.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.