iCalendar Sync

⚠️ 安全的 iCloud 日历管家

基于 Python 的 iCloud 日历同步技能,通过 CalDAV 或 macOS 原生桥接安全完成日历 CRUD 操作,为 OpenClaw Agent 提供隐私至上的日程自动化能力。

收藏
5.7k
安装
2.5k
版本
2.4.1
CLS 安全性认证2026-06-04
点击查看完整报告 >

使用说明

综合性评估

核心用法

此技能为 OpenClaw 智能体提供了完整且安全的 iCloud 日历增删改查能力。它通过两种模式运行:在 macOS 上优先或可选择地通过 osascript 与系统日历应用桥接,或在所有平台上通过标准的 CalDAV 协议,直接与 Apple 的 iCloud 服务器(icloud.com)进行安全通信。用户可方便地在终端中管理多个日历、获取指定天数内的事件,并通过结构化的 JSON 数据创建、修改或删除事件,甚至支持复杂重复事件的拆分与单次修改。

显著优点

该技能在安全性上表现突出,拥有企业级的安全实践。它强制使用应用专用密码,并通过系统钥匙串或 0600 严格权限的配置文件存储凭据。代码中实现了日志脱敏、applescript_escape() 字符转义和输入验证,杜绝了信息泄露和注入攻击。所有操作均限定在 Apple 官方域名内,强制 HTTPS,且无任何第三方遥测或数据收集,完全符合 GDPR 和 CCPA 等隐私法规,为用户日程数据提供了极高的安全保障。

潜在缺点与局限性

唯一的局限在于其来源。该技能由个人开发者“Black_Temple”维护(其 GitHub 组织名为随机匿名格式),缺乏大型知名组织或基金会的背书,导致其来源可信度评级被归类为 T3。虽然代码本身经审查无恶意行为,但这对于注重供应链安全的企业用户来说,可能需要额外的内部审查。此外,Windows 平台上的输入超时回退机制存在已知的小瑕疵,但对于核心的网络功能而言无影响。

适合的目标群体

此技能非常适合注重隐私和自动化的 macOS 或 Linux 高级用户和开发者,尤其适合那些希望将 OpenClaw 智能体无缝集成到个人日程管理流程中的人。对于需要自动化会议安排、日程任务跟踪但又不愿将核心日历数据开放给第三方服务的效率追求者,这是一个强大、透明且可控的选择。

使用可能存在的常规风险

常规风险极低。由于依赖 AppleScript 在 macOS 上运行,本地系统安全至关重要。虽然对日历的输入做了严格校验,但用户操作庞大数据量时仍需注意本地性能。依赖项均为合法且维护良好的 PyPI 包,供应链风险较低。核心风险在于社区维护的速度以及对未来可能出现的 Apple CalDAV 协议变更的响应时间。

安全解读

核心用法

icalendar-sync 是面向 OpenClaw 代理的 iCloud 日历操作技能,提供完整的 CRUD 能力(创建、读取、更新、删除)及循环事件系列管理。支持双后端架构:CalDAV 直连(跨平台)与 macOS 原生桥接(通过 Calendar.app AppleScript)。

凭证配置(安全优先)

强制使用 Apple 应用专用密码(App-Specific Password),禁止主账号密码。提供三级存储策略:

  • 首选:系统 keyring(macOS Keychain / Windows Credential Manager / Linux Secret Service)
  • 次选:环境变量(ICLOUD_USERNAMEICLOUD_APP_PASSWORD
  • 备选:本地加密文件(权限强制 0600

关键操作示例

# 列表与查询
python -m icalendar_sync list
python -m icalendar_sync get --calendar "Personal" --days 7

# 创建事件(ISO 8601 时间格式)
python -m icalendar_sync create --calendar "Personal" --json '{
  "summary": "Meeting",
  "dtstart": "2026-02-15T14:00:00+03:00",
  "dtend": "2026-02-15T15:00:00+03:00"
}'

# 循环事件更新(三种模式)
python -m icalendar_sync update --calendar "Work" --uid "series-uid" \
  --recurrence-id "2026-03-01T09:00:00+03:00" --mode single \
  --json '{"summary":"One-off change"}'

循环更新模式:

  • single:仅修改指定实例
  • all:修改整个系列
  • future:从指定实例起拆分并更新后续事件

显著优点

1. 企业级安全设计:系统 keyring 优先、日志敏感信息脱敏、TLS 强制验证、输入路径清洗、文件权限 0600
2. 双后端容错--provider auto 智能切换,CalDAV 失败时自动降级至 macOS 原生桥接

3. 循环事件完整支持:RRULE 解析、实例例外管理、系列拆分操作

4. 零主密码风险:仅支持应用专用密码,从源头杜绝账号泄露风险

潜在缺点与局限性

1. 平台限制:macOS 原生桥接仅限 macOS,Linux/Windows 完全依赖 CalDAV
2. 网络依赖:所有操作需实时连接 iCloud,无离线缓存机制

3. Apple 生态锁定:仅支持 iCloud,不支持 Google Calendar、Outlook 等第三方服务

4. 个人维护风险:T3 级来源(个人开发者),无组织 SLA 保障,长期维护存在不确定性

适合人群

  • macOS 自动化用户:需要与 Calendar.app 深度集成的工作流
  • 隐私敏感型企业:要求凭证不出进程内存、拒绝云端第三方 OAuth 的场景
  • CalDAV 标准化需求:需与现有 CalDAV 基础设施互操作的跨平台部署

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 凭证泄露 | 文件存储模式若权限配置错误 | 强制 0600 权限检查 + keyring 优先 |
| 中间人攻击 | TLS 证书验证被意外禁用 | 代码硬编码 `ssl_verify_cert=True`,不可覆盖 |
| AppleScript 注入 | macOS 桥接通过 osascript 执行 | 输入经 `applescript_escape` 转义,无用户可控注入点 |
| 速率限制 | iCloud API 限流 | 内置请求间隔控制(文档未明示具体阈值) |

安全认证摘要

CLS-Certify v2.1.0 全扫描评级 S 级(85 分),静态分析 88 分、隐私合规 90 分。3 项 findings 均为低风险或信息级:AppleScript 子进程调用、CalDAV 网络请求、0600 文件权限设置,均已标记为确认安全。

iCalendar Sync 内容

.github文件夹
workflows文件夹
src文件夹
icalendar_sync文件夹
tests文件夹
手动下载zip · 50.7 kB
security.ymltext/plain
请选择文件