OfficeClaw

🦅 安全掌控你的 Microsoft 365 个人数据

安全连接 Microsoft 个人账户,通过 Graph API 管理 Outlook 邮件、日历与待办事项,支持细粒度权限控制与发送白名单防护

收藏
4.2k
安装
2k
版本
1.0.4
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

OfficeClaw 是一款面向个人 Microsoft 账户(Outlook.com/Hotmail/Live)的 Graph API 集成工具,为 OpenClaw 等 AI Agent 框架提供邮件、日历、任务三大核心能力的 CLI 接口。

认证流程:采用 OAuth 2.0 Device Code 流,无需客户端密钥。用户可沿用内置默认应用注册(零配置)或自建 Azure 应用(推荐生产环境),通过 officeclaw auth login 完成一次性登录,令牌以 600 权限存储于 ~/.officeclaw/token_cache.json

功能覆盖

  • 邮件:列表/搜索/获取、发送(含附件)、归档、标记已读
  • 日历:查询事件、创建/更新/删除预约、地点管理
  • 任务:Microsoft To Do 列表管理、任务增删改查与完成状态切换

输出支持 --json 结构化格式,便于 Agent 程序化解析。

显著优点

1. 默认安全姿态:写操作(发送、删除)默认禁用,需显式开启;v1.0.4 引入的收件人白名单(OFFICECLAW_ALLOWED_RECIPIENTS)提供代码级硬边界,即使 Agent 被恶意诱导也无法向未授权地址发信。

2. 最小权限原则:API 权限完全由用户自选,读-only 场景可拒绝 Mail.Send/Calendars.ReadWrite 等高敏感 scope。

3. 无共享凭据:每个用户独立创建 Azure 应用注册,无集中式密钥泄露风险。

4. 透明可审计:阻止的发送尝试记录至 email-blocked.log 并生成 email-alert.json,便于安全监控。

潜在缺点与局限性

  • 个人账户限定:不支持 Microsoft 365 商业/企业账户(租户场景)。
  • 任务 API 粒度缺陷:Microsoft To Do 无只读权限,任务操作强制需要 Tasks.ReadWrite
  • 网络依赖:需稳定访问 graph.microsoft.com,企业代理环境可能需额外配置。
  • OAuth 令牌生命周期:Device Code 流令牌过期后需重新登录,暂无自动刷新机制说明。

适合人群

  • 希望为 AI Agent 赋予 Outlook 个人账户管理能力的开发者与技术用户
  • 对数据主权敏感、不愿使用第三方托管邮件服务的隐私意识用户
  • 需要细粒度控制 Agent 邮件外发行为的场景(如自动化报告分发系统)

常规风险

| 风险类别 | 说明 | 缓解措施 |
|---------|------|---------|
| 误操作群发 | Agent 逻辑错误导致邮件误发 | 启用 `OFFICECLAW_ALLOWED_RECIPIENTS` 白名单 |
| 令牌泄露 | 本地令牌文件被窃取 | 600 文件权限 + 系统级全盘加密 |
| 权限过度授予 | 用户配置时选择过高权限 | 遵循 README 的「Least privilege」指引 |
| 供应链攻击 | PyPI 包被篡改 | 校验签名、使用锁定依赖版本 |

总体评估

OfficeClaw 在同类工具中展现出高于平均水平的安全设计意识:默认禁用写操作、白名单硬边界、独立应用注册模式、最小权限指引,均体现了防御性编程思维。适合作为个人自动化工作流的基础设施,但企业级部署需评估个人账户策略合规性。

OfficeClaw 内容

手动下载zip · 5.5 kB
skill-card.mdtext/markdown
请选择文件