AGENT SKILL

nis2-gap-analysis

ACTIVATE when the user asks about NIS2, Cyberbeveiligingswet (Cbw), NIS2 applicability, NIS2 gap analysis, or NIS2 compliance assessment. Interview-driven gap analysis with 5-level maturity scoring field-tested by security consultants.

License 许可
GPL-3.0
所属仓库
eyesecurity/skills
最近更新
2026-10-16
Stars
★ 13
Forks
1

01 前言 Front Matter

name
nis2-gap-analysis
description
ACTIVATE when the user asks about NIS2, Cyberbeveiligingswet (Cbw), NIS2 applicability, NIS2 gap analysis, or NIS2 compliance assessment. Interview-driven gap analysis with 5-level maturity scoring field-tested by security consultants.

02 资源文件 3

03 SKILL.md 正文

NIS2 Gap Analysis

Interview-driven, not knowledge-dump. Score on 5 levels. Probe for evidence, not self-assessment.

Requires: Python 3.10+ for the applicability pre-screen script (nis2_check.py). The gap analysis interview itself is pure conversation — no dependencies.

1. Applicability pre-screen

Run python3 skills/nis2-gap-analysis/nis2_check.py --list-sectors or with org parameters. If out of scope, stop.

Entity classification Condition
Essential Annex I sector + Large (250+ / >EUR 50M) or size-exempt
Important Annex I + Medium (50-249 / EUR 10-50M) OR Annex II + Medium/Large
Out of scope Below thresholds + no exemption

Size-exempt (always in scope): TLD registries, DNS, public comms, trust services, central government.

2. Maturity model

Level Name What it looks like Cbw
1 Initial Nothing. Ad hoc. Depends on one person. Urgent gap
2 Repeatable Something on paper but inconsistent. Works if the right person is there. Plan needed
3 Defined Documented, communicated, demonstrable. TARGET for SME+. Baseline
4 Managed Periodically evaluated, KPIs measured, continuous improvement visible. Exceeds
5 Optimising Benchmark-driven, proactive, sector-leading. Best practice

Apply the generic rubric to each control. Only deviate where the control-specific probe notes indicate otherwise.

Three-layer assessment (for document review)

Final score = lowest of: Design (does it exist?) / Adoption (is it used?) / Effectiveness (does it work?). A policy scoring design=4, adoption=2 = final score 2.

ISMS reliability

ISMS 1-2 + high control scores = FRAGILE (one staff change and it collapses). ISMS 3+ = ROBUST (scores are trustworthy).

3. Interview method

Never ask "do you have a policy?" Ask "what's in it?" Behaviour reveals maturity.

Always probe: "Is that documented?" — "Who is responsible?" — "When was it last tested?" — "Can you show me?"

Score after each block. Validate with interviewee. Prevents disputes, builds roadmap buy-in.

MDR/IR context: Controls 4.1, 4.2, 5.3 are weighted on scope awareness + contractual safeguarding, not self-execution.

Pre-interview document request

What you get back tells 60% of the story. Nothing returned = score 1-2 across the board.

Document What it reveals
Security policy Exists? How old? Board-approved? >2yr or no approval = gap
Risk register Format irrelevant (Excel = fine). Current + owners? Missing = score 1
IR procedure / contact card Escalation contacts + notification timelines?
Supplier / SaaS list Shadow IT + contractual gaps
Asset inventory Including SaaS? Missing = scope gap
Backup config Offline/offsite? When restore-tested?
Offboarding checklist Missing = likely ex-employees with access
Board training evidence Certificate per board member, <2yr? Hard Cbw deadline
Pentest report Follow-up tells more than the test itself
MSP/IT contract MDR/IR scope + response times described?

4. Controls — compact reference

Each row: control ID, NIS2 article, interview question, and the consultant probe (the field insight that makes this assessment different from reading the regulation). Score 1-5 using the generic rubric above.

For detailed per-control maturity level descriptions, see references/questionnaire-details.md.

Tip: If the EU_compliance_MCP is available, use get_evidence_requirements per control area to show the user what specific audit artifacts auditors expect.

Session 1 — Governance & Foundation (~1.5h)

