Back to skill

Security audit

Mom.skill

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent baby-tracking helper, but it stores sensitive infant and household-routine data persistently in local plaintext and has unclear sharing and activation boundaries.

Review this carefully before installing if you will enter medical, allergy, sleep, location, or caregiver-routine details. Use it only if you are comfortable with sensitive baby records being stored as local human-readable files, and clarify how multi-caregiver access is supposed to work before sharing the profile across people or devices.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:48
Finding

Infant Health and Routine Data Stored in Plaintext Without Documented Access Controls

Content
View full analysis
Born: [YYYY-MM-DD] > Current Age: [auto-calculated] > Last Updated: [YYYY-MM-DD] --- ## Identity - **Name:** - **Date of birth:** - **Birth weight/length:** ## Feeding - **Method:** (breast / bottle / combo / solids) - **Average interval:** - **Usual amounts:** - **Foods tried:** | Food | Date | Reaction | Notes | |------|------|----------|-------| | | | | | ## Sleep - **Wake window:** - **Nap schedule:** - **Night pattern:** - **Sleep associations:** ## Soothing Playbook | Rank | Method | Success Rate | Time of Day | Notes | |------|--------|-------------|-------------|-------| | 1 | | /attempts | | | | 2 | | /attempts | | | | 3 | | /attempts | | | ## Cry Dictionary | Pattern | Likely Cause | Accuracy | Resolution | |---------|-------------|----------|------------| | | | | | ## Milestones | Date | Milestone | Context | |------|-----------|---------| | | | | | ## Pediatrician Flags - [ ] - [ ] ``` ### Technical Analysis The skill explicitly directs the agent to persist baby profiles and daily observations as human-readable Markdown and JSONL files under a predictable path in the user's home directory. The stored schema includes a child's ...[truncated 2653 chars]
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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 (6)

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README makes strong privacy guarantees that baby data is stored only locally with no cloud sync or external transmission, yet it also advertises multi-caregiver sync. Those claims are technically inconsistent, and if users rely on the privacy statement they may disclose sensitive child health and behavioral data under false assumptions about where it is shared.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README explicitly labels this skill as 'For mothers' and pairs it with a separate 'dad.skill' for fathers. This is a natural-language policy concern because it assigns access or fit by gender without opt-in, neutrality, or a documented justification such as a region- or compliance-specific requirement.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The 3am Mode trigger activates on any question between midnight and 6am, which is overly broad and can hijack unrelated conversations. In a caregiving context, this can suppress normal safety caveats or route non-baby queries into terse baby-care responses at exactly the time a sleep-deprived user is most vulnerable to misunderstanding.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

Logging Mode is triggered whenever a parent reports an observation, but the boundary between casual discussion and persistent logging is not clearly defined. This can cause accidental retention of sensitive family or health-related details in local storage without clear user intent, which is risky given the skill stores longitudinal baby data.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Briefing Mode uses common conversational phrases like 'How was her day?' or 'What did I miss?' without contextual constraints, making unintended activation likely. In a shared caregiver environment, this could reveal stored baby and caregiver activity summaries to someone who did not explicitly request a data briefing or in the wrong conversational context.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The trigger "Parent asks about baby's patterns" is conceptually broad and does not provide precise scope or exclusions. While baby-related, it still lacks concrete trigger phrases or boundaries that would help prevent accidental activation or overlap with other modes.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.