Microsoft 365

WarnAudited by ClawScan on May 10, 2026.

Overview

This looks like a real Microsoft 365 integration, but it requests persistent broad access that can read and change Microsoft account data, and some setup text understates that access.

Before installing, review the Microsoft consent screen carefully, use the least-privileged Azure app scopes possible, avoid granting write/offline access unless needed, keep the stored token files private, and revoke the app's Microsoft account access when you no longer use it.

Findings (5)

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

If authorized, the skill can keep access to sensitive Microsoft 365 data and can modify account content such as sent mail, calendar events, contacts, and OneDrive files.

Why it was flagged

This hardcoded Microsoft Graph scope list grants mail read/send, calendar and contact write access, broad file read/write access, and offline refresh-token access.

Skill content
const SCOPES = 'User.Read Mail.Read Mail.Send Calendars.ReadWrite Contacts.ReadWrite Files.ReadWrite.All offline_access';
Recommendation

Only grant these permissions if all write features are needed; otherwise reduce scopes, separate read-only and write-capable modes, and revoke/delete tokens when finished.

What this means

A user could believe they are granting mostly read-only access while the runtime actually asks for broader account-changing permissions.

Why it was flagged

The setup helper records a read-oriented scope list, while the actual authentication code requests additional send and read/write scopes, so users may underestimate the real consent requested.

Skill content
scopes: 'User.Read Mail.Read Calendars.Read Contacts.Read Files.Read.All offline_access'
Recommendation

Make setup and documentation match the exact scopes used at runtime, and clearly describe which features require each write/send permission.

What this means

A simple request to list recent emails may cause the skill to access much more mailbox data than the user expects, even if only a few subjects are printed.

Why it was flagged

The default recent-email path fetches all message pages from all folders before locally returning the requested top results.

Skill content
const messages = await callGraphAllPages(endpoint); return messages.sort(...).slice(0, top);
Recommendation

Default to server-side limits and expose an explicit user-approved option for all-folder or full-mailbox scans.

What this means

Using these options can send messages or create/change Microsoft account data.

Why it was flagged

The CLI clearly exposes account-mutating Microsoft 365 actions, and they appear to be interactive/user-selected rather than hidden.

Skill content
console.log('5. Send Email'); ... console.log('6. Create Calendar Event'); ... console.log('7. Create Contact'); ... console.log('8. Upload File (Sample)');
Recommendation

Require explicit user confirmation before sending email, creating events/contacts, or uploading files, especially when an agent is operating on the user's behalf.

What this means

Users have less external provenance to rely on before granting broad Microsoft 365 permissions.

Why it was flagged

The package provenance is not linked to a public source or homepage, although the provided code itself is visible and no install-time dependency behavior is shown.

Skill content
Source: unknown; Homepage: none
Recommendation

Review the included code and verify the publisher before consenting to Microsoft Graph permissions.