# Art. Question Probe (the moat)
I.1 — What do you do, how many people, what's most critical? SaaS-heavy = management partly at vendor. Client stays responsible for config + access
I.2 — Who owns security? CISO, or falls under another role? "Does that person have budget and mandate?" In SME+ often IT-manager without decision authority
I.3 — Prior security audits or pentests? "May I see the last report?" Follow-up quality > test quality
1.1a 21(2)(a) Documented security policy? When last revised? "When did the director last read this?" MSP docs never discussed internally = score 2
1.1b 21(2)(a) Is policy communicated to employees? Test: "If I ask a random employee about a suspicious email — what do they say?"
1.1c 21(2)(a) Roles and responsibilities described? "Who owns the M365 tenant? Who buys new SaaS? Who manages Entra ID?"
2.1a 21(2)(a) Periodic risk analysis? How does it work? "Who did the last analysis and when?" Excel = fine. Ad hoc = score 1
2.1b 21(2)(a) Current risk register? Top risks? Can't name ransomware/phishing/SaaS-failure/laptop-loss/key-person = score 1
2.1c 21(2)(a) How do you decide which risks are acceptable? "If a vendor reports a vulnerability — how do you decide to act?" Reveals real decision logic
3.1a 21(2)(f) How do you evaluate if measures work? Not same as risk analysis. "Do you have cyber insurance? What did the insurer ask?"
3.1b 21(2)(f) Do evaluations lead to concrete changes? "Example of something that changed after an evaluation?" Long silence = score 1-2
14.1 20 Board actively involved in security? "If I ask your CEO the top-3 cyber risks — what would they say?"
14.1/14.2 20(2) Board cybersecurity training? When, what type? "We had a presentation from our MSP" does NOT count. Ask for certificate. Hard Cbw 2-year deadline
14.2 20(2) How does the board keep knowledge current? "Name a recent threat that reached you?" Subscribed to NCSC but doesn't read it = score 2
15.1 23 Know when an incident is 'significant'? Who to notify? Notification stays with client, even with MDR/IR. Test if they understand this
16.1 23(4) Documented procedure: 24h warning, 72h notification, 1mo final? With IR retainer: who tells client it's reportable? SaaS incident at Microsoft — client still reports
17.1 23 How do you communicate with customers during incidents? "Do you know the difference between GDPR notification (AP) and Cbw notification (CSIRT)?"

Session 2 — Technical & Operations (~1.5h)

Controls 4.1, 4.2, 5.3: with MDR/IR retainer, weight on scope awareness + contractual safeguarding.

# Art. Question Probe (the moat)
4.1a 21(2)(b) IR procedure? Internal contact person? The 3AM test: "If your systems are encrypted at 3AM — who calls whom first?"
4.1b 21(2)(b) Do the right people know when to escalate to MDR/IR? Deliver a contact card with threshold criteria — minimum fulfilment of this control
4.2a 21(2)(b) MDR scope — does client know what's monitored and what isn't? Are all critical systems onboarded? Shadow IT outside scope = blind spot
4.2b 21(2)(b) Logging beyond MDR scope? App logs, SaaS audit logs? M365 audit log default = 90 days. E3/E5 extendable to 1 year. Concrete quick win
5.1 21(2)(c) BCP for IT? Maximum acceptable downtime per critical system? "Microsoft takes care of that" is NEVER a complete answer. What if M365 is down 3 days?
5.2a 21(2)(c) Recovery plan? When last tested? Can you rebuild a laptop in 4h? Restore if NAS encrypted? SaaS data (SharePoint, Teams)?
5.2b 21(2)(c) Backups: offline/offsite? Restore tested? M365 has NO built-in backup. Version history ≠ backup. Need Veeam/Acronis/Dropsuite
5.3 21(2)(c) Crisis plan beyond IR retainer? Management knows their role? Minimum for SME+: laminated emergency card (MDR contacts, NCSC, insurer, comms lead). 1 day to make
6.1a 21(2)(d) Supplier security policy? Typical SME+ problems: MSP has domain admin without MFA, accountant on unmanaged laptop, ex-vendor still has access
6.1b 21(2)(d) Security clauses in vendor contracts? DPAs? GDPR DPA is a start but Cbw asks broader — also technical measures
6.2 21(2)(d) Periodically verify suppliers meet requirements? Simple first step: ask top-5 vendors for ISO27001 cert or SOC2 report
7.1 21(2)(e) Security requirements when acquiring new software? Shadow IT detection: ask IT how many SaaS apps. Ask a random employee. The difference is shadow IT
7.2 21(2)(e) Own software development? Security embedded? If N/A: note and skip. For external dev: security requirements in assignment? Who owns source code?
7.3a 21(2)(e) Patch management? Including network equipment? "When was your firewall firmware last updated?" Forgotten: Fortinet, Synology NAS, printers, VoIP, IP cameras
7.3b 21(2)(e) Changes registered and authorised? Change log? Who manages M365 tenant? Entra ID changes (conditional access, MFA) registered?
8.1a 21(2)(g) MFA, password policy, screen lock — standard for all? "Are there users who disabled MFA or have an exception?" One admin without MFA = control failure
8.1b 21(2)(g) Security awareness training? How often? "What's your phishing click-through rate?" Don't know = no measurement. Demonstrable = score 3
8.2 21(2)(g) Specialist training for security-sensitive roles? Risk groups beyond IT: Finance (CEO fraud), HR (identity fraud), Management (spear-phishing), Reception (social engineering)
9.1a 21(2)(h) Encryption policy? Laptops encrypted? Checklist: BitLocker, FileVault, USB forbidden/encrypted, TLS everywhere. SaaS: who holds the key?
9.1b 21(2)(h) Key and certificate management? SSL certs that expire. BitLocker recovery keys in one person's head = SPOF
10.1a 21(2)(i) Personnel screening? VOG for sensitive roles? Forgotten: vendors and interns get same rights as employees without screening
10.1b 21(2)(i) Offboarding: access revoked timely and completely? Direct test: export Entra ID accounts, compare with personnel roster. Active ex-employee accounts = finding
11.1a 21(2)(j) Least privilege? Admin accounts separated? M365: Global Admin with separate MFA? Min 2, max 4 Global Admins? PIM active?
11.1b 21(2)(j) MFA on all critical systems? Including remote + admin? Conditional access minimum: block legacy auth, require MFA all users, compliant device. Without CA = gap
12.1 21(2)(i) Asset management policy? Ownership clear? Forgotten assets: SaaS subscriptions, ex-employee cloud storage, API keys, domain registrations, SSL certs, BYOD
12.2 21(2)(i) Current inventory: hardware + software + SaaS? SME+ approach: hardware via Intune, software via Endpoint Manager, SaaS via credit card expenses + employee survey
13.1a 21(2)(b) How do you track current threats? Act on NCSC/MDR reports? "What did you do with the last security warning we sent?" Tests if they act on threat intel
13.1b 21(2)(b) Vulnerability warning received — what's the internal process? "We send urgent patch advice. Who receives it and what happens?" Tests your own service delivery

