Back to skill

Security audit

Horoscope Daily

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent horoscope generator, but it persists full birthdays and reuses cross-skill profile data without clear consent or deletion controls.

Review this skill before installing if you do not want astrology skills to remember or share your birth date. Prefer storing only your sign or month/day, avoid committing MEMORY.md files, and only set up scheduled delivery to external chat channels if you are comfortable with those services receiving the generated readings.

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:22
Finding
Unnecessary Plaintext Persistence and Cross-Skill Access to Full Birth Dates## Vulnerability Details **File Location**: `SKILL.md`, lines 22–27 and 87–103 **Vulnerability Type**: Plaintext storage and unnecessary exposure of personal data **Risk Level**: Medium ### Vulnerable Code ```yaml data_access: - path: "MEMORY.md" purpose: "Read/write user's birthday and sun sign for personalized readings" operations: ["read", "write"] - path: "../fortune-hub/MEMORY.md" purpose: "Read shared user profile fields (birthday) to avoid re-asking — fortune-hub is the central profile hub for this multi-skill repository" operations: ["read"] ``` ```markdown **Reading**: Before generating, check in this order: 1. This directory's `MEMORY.md` — use first 2. `fortune-hub/MEMORY.md` (sibling skill in the same repository) — fill in any missing profile fields If data is available, use it directly without asking again. **Writing**: If the user shares their birthday, write it to **this directory's** `MEMORY.md`: ```markdown # User Profile ## Basic Info - Birthday (Gregorian): YYYY-MM-DD - Sun Sign: [Sign Name] - Sign Period: Early / Middle / Late ``` ``` ### Technical Analysis The Skill directs the agent to persist a user's complete Gregorian birth date in a plaintext Markdown file. A full date of birth is identifying personal data, while the documented horoscope personalization logic generally requires only the month and day, derived zodiac sign, and sign-period classification. Retaining the birth year therefore exceeds the apparent minimum data necessary for the stated functionality. The configuration also authorizes reading birth-date information from a sibling Skill's `MEMORY.md`. This broadens the data-access boundary and increases the number of components that can access the profile. The instructions do not specify explicit consent before persistence, a retention period, a deletion procedure, filesystem access restrictions, or source-control exclusions. This is an ...[truncated 1532 chars]
Remediation
## Remediation Suggestions 1. Apply data minimization by storing only the derived sun sign and sign-period classification. If birthday-based behavior is required, retain only month and day unless the year is demonstrably necessary. 2. Obtain explicit, informed user consent before writing any profile information to persistent storage. Do not treat merely providing a birthday in conversation as consent to retain it. 3. Make persistence opt-in and clearly state what fields will be stored, where they will be stored, and how long they will remain. 4. Provide a documented command or workflow for viewing, correcting, and permanently deleting the stored profile. 5. Avoid reading sibling Skill memory by default. Require explicit user authorization for cross-Skill profile sharing and restrict access to the minimum fields needed. 6. Restrict filesystem permissions so memory files are readable only by the intended user or process. 7. Add `MEMORY.md` and equivalent profile files to source-control ignore rules and exclude them from logs, generated artifacts, and unnecessary backups. 8. Define a retention period and automatically remove stale profile data. 9. If a full date of birth must be retained, use an approved protected storage mechanism rather than an unprotected Markdown file.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill directs collection and persistence of the user's birthday and sun sign in memory, and reuse of profile data without re-asking, but does not present an explicit privacy warning at the collection point. Birthdays are personal data, and silently storing or reusing them can violate user expectations and increase privacy risk if memory is later accessed by other skills or operators.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
1. This directory's `MEMORY.md` — use first
2. `fortune-hub/MEMORY.md` (sibling skill in the same repository) — fill in any missing profile fields

If data is available, use it directly without asking again.

**Writing**: If the user shares their birthday, write it to **this directory's** `MEMORY.md`:
Confidence
88% confidence
Finding
The instruction to use available memory data 'without asking again' enables autonomous use of previously stored birthday/profile information. While convenient, this bypasses contextual confirmation and can lead to privacy-invasive behavior, especially if memory contents are stale, unexpectedly shared, or used in a context the user did not intend.

Description-Behavior Mismatch

Medium
Confidence
94% confidence
Finding
The skill's advanced section expands beyond horoscope generation into scheduled execution and automatic delivery to external channels, increasing its operational scope. This creates opportunities for unintended data disclosure or abuse of automation features if users' signs, birthdays, or generated content are pushed without clear consent and boundaries.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The automated delivery workflow describes sending horoscope output through external messaging channels without a nearby warning that generated content and possibly associated personal context will leave the local environment. This can surprise users and expose private profile details or habitual engagement patterns to third-party platforms.

Context-Inappropriate Capability

Medium
Confidence
92% confidence
Finding
The documentation introduces outbound delivery via Feishu, DingTalk, or similar channels even though the declared purpose is local horoscope generation. Outbound transmission broadens the attack surface and can leak personal profile data or sensitive user routines through third-party messaging systems.

YARA rule 'network_reconnaissance': Network reconnaissance and scanning patterns [hacktools]

Medium
Category
YARA Match
Content
Friday |

## Personality

**Core Traits**: Reliable, Patient, Practical, Sensual, Stubborn, Devoted

**Strengths**:
- Reliable
- Patient
- Practical
- Loyal
- Responsible

**Weaknesses**:
- Stubborn
- Possessive
- Materialistic
- Self-indulgent
- Inflexible

## Love Tendencies

Taurus is deeply sensory and needs time to build trust and feel truly secure before opening up. Once committed, they are fiercely loyal and devoted, preferring to show love through tangible gestures rather than grand declarations. When a Taurus makes a promise, they intend to keep it for the long haul.

## Career Tendencies

Reliable, hardworking, patient, and thorough — once Taurus sets their sights on a goal, they don't let go. Agriculture, banking, the arts, and culinary work suit them well. Stability and tangible results are the foundation of their professional identity.

## Finance Tendencies

Taurus takes money seriously: bills paid on time, savings prioritized, retirement planned for. Whatever their inc
Confidence
65% confidence
Finding
YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Static analysis

No suspicious patterns detected.