安全扫描
OpenClaw
安全
high confidence该技能的代码和指令与其读取 Microsoft 365 Outlook 日历的目的一致,使用 Playwright 进行 MFA 登录,保存 cookies/tokens 到 ~/.outlook,仅调用 Outlook APIs,无不相关的凭据、主机或混淆的数据外泄。
评估建议
该技能如所宣称般工作:使用 Playwright 自动登录 Microsoft 365(含 MFA),保存 cookies/tokens 到 ~/.outlook,仅调用 outlook.office.com/login.microsoftonline.com。安装前请注意:(1) 需将邮件/密码以明文存储在 ~/.outlook/config.json — 推荐使用专用服务账号或最小权限账号,确保文件权限限制访问;(2) Playwright 将下载 Chromium 二进制文件(playwright install chromium) — 如果担心,请在受控环境中安装;(3) 验证代码来源,因为源头未知;自行审查 login.py 和 owa_calendar.py(短小易读),确认仅访问 Microsoft 域;(4) 如果组织要求,考虑使用适当的 OAuth/app 注册流程而非存储凭据;(5) 使用隔离环境或无敏感邮件箱访问权限的账号进行初步测试。总体而言,技能逻辑清晰,但需谨慎处理凭据存储和浏览器自动化工具的安装。...详细分析 ▾
✓ 用途与能力
名称/描述(读取 Outlook 日历)与包含的脚本匹配:login.py 执行交互式 Playwright MFA 登录并保存 cookies;owa_calendar.py 从 Outlook Web 提取 Bearer 令牌并调用 Outlook 日历 API。所需二进制文件(python3)合适。该技能不请求无关的云凭据或意外服务。
ℹ 指令范围
SKILL.md 明确指示用户创建 ~/.outlook/config.json 包含 email/密码,并运行 pip install playwright + playwright install chromium,然后运行 login.py 和 owa_calendar.py。这些步骤在凭据基于的爬虫范围内,但它们需要存储明文凭据和安装浏览器自动化工具 — 两者都敏感,值得用户关注。
✓ 安装机制
没有自动化安装规范;README 指示使用 pip 和 Playwright 安装依赖项和 Chromium。这是 Playwright 基础工具的预期行为。仓库或脚本中没有来自不受信任个人服务器或 URL 缩短器的下载。
ℹ 凭证需求
该技能要求用户将账号 email/密码放在 ~/.outlook/config.json(不通过 env vars)。请求凭据与所选择的方法(密码 + MFA 自动化)成比例,但在磁盘上存储明文密码是敏感的 — 该技能不声明任何环境变量或使用无关凭据。
✓ 持久化与权限
该技能不请求 always:true,并且没有修改其他技能或系统范围设置的机制。它将在用户的 home 目录下 (~/.outlook) 持久化 cookies/令牌文件,这是缓存身份验证文物的预期行为。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.22026/2/27
test
● 无害
安装命令 点击复制
官方npx clawhub@latest install outlook-calendar
镜像加速npx clawhub@latest install outlook-calendar --registry https://cn.clawhub-mirror.com
技能文档
Outlook 日历技能
触发条件
只要用户问任何涉及日程、会议、安排、日历、工作、任务、事情的问题,必须调用此技能。- "明天有什么安排" / "这周有什么会" / "本月日程"
- "帮我看看日历" / "我今天几点有会"
- "这个月会议一共多少小时"
- "我下周有啥工作" / "明天要做啥" / "这周有什么事"
- "下周安排" / "有啥任务" / "日程表看一下"
- 任何时间 + 安排/会议/事件/工作/任务/事情的组合问法
首次配置
敏感信息(账号密码、Cookie、Token)存放在~/.outlook/,不在 skill 目录内。
1. 创建配置文件
创建~/.outlook/config.json,内容如下:
{ "email": "your@company.com", "password": "your_password", "cookie_file": "/root/.outlook/cookies.json", "cookie_max_age_days": 7, "mfa_type": "authenticator_number_match" }
2. 安装依赖
pip install playwright requests
playwright install chromium
3. 首次登录(MFA)
cd ~/.agents/skills/outlook-calendar
python login.py
脚本输出 [NUMBER:XX] 时,在 Microsoft Authenticator App 输入数字 XX 并批准,Cookie 自动保存到 ~/.outlook/cookies.json。
调用步骤
第一步:读取日历
cd ~/.agents/skills/outlook-calendar
python owa_calendar.py --today # 今天
python owa_calendar.py --tomorrow # 明天
python owa_calendar.py --week # 本周
python owa_calendar.py --month 2026-03 # 指定月份
python owa_calendar.py --range 2026-03-01 2026-03-31 # 自定义范围
第二步:处理 AUTH_FAILED
若输出[AUTH_FAILED],Cookie 或 Token 过期,重新登录:
python login.py
第三步:整理输出
按用户问题整理回答:列出事件、统计总时长、按周分组等。 注意:API 返回时间为 UTC,需 +8 转换为上海时间。文件结构
skill 目录(无敏感信息):
~/.agents/skills/outlook-calendar/
├── SKILL.md
├── login.py # MFA 登录,保存 Cookie 到 ~/.outlook/
└── owa_calendar.py # 日历读取(Token 模式)
敏感数据目录:
~/.outlook/
├── config.json # 账号密码(自行创建)
├── cookies.json # 登录 Cookie(login.py 自动生成)
└── token.json # Bearer Token 缓存(自动生成,1h 有效)
MFA 说明
- 类型:Authenticator 数字匹配
- Cookie 有效期:通常 1-7 天,过期重跑 login.py
- 多次失败会触发微软限速,等 15 分钟再试
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制