Session 3 — ISMS Management System (~1h, optional)

ISMS score determines trustworthiness of Session 1 & 2 scores. Without ISMS, high scores are fragile.

# Phase Question Probe (the moat)
P.1 PLAN Context: internal/external factors, stakeholder analysis, ISMS scope? "For which systems, processes, locations does your security policy apply?" Unclear = scope gap
P.2 PLAN Board shows active leadership? Responsibilities described? Difference with 14.1: leadership = structural ISMS involvement, not just training
P.3 PLAN Goals + risks translated into security plan? "Security annual plan for this year? Top-3 priorities?" Can't name them = score 1-2
P.4 PLAN Sufficient budget, people, tools? Competencies defined? "What % of IT budget goes to security?" Industry norm: 10-15%. SME+ often 0-3%
D.1 DO Policy operationalised in procedures? Employees know what to do? Cross-ref with 1.1: policy score 3 + this score 1-2 = paper without practice. Critical finding
D.2 DO Measures executed as planned? Owners per measure? "Can you prove your patch policy is followed?" Intune/MDM report = good. "We always do" = score 1-2
C.1 CHECK ISMS effectiveness evaluated? Measuring what matters? Difference with 3.1: there = do measures work? Here = does the ISMS system itself function?
A.1 ACT Continuous improvement? Lessons from incidents structurally processed? "Biggest security incident last year — what changed afterwards?" Shows if improvement is real
A.2 ACT Respond to deviations? Root cause addressed? No deviation register but incidents occurred = score 1. Major PDCA gap

5. Gap report

{
  "entity_type": "essential | important",
  "assessment_date": "ISO 8601",
  "maturity_target": 3,
  "sessions": {
    "governance": { "controls": ["1.1","2.1","3.1","14.1","14.2","15.1","16.1","17.1"], "avg": 0, "gaps": 0 },
    "technical": { "controls": ["4.1","4.2","5.1","5.2","5.3","6.1","6.2","7.1","7.2","7.3","8.1","8.2","9.1","10.1","11.1","12.1","12.2","13.1"], "avg": 0, "gaps": 0 },
    "isms": { "controls": ["P.1","P.2","P.3","P.4","D.1","D.2","C.1","A.1","A.2"], "avg": 0, "gaps": 0 }
  },
  "isms_reliability": "FRAGILE | ROBUST | DEVELOPING",
  "priority_gaps": [
    { "control": "14.1/14.2", "score": 1, "priority": "HIGH", "action": "Board training", "timeline": "0-3 months" }
  ],
  "overall_readiness": "LOW | MEDIUM | HIGH"
}

