AgentStack
SKILL verified Apache-2.0 Self-run

Cipp Security

skill-wyre-technology-msp-claude-plugins-security · by wyre-technology

Use this skill when reviewing M365 conditional access policies and named locations through CIPP — auditing CA coverage, finding policies that exclude critical apps, listing trusted IP ranges, identifying tenants without baseline conditional access. Read-only surface focused on security posture review.

No reviews yet
0 installs
16 views
0.0% view→install

Install

$ agentstack add skill-wyre-technology-msp-claude-plugins-security

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Cipp Security? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

CIPP Security — Conditional Access & Named Locations

Read-only access to a tenant's Conditional Access policy graph and named-location list. Use as input to security posture reviews and to detect tenants drifting from MSP baseline policies. CIPP doesn't expose CA write operations through MCP — apply policy changes via CIPP standards or the CIPP UI.

Tools

cipp_list_conditional_access_policies

cipp_list_conditional_access_policies(tenantFilter='contoso.onmicrosoft.com')

Returns every CA policy with displayName, state (enabled / disabled / enabledForReportingButNotEnforced), conditions (users, apps, locations, platforms, sign-in risk), and grantControls (MFA, compliant device, terms of use, etc).

cipp_list_named_locations

cipp_list_named_locations(tenantFilter='contoso.onmicrosoft.com')

Returns named locations: IP ranges (trusted/untrusted) and country-based locations. These are the building blocks CA policies reference for location-based controls.

What to look for in a CA review

| Finding | Why it matters | |---------|----------------| | Zero policies in enabled state | Tenant has no CA enforcement at all — a baseline enabledForReportingButNotEnforced doesn't block anything | | MFA not required for "All cloud apps" | A baseline policy is missing or scoped too narrowly | | Policies excluding the entire admin role | Common configuration mistake; admins should require more MFA, not less | | Trusted location includes home/coffee-shop IPs | Named-location bloat creates exception paths for attackers | | legacy authentication not blocked | Basic auth bypasses MFA entirely; should be blocked tenant-wide | | Reporting-only policies older than 30 days | Should have been promoted to enabled or removed |

Workflow patterns

Tenant CA baseline check

policies = cipp_list_conditional_access_policies(tenantFilter)
enabled = [p for p in policies if p['state'] == 'enabled']
mfa_for_all_apps = any(
    p for p in enabled
    if 'mfa' in p.get('grantControls', {}).get('builtInControls', [])
    and 'All' in p.get('conditions', {}).get('applications', {}).get('includeApplications', [])
)

If mfa_for_all_apps is false, the tenant lacks the baseline "MFA for everything" policy that every MSP should ship as a standard.

Portfolio drift detection

Run cipp_list_conditional_access_policies per tenant and compare the policy fingerprint (display names + state + grant controls) against the MSP's golden baseline. Flag tenants where any baseline policy is missing or disabled.

Caveats

  • CA write operations (create/edit/delete) are not exposed via MCP. Use CIPP standards (cipp_run_standards_check and the standards UI) to deploy policy templates across tenants, or do it manually via the CIPP web UI.
  • Named locations are a trust amplifier — review them as carefully as policies. A misconfigured trusted IP range can quietly exempt entire networks from MFA.
  • enabledForReportingButNotEnforced looks like coverage in dashboards but enforces nothing. Always check state == 'enabled' for actual enforcement.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.