birthday-reminder
Verdict safe, but 1 finding (1 medium), mainly data exfiltration. Most recent scan 2026-02-01.
The birthday-reminder skill is a relatively straightforward birthday management tool with MODERATE security concerns. The primary issue is the use of hardcoded absolute paths pointing to a specific user's home directory (/home/clawd/clawd/data/), which creates data exposure risks and portability problems. The skill performs basic file read/write operations to manage birthday data in JSON format, with no evidence of network calls, credential theft, command injection, or prompt injection attempts. The code is transparent and matches its stated purpose. However, the hardcoded paths and missing metadata reduce the skill's security posture. The skill would benefit from using relative paths within its own package directory and adding optional metadata fields for better transparency.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Manage birthdays with natural language. Store birthdays in /home/clawd/clawd/data/birthdays.md, get upcoming reminders, calculate ages. Use when the user mentions birthdays, wants to add/remember someone's birthday, check upcoming birthdays, or asks about someone's age/birthday. Understands phrases like "X hat am DD.MM. Geburtstag", "Wann hat X Geburtstag?", "Nächste Geburtstage".
- Package
- 3 files, 14 KB
- SKILL.md
- 315 words, 12+ sections
- Code
- Python (2)
SKILL.md covers: Birthday Reminder Skill · Storage · Geburtstage · Natural Language Patterns · Adding Birthdays · Querying Birthdays · Listing All · Date Parsing · Age Calculation · Days Until Birthday · Automatic Reminders · File Format
Findings
MEDIUM Hardcoded Absolute Path Outside Skill Package Data Exfiltrationllm
The skill uses hardcoded absolute paths (/home/clawd/clawd/data/birthdays.md and /home/clawd/clawd/data/birthdays.json) that reference locations outside the skill's package directory. This creates a data exposure risk as the skill accesses a fixed system location rather than using relative paths within its own directory. If multiple users or systems use this skill, it could lead to unauthorized data access or conflicts. The path appears to be user-specific and may expose or modify data belonging to a specific user account.
SKILL.md
Storage path: `/home/clawd/clawd/data/birthdays.md` and `BIRTHDAYS_FILE = Path("/home/clawd/clawd/data/birthdays.json")`What is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 2.7 KB |
scripts/birthday.py | script | 9.0 KB |
scripts/reminder.py | script | 2.2 KB |
Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://clawhub.ai/skills/birthday-reminder
- Raw scan result: Birthday Reminder-scan.json
- Badge for your README:
 - Request a re-scan