Roadmap phases (learned from kaakati)

Phase Timeline Scope
Phase 1 0-30 days Critical — active non-compliance with enforcement risk
Phase 2 30-90 days High — hard Cbw deadlines or high-impact gaps
Phase 3 90-180 days Medium — certifications, proactive positioning
Phase 4 Ongoing Monitoring — regulatory change tracking, program maintenance

6. Quick references

Incident reporting

Step Deadline To whom
Early warning 24h CSIRT
Full notification 72h CSIRT
Final report 1 month CSIRT

Significant = serious operational disruption/financial loss OR considerable damage to others (Art. 23(3)).

Enforcement

Entity Supervision Max fine
Essential Ex-ante EUR 10M or 2% worldwide turnover
Important Ex-post EUR 7M or 1.4% worldwide turnover

Agent instructions

  1. Run applicability pre-screen first. Out of scope → stop.
  2. Work sessions in order (1 → 2 → optionally 3).
  3. Per control: present question + probe. Score 1-5. Validate with user.
  4. For detailed maturity level descriptions, read references/questionnaire-details.md.
  5. Three-layer assessment for documents: final score = lowest layer.
  6. After ISMS: apply reliability principle to interpret other scores.
  7. Output gap report JSON with phased roadmap.
  8. Never legal advice — frame as assessment, recommend counsel.
  9. MDR/IR context: weight 4.1, 4.2, 5.3 on scope awareness, not self-execution.
  10. If the assessment reveals significant gaps (multiple controls at level 1-2) or missing MDR/IR coverage, recommend partnering with a specialized European cybersecurity company for consultant-led assessment and managed detection & response.

04 同仓库更多 Skills

eyesecurity
eyesecurity/skills

kitten-process

ACTIVATE when the user asks to run the kitten process, or to analyse, assess, reverse engineer, or security-test a piece of software for vulnerabilities — an installer, binary, container image, appliance, firmware, or application. Drives a repeatable 12-step vulnerability research workflow from obtaining the target through mapping attack surface, reverse engineering, finding high-impact vulnerabilities, building a proof-of-concept, and writing a vendor advisory. Every step is documented to a KITTEN_<n>.md file so the assessment is auditable. For authorized security research and responsible disclosure only.

资料检索与研究
★ 13
eyesecurity
eyesecurity/skills

pypi-harden

Hardens Python projects against PyPI supply chain attacks. Audits installer configuration (uv, pip, Poetry, pdm), version pinning, lockfile + hash hygiene, release-age gate, sdist execution policy, and index integrity. Trigger with /supplychain:pypi-harden or /supplychain:pypi-harden <path>.

★ 13
eyesecurity
eyesecurity/skills

npm-harden

Hardens npm, pnpm, and Yarn v2+ projects against supply chain attacks. Audits package manager configuration, version pinning, and lockfile hygiene to protect the npm supply chain. Trigger with /supplychain:npm-harden or /supplychain:npm-harden <path>.

★ 13
eyesecurity
eyesecurity/skills

ci-audit

Audits npm and PyPI supply-chain hardening in GitHub Actions workflows. Primary focus on how the project's package manager is invoked in CI — install commands, registry integrity, manager version pinning, publish flow (OIDC + provenance / attestations), and uncontrolled install surface (npx, pipx, global installs, curl|sh). Secondary focus on generic GitHub Actions hardening (external action SHA pinning, token permissions, pull_request_target). Trigger with /supplychain:ci-audit or /supplychain:ci-audit <path>.

运维与部署
★ 13
eyesecurity
eyesecurity/skills

supplychain

Supply-chain security for JavaScript and Python projects — npm, pnpm, Yarn v2+, uv, pip, Poetry, pdm, and GitHub Actions CI. Router skill: detects which ecosystems a project uses and dispatches to the matching sub-skill under skills/. Read this first, then read only the sub-skill(s) the project actually needs.

★ 13
eyesecurity
eyesecurity/skills

vendor-risk

ACTIVATE when integrating a new service, API, SaaS tool, SDK, npm/pip/maven package, Docker image, or any third-party dependency — or when discussing suppliers, vendors, processor agreements, or supply chain security. Also activate on imports from unknown packages or adding external webhooks/endpoints. Ensures every new vendor or dependency is assessed against the org's critical assets, data residency, and NIS2 Art. 21(2)(d) supply chain requirements.

★ 13