Outlook Calendar (M365)

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill appears to read Outlook calendars as advertised, but it handles raw Microsoft 365 passwords, cookies, bearer tokens, and login artifacts with broad persistent authority that users should review first.

Only install this if you are comfortable storing Microsoft 365 credentials, cookies, tokens, and login debug artifacts on the local machine. There is no evidence in the provided code of sending these secrets to non-Microsoft endpoints, but a safer design would use scoped OAuth, avoid plaintext passwords, lock down file permissions, and clearly document cleanup.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Anyone or any process that can read ~/.outlook may be able to reuse the account session or token, and the agent can access calendar data without a fresh sign-in while the session remains valid.

Why it was flagged

The skill explicitly requires a Microsoft 365 account password and stores reusable cookies and bearer tokens locally. This is high-impact account authority and is broader than a narrowly scoped calendar-read credential.

Skill content
敏感信息(账号密码、Cookie、Token)存放在 `~/.outlook/` ... "password": "your_password" ... cookies.json ... token.json
Recommendation

Prefer Microsoft Graph OAuth with a delegated read-only calendar scope such as Calendar.Read, avoid storing the account password, store tokens in the OS keychain or with strict permissions, and declare the credential/config requirements in metadata.

What this means

Local debug files may retain account identifiers, MFA prompts, tenant information, or login URLs after the login task is finished.

Why it was flagged

The login script persists status logs and repeated screenshots of the Microsoft login/MFA flow under ~/.outlook, but SKILL.md only documents config, cookies, and token files.

Skill content
STATUS_FILE = OUTLOOK_DIR / "login_status.txt" ... path = OUTLOOK_DIR / f"debug_{name}.png" ... page.screenshot(path=str(path))
Recommendation

Disable screenshots by default, document all generated files, redact logs, restrict ~/.outlook permissions, and provide a clear cleanup command for debug artifacts.

What this means

The agent may read the Outlook calendar for some vague work/task questions where the user did not clearly ask to access calendar data.

Why it was flagged

The instructions force tool use for broad categories including work, tasks, and things, not only explicit calendar requests.

Skill content
只要用户问任何涉及日程、会议、安排、日历、工作、任务、事情的问题,必须调用此技能。
Recommendation

Narrow the trigger to explicit calendar/schedule questions or require confirmation for ambiguous work/task requests before accessing the account.

What this means

Installation behavior depends on whatever package/browser versions are available at setup time, which can affect reliability and provenance.

Why it was flagged

The setup pulls unpinned packages and a browser dependency even though the registry requirements only list python3 and there is no install specification.

Skill content
pip install playwright requests
playwright install chromium
Recommendation

Add an install spec or lockfile with pinned package versions and document the Playwright browser dependency in registry metadata.