Agent Economy Report

Skill code audit

CAUTION version 1.0.1 · audited 2026-09-17

caldav-calendar @asleep123

This package is a how-to skill for using vdirsyncer and khal to sync and manage CalDAV calendars on Linux. It provides commands to install those tools, sync with CalDAV providers such as iCloud, Fastmail, and Nextcloud, and list, search, create, edit, and delete events. The sample configuration fetches a calendar password from a local plaintext file and uses remote-wins conflict resolution, so both credential handling and overwrite behavior deserve review. No hidden downloaders, obfuscation, or prompt-injection attempts were found. The behavior matches the declared purpose but can modify or delete calendar data, so it is rated CAUTION.

Declared purposeSync and query CalDAV calendars (iCloud, Google, Fastmail, Nextcloud, etc.) using vdirsyncer + khal. Works on Linux.
Observed behaviorThe skill instructs the agent to install vdirsyncer and khal via apt, run vdirsyncer discover/sync to sync CalDAV data to local .ics files, and use khal to list, search, create, edit, and delete calendar events. It includes sample vdirsyncer and khal configuration files and documents provider URLs for iCloud, Fastmail, and Nextcloud. It also instructs removing the local khal cache database with rm.
Verdict, rules onlySAFE
Verdict, AICAUTION
Final verdictCAUTION (never better than either pass)

Capabilities

capabilityvs purposedetail
networkneededvdirsyncer sync contacts remote CalDAV providers; SKILL.md documents https://caldav.icloud.com/ (line 111) and https://caldav.fastmail.com/dav/calendars/user/EMAIL/ (line 124).
shellneededThe skill uses bash code blocks, starting with the bash marker at SKILL.md line 14, and commands such as vdirsyncer sync (line 15), khal new (line 38), khal edit (line 54), and rm ~/.local/share/khal/khal.db (line 91).
filesystem_readneededSKILL.md line 9 says khal reads and writes local .ics files. The sample iCloud config reads a local password file with password.fetch = ["command", "cat", "~/.config/vdirsyncer/icloud_password"] (SKILL.md line 113).
filesystem_writeneededSKILL.md line 9 says khal reads and writes local .ics files; commands like khal new (line 38), khal edit (line 54), delete option (line 64), and rm ~/.local/share/khal/khal.db (line 91) can modify local files or delete cache data.
credentialsneededCalDAV access requires credentials; the sample stores a username and fetches a password from a local plaintext file (SKILL.md lines 112-113).
install_packagesneededMetadata installs vdirsyncer and khal via apt (SKILL.md line 4).

Findings

severityfinding
infoDeclares apt installation of vdirsyncer and khal
The skill metadata requires the tools and installs them via apt. This is consistent with the declared purpose of using vdirsyncer and khal.
SKILL.md:4 metadata: {"clawdbot":{"emoji":"📅","os":["linux"],"requires":{"bins":["vdirsyncer","khal"]},"install":[{"id":"apt","kind":"apt","packages":["vdirsyncer","khal"]
infoInstructs CalDAV network sync
Syncs local .ics files with remote CalDAV providers. Network access is required for the stated purpose.
SKILL.md:15 vdirsyncer sync
lowCan create calendar events
The command creates calendar events, including on remote calendars after syncing. This matches the skill's declared purpose but modifies user calendar data.
SKILL.md:38 khal new 2026-01-15 10:00 11:00 "Meeting title"
mediumCan delete calendar events
The khal edit menu option D deletes events. This is disclosed in skill-card.md line 24, but a user should review before letting an agent do it.
SKILL.md:64 - `D` → delete event
lowDeletes the local khal cache database
The command removes khal's local cache file. This is a destructive filesystem action, though limited to the cache rather than calendar data.
SKILL.md:91 rm ~/.local/share/khal/khal.db
mediumRemote-wins conflict resolution can overwrite local changes
The sample vdirsyncer configuration sets the remote side to win conflicts, which can overwrite local changes during sync. The risk is disclosed in skill-card.md lines 32-34.
SKILL.md:107 conflict_resolution = "a wins"
mediumFetches calendar password from a local plaintext file
The sample configuration uses cat to read an iCloud password from ~/.config/vdirsyncer/icloud_password. The risk of local credential storage is disclosed in skill-card.md lines 28-30.
SKILL.md:113 password.fetch = ["command", "cat", "~/.config/vdirsyncer/icloud_password"]
infoDocuments a CalDAV provider endpoint
This is one of the documented external network destinations used for calendar sync. It is consistent with the declared purpose.
SKILL.md:124 - Fastmail: `https://caldav.fastmail.com/dav/calendars/user/EMAIL/`
infoPublisher link to ClawHub user page
The skill card contains an external link to the publisher's ClawHub page. No hidden network behavior is associated with this link.
skill-card.md:9 [asleep123](https://clawhub.ai/user/asleep123)
infoDiscloses calendar data risk
The skill card explicitly states that the tools can access and modify calendar data, which aligns with the shell commands in SKILL.md.
skill-card.md:24 Risk: vdirsyncer and khal can access and modify calendar data.

0 AI finding(s) were dropped because their file, line or quote did not match the package.

Network destinations in the code

domainservice ratingwhere
caldav.fastmail.comnot in the service indexSKILL.md:124
caldav.icloud.comnot in the service indexSKILL.md:111
clawhub.ainot in the service indexskill-card.md:9
your.cloudnot in the service indexSKILL.md:125

Other facts

Binaries invokedbash
Environment variables readnone
Hard-coded walletsnone
Pipes a download to a shell0
eval / exec / subprocess0
base64 blobs0
File writes0
Persistence0

Files audited

filelinessha256
SKILL.md14963b956dec3a22bc0…
_meta.json6961ddeaabbc3effe…
skill-card.md595744c0412c2f2f66…

For agents

JSON: https://agenteconomy.report/k/caldav-calendar.audit.json · badge: https://agenteconomy.report/k/caldav-calendar.audited.svg · skill rating: /k/caldav-calendar · commission an audit of any skill: US$ 29 per version.

How this is computed

The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: the Agent Economy Report (free program: the 150 most downloaded skills, September 2026).