feat(mcsb): add Microsoft Cloud Security Benchmark security skill - #2499
feat(mcsb): add Microsoft Cloud Security Benchmark security skill#2499nguyena2 wants to merge 17 commits into
Conversation
…d references - introduce control index and individual domain references for MCSB v2 - implement assessment checklists, controls, and mitigations for each domain - establish cross-reference matrix with NIST and CIS Controls - create lookup playbook for retrieving volatile service-specific controls 🔒 - Generated by Copilot
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2499 +/- ##
==========================================
- Coverage 82.75% 82.74% -0.01%
==========================================
Files 155 155
Lines 20960 20960
Branches 13 13
==========================================
- Hits 17345 17344 -1
- Misses 3613 3614 +1
Partials 2 2
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Eval Execution✅ Status: Passed — no merge-blocking failures (10 advisory assertion failure(s) present)
|
HVE Builder rubric review —
|
| Field | Value |
|---|---|
| Mode | review (read-only, static) |
| Static verdict | Pass — no Critical/High findings |
| Behavior gate | Satisfied-and-skipped — no-runtime knowledge-reference target (no model actions, tool dispatch, or executable decision rules of its own) |
| Validation | Not requested |
| Overall | Pass |
Strengths
- Correct artifact type and progressive disclosure: the entrypoint is compact and routes all detail one level deep into
references/. - Durable-vs-volatile split is stated clearly, with per-service lookups delegated to the
Researcher Subagentviareferences/lookup-playbook.md. - Licensing posture is right for Microsoft Learn Terms-of-Use content: paraphrase-first, explicit "does not reproduce verbatim" attribution, canonical source cited.
- Version discipline: v2/preview status, retrieval date, the GS→AI domain change, and a "re-verify before a compliance decision" caveat are all surfaced.
- Clean skill frontmatter (
name,description,license,user-invocable,metadata); no prohibitedtools/model/agent/handoffs/applyTofields.user-invocable: falseis appropriate for a planner/reviewer-consumed knowledge pack.
Recommended polish (non-blocking)
- Medium — em dashes in the Overview paragraph violate the repository writing-style convention (there is a dedicated
no-em-dashcustom lint rule)..github/skills/**is excluded fromlint:md, and the siblingowasp-llmskill shares this pattern, so it is collection-wide precedent rather than a mcsb-only defect. Fix by using colons/commas/parentheses. - Low — MD022: add a blank line before the
## Version and stabilityheading. - Low — wording: "Normative references" slightly overstates authority for paraphrased content; "Reference documents" or "Domain references" reads more accurately.
Recorded uncertainty: the "MCSB v2 replaces Governance and Strategy (GS) with Artificial Intelligence Security (AI)" claim is about preview content and was not independently verifiable in read-only review scope. The skill already discloses this with a re-verify caveat, which is the correct handling.
Generated by the hve-builder skill review workflow as part of the standard authoring gate.
- specify non-public source repository for MCSB v2 - detail licensing differences with older benchmarks - emphasize paraphrasing over verbatim reproduction 🔒 - Generated by Copilot
…on and update related references - create mcsb.md for MCSB v2 control-domain taxonomy - update README.md and skills/README.md to include MCSB references - adjust ms.date for consistency across documentation 🔒 - Generated by Copilot
🔗 - Generated by Copilot
…eat/mcsb-security-skill
🔒 - Generated by Copilot
🔒 - Generated by Copilot
…terms 🔒 - Generated by Copilot
🔒 - Generated by Copilot
…levels and exposure terms 🔒 - Generated by Copilot
🔤 - Generated by Copilot
Description
This PR adds a new MCSB (Microsoft Cloud Security Benchmark v2) security skill and wires it into the existing security planning and review workflow. The skill provides a durable control-domain taxonomy for assessing Azure cloud resources, with crosswalks to NIST SP 800-53 Rev. 5 and CIS Controls v8.1, while deliberately deferring volatile, per-service control lookups to runtime retrieval.
The change is additive: it introduces the skill and its reference set, registers it in the relevant collections and generated plugin outputs, and updates the security agents and standards-mapping instructions so that MCSB is loaded when Azure cloud resources are detected.
New MCSB skill
The skill lives under .github/skills/security/mcsb/ and separates durable control-domain content from volatile per-service content.
.github/skills/security/mcsb/SKILL.mdas the skill entrypoint, defining metadata, the normative reference list, the durable-versus-volatile content distinction, a runtime lookup playbook reference, the 12 control domains, and stated mappings to NIST SP 800-53 Rev. 5 and CIS Controls v8.1.references/00-control-index.mdwith the domain catalog (NS,IM,PA,DP,AM,LT,IR,PV,ES,BR,DS,AI) and a domain-level NIST 800-53 and CIS Controls cross-reference matrix.raiEnabledis true.references/lookup-playbook.mddescribing the skill as the durable control-domain taxonomy with a representative domain-grain crosswalk, and guidance for retrieving volatile service-specific controls at runtime.Security planning and assessment integration
security-planner.agent.mdto add an Azure cloud resources trigger that loads themcsbskill in phases 3 and 4, and to use the MCSB stable control-domain taxonomy and crosswalk in phase 3 while delegating volatile per-service lookups.security-reviewer.agent.mdto addmcsbto the example security skills for reference resolution and to the assessable skills list.codebase-profiler.agent.mdto addmcsbto skill resolution examples and to add technology signals for Azure Bicep, ARM templates, Terraform with theazurermprovider, Azure-targeting Azure Pipelines, and Azure service references.skill-assessor.agent.mdto addmcsbto skill resolution examples, generalize index handling to support control or benchmark indexes (including references/00-control-index.md), and treat control-domain identifiers as the assessment grain for benchmark skills.standards-mapping.instructions.mdto delegate only MCSB per-service control mappings, loadmcsbfor Azure cloud resources, and retain delegation for volatile per-service lookups.Collection and plugin registration
mcsbskill incollections/security.collection.ymlandcollections/hve-core-all.collection.ymlwithkind: skillandmaturity: experimental.collections/security.collection.mdandcollections/hve-core-all.collection.md.mcsbrows toplugins/security/README.mdandplugins/hve-core-all/README.md, and added the skill symlinks under both plugin skills/security/ paths.Related Issue(s)
None
Type of Change
Select all that apply:
Code & Documentation:
Infrastructure & Configuration:
AI Artifacts:
prompt-builderagent and addressed all feedback.github/instructions/*.instructions.md).github/prompts/*.prompt.md).github/agents/*.agent.md).github/skills/*/SKILL.md).github/hooks/*/*.json)evals/)Other:
.ps1,.sh,.py)Sample Prompts (for AI Artifact Contributions)
User Request:
Execution Flow:
azurerm, Azure Pipelines, or Azure service references) and resolves themcsbskill.mcsbskill in phases 3 and 4 and uses the stable control-domain taxonomy and NIST/CIS crosswalk, delegating volatile per-service lookups.NS,IM,PA, and so on) as the assessment grain, and evaluates the codebase against each domain's checklist, controls, and anti-patterns.Output Artifacts:
Security planning and review findings organized by MCSB control domain, each mapped to NIST SP 800-53 Rev. 5 and CIS Controls v8.1 references. No new files are written to the repository by running the skill; the skill supplies reference content consumed by the security agents.
Success Indicators:
The security planner and reviewer surface MCSB domain identifiers in their findings, Azure resources trigger MCSB loading, and each finding cites the corresponding domain reference and framework crosswalk.
Note
Human review is recommended for the agent-populated Sample Prompts content above.
Testing
Automated validation commands run during PR generation:
npm run lint:md— Passed (0 errors).npm run spell-check— Passed (0 issues).npm run lint:frontmatter— Passed (848 files, 0 errors).npm run validate:skills— Passed (mcsband 52 other skills, 0 errors).npm run lint:md-links— Passed.npm run lint:ps— Passed (all files clean).npm run eval:lint:schema— Passed (10 eval specs, coverage complete).npm run plugin:generate— Passed; regeneration produced no drift.npm run docs:test— Skipped; the Docusaurus subproject has no installed dependencies in this environment (jest: not found). No Docusaurus files were changed.Security analysis of the diff found no sensitive data, secrets, or dependency changes. The change is additive documentation-style reference content with no executable scripts.
Manual testing was not performed.
Note
Add manual testing descriptions when applicable.
Checklist
Required Checks
AI Artifact Contributions
/prompt-analyzeto review contributionprompt-builderreviewRequired Automated Checks
The following validation commands must pass before merging:
npm run lint:mdnpm run spell-checknpm run lint:frontmatternpm run validate:skillsnpm run lint:md-linksnpm run lint:psnpm run eval:lint:schemanpm run plugin:generatenpm run docs:test(Skipped — docs subproject dependencies not installed in this environment; no Docusaurus files changed)Security Considerations
GHCP Artifact Maturity
Warning
This PR includes experimental GHCP artifacts that may have breaking changes.
.github/skills/security/mcsb/SKILL.mdsecurity/mcsb/SKILL.mdsecurity-planner.agent.mdsecurity-reviewer.agent.mdsubagents/codebase-profiler.agent.mdsubagents/skill-assessor.agent.mdstandards-mapping.instructions.mdGHCP Maturity Acknowledgment