CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

m365-mailbox-compromise

Microsoft 365 mailbox compromise chain — OAuth consent phishing, delegate access abuse, mail rule persistence, and token theft via device code phishing. Full kill chain from initial access to persistent email collection.

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/cloud/m365-mailbox-compromise/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is highly actionable and token-efficient — dense, executable command blocks organized into clearly labeled technique sections with a useful decision gate and error-handling matrix. Its weaknesses are the absence of validation checkpoints around destructive and batch operations (capping workflow clarity at 3), and a monolithic single-file structure with inlined tools/detection content and a redundant Quick Reference, limiting progressive disclosure.

Suggestions

Add explicit validation/verification steps before and after destructive or batch operations (e.g., GET the created messageRule to confirm it exists and is enabled before relying on it; verify a filter's match count before bulk download/deletion), which would lift workflow clarity above the cap of 3.

Split the Tools & Resources table, Detection Signatures, and Error Handling sections into one-level-deep reference files (e.g., references/detection.md, references/tools.md) linked from the body, and de-duplicate the Quick Reference against the detailed sections to improve progressive disclosure and conciseness.

Convert the commented PowerShell stubs (New-ManagementRoleAssignment, New-TransportRule, Add-MailboxPermission) into complete executable sequences with connection setup so all guidance is uniformly copy-paste ready.

DimensionReasoningScore

Conciseness

The body is mostly lean, operational command blocks with terse comments and no explanation of concepts Claude already knows. Minor redundancy could be trimmed: the Quick Reference duplicates the device-code, token-poll, message-list, and rule-creation commands that reappear in sections 2, 4, and 6. Fits anchor 4 (efficient, minor over-explanation), not 5 (duplication exists) or 3 (no unnecessary conceptual padding).

4 / 5

Actionability

The bulk is copy-paste-ready curl with exact endpoints, parameters, and JSON payloads (device-code poll loop with jq extraction, messageRules creation, Graph $search queries). Minor gaps: the app registration prerequisite is GUI-comment-only ("Azure Portal → App Registrations → New Registration"), and several PowerShell cmdlets (New-ManagementRoleAssignment, New-TransportRule) are commented stubs rather than executable sequences. Anchor 4, not 5.

4 / 5

Workflow Clarity

Sequences are present and mostly clear — numbered steps 1-4 in the device-code flow, a Decision Gate with explicit IF branches, and some checkpoints (listing existing rules to check for defender-created rules, checking token validity via GET /me). However, destructive and batch operations — permanentDelete of security alert mail, org-wide transport/journal rules, and the bulk attachment-download loop — lack validation/verification checkpoints, which caps workflow clarity at 3 per the rubric guideline. Anchor 3 (sequence present, validation gaps), not 4 (checkpoints missing on the risky operations).

3 / 5

Progressive Disclosure

This is a single ~300-line file with no bundle files (no references/, scripts/, or assets/ exist) and no external references at all. Section headers are clear, but clearly separable content — the Tools & Resources table, Detection Signatures, and Error Handling sections — is inlined rather than split into one-level-deep reference files, and the Quick Reference duplicates in-file content. Fits anchor 3 (some structure, could be better organized, separate-able content inline), not 4 (there are no references to be 'mostly clear') and not 2 (structure is good, not minimal).

3 / 5

Total

14

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific and distinctive, naming the M365 mailbox-compromise domain and four concrete techniques with natural trigger phrases. Its main weakness is the complete absence of a "Use when..." clause (trigger guidance lives only in when_to_use metadata), which caps completeness, and it lacks common synonyms like Office 365 and Exchange Online.

Suggestions

Add an explicit "Use when..." clause to the description (e.g., "Use when investigating or simulating a Microsoft 365 / Office 365 mailbox compromise...") to raise completeness above 3.

Include common synonyms and platform variants — Office 365, Exchange Online, Outlook — directly in the description rather than only in the when_to_use metadata to improve trigger term coverage.

DimensionReasoningScore

Specificity

Names the domain and several concrete actions — "OAuth consent phishing", "delegate access abuse", "mail rule persistence", "token theft via device code phishing", "persistent email collection" — but coverage has minor gaps (admin-level techniques like ApplicationImpersonation and transport rules are only implied). Fits anchor 4 (several specific actions, minor gaps), not 5 (comprehensive) or 3 (only 1-2 actions).

4 / 5

Completeness

The 'what' is clear ("Full kill chain from initial access to persistent email collection" with four named techniques), but there is no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. Matches anchor 3 exactly; not 4 because 'when' is entirely absent rather than just imprecise.

3 / 5

Trigger Term Quality

Contains natural phrases a user would say: "Microsoft 365 mailbox compromise", "device code phishing", "token theft", "email collection", "mail rule persistence". Common synonyms like "Office 365", "Exchange Online", and "Outlook" are missing from the description itself (they appear only in the when_to_use metadata), so it fits anchor 4 rather than 5.

4 / 5

Distinctiveness Conflict Risk

A clear niche — M365 mailbox compromise via OAuth/device-code/delegate/mail-rule techniques — with distinct, specific triggers unlikely to overlap with other skills. Matches anchor 5; nothing generic remains that would push it toward anchor 4.

5 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/cloud/m365-mailbox-compromise/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.