{"id":5929,"date":"2026-09-20T13:23:27","date_gmt":"2026-09-20T18:23:27","guid":{"rendered":"https:\/\/www.cybersecurityinstitute.com\/blog\/?p=5929"},"modified":"2026-09-20T13:23:27","modified_gmt":"2026-09-20T18:23:27","slug":"security-operations-weekly-september-20-2026-interactive-topic-map","status":"publish","type":"post","link":"https:\/\/www.cybersecurityinstitute.com\/blog\/?p=5929","title":{"rendered":"Security Operations Weekly &mdash; September 20, 2026 \u2014 Interactive Topic Map"},"content":{"rendered":"<p><iframe srcdoc=\"&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n&lt;meta charset=&quot;utf-8&quot;&gt;\n&lt;title&gt;Security Operations Weekly \u2014 September 20, 2026 Topic Map&lt;\/title&gt;\n&lt;script src=&quot;https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/d3\/7.9.0\/d3.min.js&quot;&gt;&lt;\/script&gt;\n&lt;style&gt;\n  html, body { margin:0; padding:0; height:100%; background:#ffffff; font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif; }\n  #header { padding:18px 24px 10px; border-bottom:1px solid #e5e7eb; }\n  #header h1 { margin:0; font-size:20px; color:#0f172a; }\n  #header p { margin:6px 0 0; font-size:13px; color:#6b7280; }\n  #canvas-wrap { position:relative; width:100%; height:calc(100vh - 78px); }\n  svg { width:100%; height:100%; display:block; cursor:grab; }\n  svg:active { cursor:grabbing; }\n  .legend { position:absolute; top:14px; left:14px; background:rgba(255,255,255,0.95); border:1px solid #e5e7eb; border-radius:8px; padding:10px 14px; font-size:12px; color:#374151; box-shadow:0 1px 3px rgba(0,0,0,0.08); }\n  .legend-title { font-weight:600; font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:#6b7280; margin-bottom:6px; }\n  .legend-row { display:flex; align-items:center; gap:7px; margin:3px 0; }\n  .legend-dot { width:11px; height:11px; border-radius:50%; flex:0 0 auto; }\n  .controls { position:absolute; top:14px; right:14px; display:flex; flex-direction:column; gap:6px; }\n  .controls button { width:32px; height:32px; border-radius:6px; border:1px solid #d1d5db; background:#ffffff; font-size:16px; cursor:pointer; color:#374151; }\n  .controls button:hover { background:#f3f4f6; }\n  .hint { position:absolute; bottom:12px; right:16px; font-size:11px; color:#9ca3af; }\n  .node-label { font-size:11px; fill:#1f2937; pointer-events:none; paint-order:stroke; stroke:#ffffff; stroke-width:3px; stroke-linejoin:round; }\n  .node-label.bold { font-weight:700; font-size:12px; }\n  .link { stroke:#94a3b8; stroke-opacity:0.55; }\n  .tooltip { position:absolute; pointer-events:auto; background:#0f172a; color:#f9fafb; font-size:12px; padding:8px 12px; border-radius:8px; opacity:0; transition:opacity .12s; max-width:280px; max-height:260px; overflow-y:auto; z-index:20; box-shadow:0 6px 18px rgba(0,0,0,0.28); }\n  .tooltip-head { font-size:12px; }\n  .tooltip-articles { margin-top:7px; padding-top:7px; border-top:1px solid rgba(255,255,255,0.18); }\n  .tooltip-articles-title { font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:#94a3b8; margin-bottom:4px; }\n  .tooltip-articles a { display:block; color:#93c5fd; text-decoration:none; margin:4px 0; line-height:1.35; }\n  .tooltip-articles a:hover { text-decoration:underline; color:#bfdbfe; }\n&lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;div id=&quot;header&quot;&gt;\n  &lt;h1&gt;Security Operations Weekly \u2014 September 20, 2026 Topic Map&lt;\/h1&gt;\n  &lt;p&gt;Node size = mentions &amp;middot; edge thickness = co-mention frequency &amp;middot; scroll or pinch to zoom, drag the canvas to pan, drag a node to reposition it, hover a node for related articles.&lt;\/p&gt;\n&lt;\/div&gt;\n&lt;div id=&quot;canvas-wrap&quot;&gt;\n  &lt;svg id=&quot;canvas&quot;&gt;&lt;\/svg&gt;\n  &lt;div class=&quot;legend&quot; id=&quot;legend&quot;&gt;&lt;\/div&gt;\n  &lt;div class=&quot;controls&quot;&gt;\n    &lt;button id=&quot;zoom-in&quot; title=&quot;Zoom in&quot;&gt;+&lt;\/button&gt;\n    &lt;button id=&quot;zoom-out&quot; title=&quot;Zoom out&quot;&gt;&amp;minus;&lt;\/button&gt;\n    &lt;button id=&quot;zoom-reset&quot; title=&quot;Reset view&quot;&gt;&amp;#8634;&lt;\/button&gt;\n  &lt;\/div&gt;\n  &lt;div class=&quot;tooltip&quot; id=&quot;tooltip&quot;&gt;&lt;\/div&gt;\n  &lt;div class=&quot;hint&quot;&gt;Security Radar LLC &amp;middot; Newshunter interactive topic map&lt;\/div&gt;\n&lt;\/div&gt;\n&lt;script&gt;\nconst DATA = {&quot;nodes&quot;: [{&quot;id&quot;: &quot;secops&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Security operations&quot;, &quot;weight&quot;: 10, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}, {&quot;title&quot;: &quot;CISA wants critical infrastructure orgs and smaller security teams to start using cyber decoys&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/cisa-guidance-for-implementing-cyber-decoys\/&quot;}, {&quot;title&quot;: &quot;How teams can patch faster when a bug gets added to CISA&#x27;s KEV&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/how-teams-can-patch-faster-when-a-bug-gets-added-to-cisas-kev&quot;}, {&quot;title&quot;: &quot;AI SOC vs. SOAR: Augmentation or Replacement?&quot;, &quot;url&quot;: &quot;https:\/\/securityboulevard.com\/2026\/09\/ai-soc-vs-soar-augmentation-or-replacement\/&quot;}, {&quot;title&quot;: &quot;UltraViolet Cyber Equinox measures detection coverage against MITRE frameworks&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/15\/ultraviolet-cyber-equinox\/&quot;}]}, {&quot;id&quot;: &quot;detectionmeasurement&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Measuring detection&quot;, &quot;weight&quot;: 9, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}, {&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}, {&quot;title&quot;: &quot;UltraViolet Cyber Equinox measures detection coverage against MITRE frameworks&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/15\/ultraviolet-cyber-equinox\/&quot;}, {&quot;title&quot;: &quot;AI SOC vs. SOAR: Augmentation or Replacement?&quot;, &quot;url&quot;: &quot;https:\/\/securityboulevard.com\/2026\/09\/ai-soc-vs-soar-augmentation-or-replacement\/&quot;}]}, {&quot;id&quot;: &quot;vulnhandling&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Vulnerability handling&quot;, &quot;weight&quot;: 9, &quot;articles&quot;: [{&quot;title&quot;: &quot;CISA Retires Weekly Vulnerability Bulletin in Risk-Based Pivot&quot;, &quot;url&quot;: &quot;https:\/\/www.securityweek.com\/cisa-retires-weekly-vulnerability-bulletin-in-risk-based-pivot\/&quot;}, {&quot;title&quot;: &quot;New CISA-hosted VINCE-NT system revealed for coordinated vulnerability disclosure&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/news\/new-cisa-hosted-vince-nt-system-revealed-for-coordinated-vulnerability-disclosure&quot;}, {&quot;title&quot;: &quot;How teams can patch faster when a bug gets added to CISA&#x27;s KEV&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/how-teams-can-patch-faster-when-a-bug-gets-added-to-cisas-kev&quot;}, {&quot;title&quot;: &quot;In the AI era, the pre-patch window needs its own security playbook&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/in-the-ai-era-the-pre-patch-window-needs-its-own-security-playbook&quot;}, {&quot;title&quot;: &quot;Mythos has made 2026 patching hell. It might make 2027 a breeze&quot;, &quot;url&quot;: &quot;https:\/\/www.theregister.com\/security\/2026\/09\/16\/mythos_has_made_2026_patching_hell_it_might_make_2027_a_breeze\/5296747&quot;}]}, {&quot;id&quot;: &quot;identitytokens&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Identity &amp; token defence&quot;, &quot;weight&quot;: 8, &quot;articles&quot;: [{&quot;title&quot;: &quot;NIST and CISA finalize playbook to stop token theft and forgery&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/nist-cisa-cloud-token-security-guidance\/&quot;}, {&quot;title&quot;: &quot;MFA Won&#x27;t Save You From OAuth Consent Abuse&quot;, &quot;url&quot;: &quot;https:\/\/www.darkreading.com\/vulnerabilities-threats\/mfa-oauth-consent-abuse&quot;}, {&quot;title&quot;: &quot;98% of fraudulent hires have company credentials by the time they&#x27;re caught&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/18\/hypr-hiring-fraud-detection-report\/&quot;}, {&quot;title&quot;: &quot;Druva expands identity resilience with ransomware detection&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/druva-identity-resilience-ransomware-detection\/&quot;}]}, {&quot;id&quot;: &quot;deception&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Deception &amp; validation&quot;, &quot;weight&quot;: 7, &quot;articles&quot;: [{&quot;title&quot;: &quot;CISA wants critical infrastructure orgs and smaller security teams to start using cyber decoys&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/cisa-guidance-for-implementing-cyber-decoys\/&quot;}, {&quot;title&quot;: &quot;DeepZero: Open-source hunting for vulnerable Windows drivers&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/vulnerable-windows-drivers-deepzero-open-source\/&quot;}, {&quot;title&quot;: &quot;Tuskira Vector brings autonomous red teaming to attack surface validation&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/tuskira-vector-autonomous-red-teaming\/&quot;}]}, {&quot;id&quot;: &quot;irrecovery&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;IR &amp; recovery practice&quot;, &quot;weight&quot;: 7, &quot;articles&quot;: [{&quot;title&quot;: &quot;A CISO&#x27;s Lessons in Ransomware Response and Recovery After a Real-World LockBit Attack&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/interviews\/ciso-zach-lewis-ransomware\/&quot;}, {&quot;title&quot;: &quot;New Rapuncel Infostealer Pushed via Fake LastPass Authenticator GitHub Repos&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/fake-lastpass-authenticator-github-repos-push-new-rapuncel-infostealer\/&quot;}, {&quot;title&quot;: &quot;Druva expands identity resilience with ransomware detection&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/druva-identity-resilience-ransomware-detection\/&quot;}]}, {&quot;id&quot;: &quot;aisoc&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;AI SOC&quot;, &quot;weight&quot;: 7, &quot;articles&quot;: [{&quot;title&quot;: &quot;AI SOC vs. SOAR: Augmentation or Replacement?&quot;, &quot;url&quot;: &quot;https:\/\/securityboulevard.com\/2026\/09\/ai-soc-vs-soar-augmentation-or-replacement\/&quot;}, {&quot;title&quot;: &quot;Hastily deployed agentic security is not the answer to enterprise cyber threats&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/hastily-deployed-agentic-security-is-not-the-answer-to-enterprise-cyber-threats&quot;}, {&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}]}, {&quot;id&quot;: &quot;benchmarkgap&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;No common yardstick&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}, {&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}]}, {&quot;id&quot;: &quot;prepatchwindow&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Pre-patch window&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;In the AI era, the pre-patch window needs its own security playbook&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/in-the-ai-era-the-pre-patch-window-needs-its-own-security-playbook&quot;}, {&quot;title&quot;: &quot;Mythos has made 2026 patching hell. It might make 2027 a breeze&quot;, &quot;url&quot;: &quot;https:\/\/www.theregister.com\/security\/2026\/09\/16\/mythos_has_made_2026_patching_hell_it_might_make_2027_a_breeze\/5296747&quot;}]}, {&quot;id&quot;: &quot;byovd&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;BYOVD \/ driver abuse&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;DeepZero: Open-source hunting for vulnerable Windows drivers&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/vulnerable-windows-drivers-deepzero-open-source\/&quot;}, {&quot;title&quot;: &quot;New Rapuncel Infostealer Pushed via Fake LastPass Authenticator GitHub Repos&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/fake-lastpass-authenticator-github-repos-push-new-rapuncel-infostealer\/&quot;}]}, {&quot;id&quot;: &quot;tokentheft&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Token theft &amp; forgery&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;NIST and CISA finalize playbook to stop token theft and forgery&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/nist-cisa-cloud-token-security-guidance\/&quot;}, {&quot;title&quot;: &quot;MFA Won&#x27;t Save You From OAuth Consent Abuse&quot;, &quot;url&quot;: &quot;https:\/\/www.darkreading.com\/vulnerabilities-threats\/mfa-oauth-consent-abuse&quot;}]}, {&quot;id&quot;: &quot;soar&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;SOAR playbooks&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;AI SOC vs. SOAR: Augmentation or Replacement?&quot;, &quot;url&quot;: &quot;https:\/\/securityboulevard.com\/2026\/09\/ai-soc-vs-soar-augmentation-or-replacement\/&quot;}]}, {&quot;id&quot;: &quot;oauthconsent&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;OAuth consent abuse&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;MFA Won&#x27;t Save You From OAuth Consent Abuse&quot;, &quot;url&quot;: &quot;https:\/\/www.darkreading.com\/vulnerabilities-threats\/mfa-oauth-consent-abuse&quot;}, {&quot;title&quot;: &quot;NIST and CISA finalize playbook to stop token theft and forgery&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/nist-cisa-cloud-token-security-guidance\/&quot;}]}, {&quot;id&quot;: &quot;edrevasion&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;EDR evasion&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;New Rapuncel Infostealer Pushed via Fake LastPass Authenticator GitHub Repos&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/fake-lastpass-authenticator-github-repos-push-new-rapuncel-infostealer\/&quot;}, {&quot;title&quot;: &quot;DeepZero: Open-source hunting for vulnerable Windows drivers&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/vulnerable-windows-drivers-deepzero-open-source\/&quot;}, {&quot;title&quot;: &quot;Microsoft fixes bug behind &#x27;Defender Antivirus is turned off&#x27; alerts&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/microsoft-fixes-bug-behind-defender-antivirus-is-turned-off-alerts\/&quot;}]}, {&quot;id&quot;: &quot;decoys&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Honeytokens &amp; decoys&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;CISA wants critical infrastructure orgs and smaller security teams to start using cyber decoys&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/cisa-guidance-for-implementing-cyber-decoys\/&quot;}]}, {&quot;id&quot;: &quot;mdrmarket&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;MDR &amp; MSSP market&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;MSPs say nearly half their customers rely on them for CISO services&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/msp-ciso-services-compliance\/&quot;}, {&quot;title&quot;: &quot;MIND Secures $72 Million for AI-Powered DLP&quot;, &quot;url&quot;: &quot;https:\/\/www.securityweek.com\/mind-secures-72-million-for-ai-powered-dlp\/&quot;}, {&quot;title&quot;: &quot;Fighting Your Dragons Through Tough Tech Times&quot;, &quot;url&quot;: &quot;https:\/\/www.darkreading.com\/cybersecurity-careers\/finding-hope-brutal-job-market&quot;}]}, {&quot;id&quot;: &quot;agenticoverreach&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Agentic overreach&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Hastily deployed agentic security is not the answer to enterprise cyber threats&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/hastily-deployed-agentic-security-is-not-the-answer-to-enterprise-cyber-threats&quot;}, {&quot;title&quot;: &quot;AI SOC vs. SOAR: Augmentation or Replacement?&quot;, &quot;url&quot;: &quot;https:\/\/securityboulevard.com\/2026\/09\/ai-soc-vs-soar-augmentation-or-replacement\/&quot;}]}, {&quot;id&quot;: &quot;hiringfraud&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Hiring fraud&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;98% of fraudulent hires have company credentials by the time they&#x27;re caught&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/18\/hypr-hiring-fraud-detection-report\/&quot;}]}, {&quot;id&quot;: &quot;certexpiry&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Certificate expiry&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Certificate failures can cost firms over $250,000&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/14\/digicert-certificate-management-automation-report\/&quot;}]}, {&quot;id&quot;: &quot;ransomnegotiation&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Ransom negotiation&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;A CISO&#x27;s Lessons in Ransomware Response and Recovery After a Real-World LockBit Attack&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/interviews\/ciso-zach-lewis-ransomware\/&quot;}]}, {&quot;id&quot;: &quot;patchvolume&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Patch volume&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Mythos has made 2026 patching hell. It might make 2027 a breeze&quot;, &quot;url&quot;: &quot;https:\/\/www.theregister.com\/security\/2026\/09\/16\/mythos_has_made_2026_patching_hell_it_might_make_2027_a_breeze\/5296747&quot;}, {&quot;title&quot;: &quot;In the AI era, the pre-patch window needs its own security playbook&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/in-the-ai-era-the-pre-patch-window-needs-its-own-security-playbook&quot;}]}, {&quot;id&quot;: &quot;careermarket&quot;, &quot;type&quot;: &quot;concept&quot;, &quot;label&quot;: &quot;Security job market&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;Fighting Your Dragons Through Tough Tech Times&quot;, &quot;url&quot;: &quot;https:\/\/www.darkreading.com\/cybersecurity-careers\/finding-hope-brutal-job-market&quot;}]}, {&quot;id&quot;: &quot;mitreattack&quot;, &quot;type&quot;: &quot;standard&quot;, &quot;label&quot;: &quot;MITRE ATT&amp;CK&quot;, &quot;weight&quot;: 7, &quot;articles&quot;: [{&quot;title&quot;: &quot;UltraViolet Cyber Equinox measures detection coverage against MITRE frameworks&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/15\/ultraviolet-cyber-equinox\/&quot;}, {&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}, {&quot;title&quot;: &quot;CISA wants critical infrastructure orgs and smaller security teams to start using cyber decoys&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/cisa-guidance-for-implementing-cyber-decoys\/&quot;}, {&quot;title&quot;: &quot;Druva expands identity resilience with ransomware detection&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/druva-identity-resilience-ransomware-detection\/&quot;}, {&quot;title&quot;: &quot;Tuskira Vector brings autonomous red teaming to attack surface validation&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/tuskira-vector-autonomous-red-teaming\/&quot;}]}, {&quot;id&quot;: &quot;kev&quot;, &quot;type&quot;: &quot;standard&quot;, &quot;label&quot;: &quot;KEV catalog&quot;, &quot;weight&quot;: 7, &quot;articles&quot;: [{&quot;title&quot;: &quot;How teams can patch faster when a bug gets added to CISA&#x27;s KEV&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/how-teams-can-patch-faster-when-a-bug-gets-added-to-cisas-kev&quot;}, {&quot;title&quot;: &quot;CISA Retires Weekly Vulnerability Bulletin in Risk-Based Pivot&quot;, &quot;url&quot;: &quot;https:\/\/www.securityweek.com\/cisa-retires-weekly-vulnerability-bulletin-in-risk-based-pivot\/&quot;}, {&quot;title&quot;: &quot;New CISA-hosted VINCE-NT system revealed for coordinated vulnerability disclosure&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/news\/new-cisa-hosted-vince-nt-system-revealed-for-coordinated-vulnerability-disclosure&quot;}]}, {&quot;id&quot;: &quot;nistir8587&quot;, &quot;type&quot;: &quot;standard&quot;, &quot;label&quot;: &quot;NIST IR 8587&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;NIST and CISA finalize playbook to stop token theft and forgery&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/nist-cisa-cloud-token-security-guidance\/&quot;}]}, {&quot;id&quot;: &quot;mitreengage&quot;, &quot;type&quot;: &quot;standard&quot;, &quot;label&quot;: &quot;MITRE Engage&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;CISA wants critical infrastructure orgs and smaller security teams to start using cyber decoys&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/cisa-guidance-for-implementing-cyber-decoys\/&quot;}]}, {&quot;id&quot;: &quot;cybergym&quot;, &quot;type&quot;: &quot;standard&quot;, &quot;label&quot;: &quot;CyberGym benchmark&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}]}, {&quot;id&quot;: &quot;mitreatlas&quot;, &quot;type&quot;: &quot;standard&quot;, &quot;label&quot;: &quot;MITRE ATLAS&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;UltraViolet Cyber Equinox measures detection coverage against MITRE frameworks&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/15\/ultraviolet-cyber-equinox\/&quot;}]}, {&quot;id&quot;: &quot;cisa&quot;, &quot;type&quot;: &quot;law&quot;, &quot;label&quot;: &quot;CISA&quot;, &quot;weight&quot;: 9, &quot;articles&quot;: [{&quot;title&quot;: &quot;CISA wants critical infrastructure orgs and smaller security teams to start using cyber decoys&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/cisa-guidance-for-implementing-cyber-decoys\/&quot;}, {&quot;title&quot;: &quot;CISA Retires Weekly Vulnerability Bulletin in Risk-Based Pivot&quot;, &quot;url&quot;: &quot;https:\/\/www.securityweek.com\/cisa-retires-weekly-vulnerability-bulletin-in-risk-based-pivot\/&quot;}, {&quot;title&quot;: &quot;New CISA-hosted VINCE-NT system revealed for coordinated vulnerability disclosure&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/news\/new-cisa-hosted-vince-nt-system-revealed-for-coordinated-vulnerability-disclosure&quot;}, {&quot;title&quot;: &quot;How teams can patch faster when a bug gets added to CISA&#x27;s KEV&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/how-teams-can-patch-faster-when-a-bug-gets-added-to-cisas-kev&quot;}, {&quot;title&quot;: &quot;NIST and CISA finalize playbook to stop token theft and forgery&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/nist-cisa-cloud-token-security-guidance\/&quot;}]}, {&quot;id&quot;: &quot;bod2604&quot;, &quot;type&quot;: &quot;law&quot;, &quot;label&quot;: &quot;BOD 26-04&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;How teams can patch faster when a bug gets added to CISA&#x27;s KEV&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/how-teams-can-patch-faster-when-a-bug-gets-added-to-cisas-kev&quot;}, {&quot;title&quot;: &quot;CISA Retires Weekly Vulnerability Bulletin in Risk-Based Pivot&quot;, &quot;url&quot;: &quot;https:\/\/www.securityweek.com\/cisa-retires-weekly-vulnerability-bulletin-in-risk-based-pivot\/&quot;}]}, {&quot;id&quot;: &quot;nist&quot;, &quot;type&quot;: &quot;law&quot;, &quot;label&quot;: &quot;NIST&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;NIST and CISA finalize playbook to stop token theft and forgery&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/nist-cisa-cloud-token-security-guidance\/&quot;}]}, {&quot;id&quot;: &quot;bod2201&quot;, &quot;type&quot;: &quot;law&quot;, &quot;label&quot;: &quot;BOD 22-01&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;How teams can patch faster when a bug gets added to CISA&#x27;s KEV&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/how-teams-can-patch-faster-when-a-bug-gets-added-to-cisas-kev&quot;}]}, {&quot;id&quot;: &quot;fbi&quot;, &quot;type&quot;: &quot;law&quot;, &quot;label&quot;: &quot;FBI&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;A CISO&#x27;s Lessons in Ransomware Response and Recovery After a Real-World LockBit Attack&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/interviews\/ciso-zach-lewis-ransomware\/&quot;}]}, {&quot;id&quot;: &quot;microsoft&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Microsoft&quot;, &quot;weight&quot;: 8, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}, {&quot;title&quot;: &quot;Microsoft fixes bug behind &#x27;Defender Antivirus is turned off&#x27; alerts&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/microsoft-fixes-bug-behind-defender-antivirus-is-turned-off-alerts\/&quot;}, {&quot;title&quot;: &quot;Microsoft Teams will let admins block custom file extensions&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/microsoft-teams-will-let-admins-block-custom-file-extensions\/&quot;}, {&quot;title&quot;: &quot;AI SOC vs. SOAR: Augmentation or Replacement?&quot;, &quot;url&quot;: &quot;https:\/\/securityboulevard.com\/2026\/09\/ai-soc-vs-soar-augmentation-or-replacement\/&quot;}, {&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}]}, {&quot;id&quot;: &quot;crowdstrike&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;CrowdStrike&quot;, &quot;weight&quot;: 7, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}, {&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}]}, {&quot;id&quot;: &quot;mitre&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;MITRE&quot;, &quot;weight&quot;: 7, &quot;articles&quot;: [{&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}, {&quot;title&quot;: &quot;UltraViolet Cyber Equinox measures detection coverage against MITRE frameworks&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/15\/ultraviolet-cyber-equinox\/&quot;}, {&quot;title&quot;: &quot;CISA wants critical infrastructure orgs and smaller security teams to start using cyber decoys&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/cisa-guidance-for-implementing-cyber-decoys\/&quot;}]}, {&quot;id&quot;: &quot;google&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Google&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}]}, {&quot;id&quot;: &quot;paloalto&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Palo Alto Networks&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}, {&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}]}, {&quot;id&quot;: &quot;selabs&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;SE Labs&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}]}, {&quot;id&quot;: &quot;sophos&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Sophos&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}, {&quot;title&quot;: &quot;MSPs say nearly half their customers rely on them for CISO services&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/msp-ciso-services-compliance\/&quot;}]}, {&quot;id&quot;: &quot;gartner&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Gartner&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}, {&quot;title&quot;: &quot;AI SOC vs. SOAR: Augmentation or Replacement?&quot;, &quot;url&quot;: &quot;https:\/\/securityboulevard.com\/2026\/09\/ai-soc-vs-soar-augmentation-or-replacement\/&quot;}, {&quot;title&quot;: &quot;Mythos has made 2026 patching hell. It might make 2027 a breeze&quot;, &quot;url&quot;: &quot;https:\/\/www.theregister.com\/security\/2026\/09\/16\/mythos_has_made_2026_patching_hell_it_might_make_2027_a_breeze\/5296747&quot;}]}, {&quot;id&quot;: &quot;kuppingercole&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;KuppingerCole&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;AI SOC vs. SOAR: Augmentation or Replacement?&quot;, &quot;url&quot;: &quot;https:\/\/securityboulevard.com\/2026\/09\/ai-soc-vs-soar-augmentation-or-replacement\/&quot;}]}, {&quot;id&quot;: &quot;blackduck&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Black Duck&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;How teams can patch faster when a bug gets added to CISA&#x27;s KEV&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/how-teams-can-patch-faster-when-a-bug-gets-added-to-cisas-kev&quot;}]}, {&quot;id&quot;: &quot;simspace&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;SimSpace&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Hastily deployed agentic security is not the answer to enterprise cyber threats&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/hastily-deployed-agentic-security-is-not-the-answer-to-enterprise-cyber-threats&quot;}]}, {&quot;id&quot;: &quot;mind&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;MIND (DLP)&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;MIND Secures $72 Million for AI-Powered DLP&quot;, &quot;url&quot;: &quot;https:\/\/www.securityweek.com\/mind-secures-72-million-for-ai-powered-dlp\/&quot;}]}, {&quot;id&quot;: &quot;druva&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Druva&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Druva expands identity resilience with ransomware detection&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/druva-identity-resilience-ransomware-detection\/&quot;}]}, {&quot;id&quot;: &quot;tuskira&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Tuskira&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Tuskira Vector brings autonomous red teaming to attack surface validation&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/tuskira-vector-autonomous-red-teaming\/&quot;}]}, {&quot;id&quot;: &quot;hypr&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;HYPR&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;98% of fraudulent hires have company credentials by the time they&#x27;re caught&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/18\/hypr-hiring-fraud-detection-report\/&quot;}]}, {&quot;id&quot;: &quot;digicert&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;DigiCert&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Certificate failures can cost firms over $250,000&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/14\/digicert-certificate-management-automation-report\/&quot;}]}, {&quot;id&quot;: &quot;lastpass&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;LastPass&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;New Rapuncel Infostealer Pushed via Fake LastPass Authenticator GitHub Repos&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/fake-lastpass-authenticator-github-repos-push-new-rapuncel-infostealer\/&quot;}]}, {&quot;id&quot;: &quot;anthropic&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Anthropic&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Mythos has made 2026 patching hell. It might make 2027 a breeze&quot;, &quot;url&quot;: &quot;https:\/\/www.theregister.com\/security\/2026\/09\/16\/mythos_has_made_2026_patching_hell_it_might_make_2027_a_breeze\/5296747&quot;}, {&quot;title&quot;: &quot;In the AI era, the pre-patch window needs its own security playbook&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/in-the-ai-era-the-pre-patch-window-needs-its-own-security-playbook&quot;}]}, {&quot;id&quot;: &quot;fortinet&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Fortinet&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}]}, {&quot;id&quot;: &quot;miggo&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Miggo Security&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;In the AI era, the pre-patch window needs its own security playbook&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/in-the-ai-era-the-pre-patch-window-needs-its-own-security-playbook&quot;}]}, {&quot;id&quot;: &quot;delphoslabs&quot;, &quot;type&quot;: &quot;vendor&quot;, &quot;label&quot;: &quot;Delphos Labs&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;New Rapuncel Infostealer Pushed via Fake LastPass Authenticator GitHub Repos&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/fake-lastpass-authenticator-github-repos-push-new-rapuncel-infostealer\/&quot;}]}, {&quot;id&quot;: &quot;pivot&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;SE Labs PIVOT&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}]}, {&quot;id&quot;: &quot;deepzero&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;DeepZero&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;DeepZero: Open-source hunting for vulnerable Windows drivers&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/vulnerable-windows-drivers-deepzero-open-source\/&quot;}]}, {&quot;id&quot;: &quot;safemind&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;CrowdStrike SafeMind&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}]}, {&quot;id&quot;: &quot;equinox&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;UltraViolet Equinox&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;UltraViolet Cyber Equinox measures detection coverage against MITRE frameworks&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/15\/ultraviolet-cyber-equinox\/&quot;}]}, {&quot;id&quot;: &quot;vincent&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;VINCE-NT&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;New CISA-hosted VINCE-NT system revealed for coordinated vulnerability disclosure&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/news\/new-cisa-hosted-vince-nt-system-revealed-for-coordinated-vulnerability-disclosure&quot;}]}, {&quot;id&quot;: &quot;defenderav&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;Defender Antivirus&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;Microsoft fixes bug behind &#x27;Defender Antivirus is turned off&#x27; alerts&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/microsoft-fixes-bug-behind-defender-antivirus-is-turned-off-alerts\/&quot;}]}, {&quot;id&quot;: &quot;geminicyber&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;Gemini 3.8 Flash Cyber&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}]}, {&quot;id&quot;: &quot;securitycopilot&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;Security Copilot&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}]}, {&quot;id&quot;: &quot;teams&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;Microsoft Teams&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Microsoft Teams will let admins block custom file extensions&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/microsoft-teams-will-let-admins-block-custom-file-extensions\/&quot;}]}, {&quot;id&quot;: &quot;vector&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;Tuskira Vector&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Tuskira Vector brings autonomous red teaming to attack surface validation&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/tuskira-vector-autonomous-red-teaming\/&quot;}]}, {&quot;id&quot;: &quot;mythos&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;Mythos&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Mythos has made 2026 patching hell. It might make 2027 a breeze&quot;, &quot;url&quot;: &quot;https:\/\/www.theregister.com\/security\/2026\/09\/16\/mythos_has_made_2026_patching_hell_it_might_make_2027_a_breeze\/5296747&quot;}]}, {&quot;id&quot;: &quot;ghidra&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;Ghidra&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;DeepZero: Open-source hunting for vulnerable Windows drivers&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/vulnerable-windows-drivers-deepzero-open-source\/&quot;}]}, {&quot;id&quot;: &quot;loldrivers&quot;, &quot;type&quot;: &quot;product&quot;, &quot;label&quot;: &quot;loldrivers.io&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;DeepZero: Open-source hunting for vulnerable Windows drivers&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/vulnerable-windows-drivers-deepzero-open-source\/&quot;}]}, {&quot;id&quot;: &quot;lockbit&quot;, &quot;type&quot;: &quot;malware&quot;, &quot;label&quot;: &quot;LockBit&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;A CISO&#x27;s Lessons in Ransomware Response and Recovery After a Real-World LockBit Attack&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/interviews\/ciso-zach-lewis-ransomware\/&quot;}]}, {&quot;id&quot;: &quot;rapuncel&quot;, &quot;type&quot;: &quot;malware&quot;, &quot;label&quot;: &quot;Rapuncel infostealer&quot;, &quot;weight&quot;: 6, &quot;articles&quot;: [{&quot;title&quot;: &quot;New Rapuncel Infostealer Pushed via Fake LastPass Authenticator GitHub Repos&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/fake-lastpass-authenticator-github-repos-push-new-rapuncel-infostealer\/&quot;}]}, {&quot;id&quot;: &quot;alinubx&quot;, &quot;type&quot;: &quot;malware&quot;, &quot;label&quot;: &quot;Alinubx.sys driver&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;New Rapuncel Infostealer Pushed via Fake LastPass Authenticator GitHub Repos&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/fake-lastpass-authenticator-github-repos-push-new-rapuncel-infostealer\/&quot;}]}, {&quot;id&quot;: &quot;fakerepos&quot;, &quot;type&quot;: &quot;campaign&quot;, &quot;label&quot;: &quot;Fake LastPass repos&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;New Rapuncel Infostealer Pushed via Fake LastPass Authenticator GitHub Repos&quot;, &quot;url&quot;: &quot;https:\/\/www.bleepingcomputer.com\/news\/security\/fake-lastpass-authenticator-github-repos-push-new-rapuncel-infostealer\/&quot;}]}, {&quot;id&quot;: &quot;cve9082&quot;, &quot;type&quot;: &quot;cve&quot;, &quot;label&quot;: &quot;CVE-2026-9082 (Drupal)&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;In the AI era, the pre-patch window needs its own security playbook&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/in-the-ai-era-the-pre-patch-window-needs-its-own-security-playbook&quot;}]}, {&quot;id&quot;: &quot;zachlewis&quot;, &quot;type&quot;: &quot;person&quot;, &quot;label&quot;: &quot;Zach Lewis (CISO)&quot;, &quot;weight&quot;: 5, &quot;articles&quot;: [{&quot;title&quot;: &quot;A CISO&#x27;s Lessons in Ransomware Response and Recovery After a Real-World LockBit Attack&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/interviews\/ciso-zach-lewis-ransomware\/&quot;}]}, {&quot;id&quot;: &quot;charlesclancy&quot;, &quot;type&quot;: &quot;person&quot;, &quot;label&quot;: &quot;Charles Clancy&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}]}, {&quot;id&quot;: &quot;chrisbutera&quot;, &quot;type&quot;: &quot;person&quot;, &quot;label&quot;: &quot;Chris Butera&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;CISA wants critical infrastructure orgs and smaller security teams to start using cyber decoys&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/17\/cisa-guidance-for-implementing-cyber-decoys\/&quot;}]}, {&quot;id&quot;: &quot;collinhoguespears&quot;, &quot;type&quot;: &quot;person&quot;, &quot;label&quot;: &quot;Collin Hogue-Spears&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;How teams can patch faster when a bug gets added to CISA&#x27;s KEV&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/how-teams-can-patch-faster-when-a-bug-gets-added-to-cisas-kev&quot;}]}, {&quot;id&quot;: &quot;leerossey&quot;, &quot;type&quot;: &quot;person&quot;, &quot;label&quot;: &quot;Lee Rossey&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;Hastily deployed agentic security is not the answer to enterprise cyber threats&quot;, &quot;url&quot;: &quot;https:\/\/www.scworld.com\/perspective\/hastily-deployed-agentic-security-is-not-the-answer-to-enterprise-cyber-threats&quot;}]}, {&quot;id&quot;: &quot;craiglawson&quot;, &quot;type&quot;: &quot;person&quot;, &quot;label&quot;: &quot;Craig Lawson&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;Mythos has made 2026 patching hell. It might make 2027 a breeze&quot;, &quot;url&quot;: &quot;https:\/\/www.theregister.com\/security\/2026\/09\/16\/mythos_has_made_2026_patching_hell_it_might_make_2027_a_breeze\/5296747&quot;}]}, {&quot;id&quot;: &quot;halpomeranz&quot;, &quot;type&quot;: &quot;person&quot;, &quot;label&quot;: &quot;Hal Pomeranz&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;Fighting Your Dragons Through Tough Tech Times&quot;, &quot;url&quot;: &quot;https:\/\/www.darkreading.com\/cybersecurity-careers\/finding-hope-brutal-job-market&quot;}]}, {&quot;id&quot;: &quot;rehmanahmadzai&quot;, &quot;type&quot;: &quot;researcher&quot;, &quot;label&quot;: &quot;Rehman Ahmadzai&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;DeepZero: Open-source hunting for vulnerable Windows drivers&quot;, &quot;url&quot;: &quot;https:\/\/www.helpnetsecurity.com\/2026\/09\/16\/vulnerable-windows-drivers-deepzero-open-source\/&quot;}]}, {&quot;id&quot;: &quot;kaynemcgladrey&quot;, &quot;type&quot;: &quot;researcher&quot;, &quot;label&quot;: &quot;Kayne McGladrey&quot;, &quot;weight&quot;: 3, &quot;articles&quot;: [{&quot;title&quot;: &quot;Nobody can compare the security-AI numbers CrowdStrike, Google, Palo Alto and Microsoft published&quot;, &quot;url&quot;: &quot;https:\/\/venturebeat.com\/security\/nobody-can-compare-the-security-ai-numbers-crowdstrike-google-palo-alto-and-microsoft-published-including-the-cisos-who-are-stuck-with-the-results&quot;}]}, {&quot;id&quot;: &quot;uk&quot;, &quot;type&quot;: &quot;location&quot;, &quot;label&quot;: &quot;United Kingdom&quot;, &quot;weight&quot;: 4, &quot;articles&quot;: [{&quot;title&quot;: &quot;Major Cyber Vendors Turn to New UK Testing Program as MITRE Evaluations Face Changes&quot;, &quot;url&quot;: &quot;https:\/\/www.infosecurity-magazine.com\/news\/cyber-vendors-mitre-uk-testing\/&quot;}]}], &quot;links&quot;: [{&quot;source&quot;: &quot;secops&quot;, &quot;target&quot;: &quot;detectionmeasurement&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;secops&quot;, &quot;target&quot;: &quot;vulnhandling&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;secops&quot;, &quot;target&quot;: &quot;identitytokens&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;secops&quot;, &quot;target&quot;: &quot;deception&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;secops&quot;, &quot;target&quot;: &quot;irrecovery&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;secops&quot;, &quot;target&quot;: &quot;aisoc&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;secops&quot;, &quot;target&quot;: &quot;mdrmarket&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;detectionmeasurement&quot;, &quot;target&quot;: &quot;benchmarkgap&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;benchmarkgap&quot;, &quot;target&quot;: &quot;crowdstrike&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;benchmarkgap&quot;, &quot;target&quot;: &quot;google&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;benchmarkgap&quot;, &quot;target&quot;: &quot;microsoft&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;benchmarkgap&quot;, &quot;target&quot;: &quot;paloalto&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;crowdstrike&quot;, &quot;target&quot;: &quot;safemind&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;safemind&quot;, &quot;target&quot;: &quot;detectionmeasurement&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;google&quot;, &quot;target&quot;: &quot;geminicyber&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;geminicyber&quot;, &quot;target&quot;: &quot;cybergym&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;cybergym&quot;, &quot;target&quot;: &quot;benchmarkgap&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;microsoft&quot;, &quot;target&quot;: &quot;securitycopilot&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;securitycopilot&quot;, &quot;target&quot;: &quot;detectionmeasurement&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;securitycopilot&quot;, &quot;target&quot;: &quot;aisoc&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;benchmarkgap&quot;, &quot;target&quot;: &quot;kaynemcgladrey&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;kaynemcgladrey&quot;, &quot;target&quot;: &quot;detectionmeasurement&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;safemind&quot;, &quot;target&quot;: &quot;aisoc&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;detectionmeasurement&quot;, &quot;target&quot;: &quot;pivot&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;pivot&quot;, &quot;target&quot;: &quot;selabs&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;selabs&quot;, &quot;target&quot;: &quot;uk&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;pivot&quot;, &quot;target&quot;: &quot;uk&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;pivot&quot;, &quot;target&quot;: &quot;crowdstrike&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;pivot&quot;, &quot;target&quot;: &quot;paloalto&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;pivot&quot;, &quot;target&quot;: &quot;fortinet&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;pivot&quot;, &quot;target&quot;: &quot;sophos&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;pivot&quot;, &quot;target&quot;: &quot;gartner&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;pivot&quot;, &quot;target&quot;: &quot;mitreattack&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;mitre&quot;, &quot;target&quot;: &quot;mitreattack&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;mitreattack&quot;, &quot;target&quot;: &quot;detectionmeasurement&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;mitre&quot;, &quot;target&quot;: &quot;charlesclancy&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;charlesclancy&quot;, &quot;target&quot;: &quot;mitreattack&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;mitre&quot;, &quot;target&quot;: &quot;paloalto&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;mitre&quot;, &quot;target&quot;: &quot;microsoft&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;detectionmeasurement&quot;, &quot;target&quot;: &quot;equinox&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;equinox&quot;, &quot;target&quot;: &quot;mitreattack&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;equinox&quot;, &quot;target&quot;: &quot;mitreatlas&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;mitreatlas&quot;, &quot;target&quot;: &quot;mitre&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;equinox&quot;, &quot;target&quot;: &quot;aisoc&quot;, &quot;weight&quot;: 2}, {&quot;source&quot;: &quot;vulnhandling&quot;, &quot;target&quot;: &quot;cisa&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;cisa&quot;, &quot;target&quot;: &quot;kev&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;kev&quot;, &quot;target&quot;: &quot;bod2604&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;bod2604&quot;, &quot;target&quot;: &quot;cisa&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;bod2604&quot;, &quot;target&quot;: &quot;bod2201&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;bod2201&quot;, &quot;target&quot;: &quot;kev&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;vulnhandling&quot;, &quot;target&quot;: &quot;kev&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;cisa&quot;, &quot;target&quot;: &quot;vincent&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;vincent&quot;, &quot;target&quot;: &quot;vulnhandling&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;cisa&quot;, &quot;target&quot;: &quot;chrisbutera&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;vulnhandling&quot;, &quot;target&quot;: &quot;blackduck&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;blackduck&quot;, &quot;target&quot;: &quot;collinhoguespears&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;collinhoguespears&quot;, &quot;target&quot;: &quot;kev&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;collinhoguespears&quot;, &quot;target&quot;: &quot;bod2604&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;vulnhandling&quot;, &quot;target&quot;: &quot;prepatchwindow&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;prepatchwindow&quot;, &quot;target&quot;: &quot;cve9082&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;cve9082&quot;, &quot;target&quot;: &quot;anthropic&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;prepatchwindow&quot;, &quot;target&quot;: &quot;miggo&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;miggo&quot;, &quot;target&quot;: &quot;cve9082&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;prepatchwindow&quot;, &quot;target&quot;: &quot;patchvolume&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;patchvolume&quot;, &quot;target&quot;: &quot;microsoft&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;patchvolume&quot;, &quot;target&quot;: &quot;mythos&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;mythos&quot;, &quot;target&quot;: &quot;anthropic&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;mythos&quot;, &quot;target&quot;: &quot;vulnhandling&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;patchvolume&quot;, &quot;target&quot;: &quot;craiglawson&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;craiglawson&quot;, &quot;target&quot;: &quot;gartner&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;craiglawson&quot;, &quot;target&quot;: &quot;mythos&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;prepatchwindow&quot;, &quot;target&quot;: &quot;kev&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;identitytokens&quot;, &quot;target&quot;: &quot;tokentheft&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;tokentheft&quot;, &quot;target&quot;: &quot;nistir8587&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;nistir8587&quot;, &quot;target&quot;: &quot;nist&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;nistir8587&quot;, &quot;target&quot;: &quot;cisa&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;nist&quot;, &quot;target&quot;: &quot;cisa&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;identitytokens&quot;, &quot;target&quot;: &quot;nistir8587&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;identitytokens&quot;, &quot;target&quot;: &quot;oauthconsent&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;oauthconsent&quot;, &quot;target&quot;: &quot;tokentheft&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;oauthconsent&quot;, &quot;target&quot;: &quot;microsoft&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;identitytokens&quot;, &quot;target&quot;: &quot;hiringfraud&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;hiringfraud&quot;, &quot;target&quot;: &quot;hypr&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;identitytokens&quot;, &quot;target&quot;: &quot;druva&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;druva&quot;, &quot;target&quot;: &quot;mitreattack&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;druva&quot;, &quot;target&quot;: &quot;irrecovery&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;identitytokens&quot;, &quot;target&quot;: &quot;certexpiry&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;certexpiry&quot;, &quot;target&quot;: &quot;digicert&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;certexpiry&quot;, &quot;target&quot;: &quot;secops&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;deception&quot;, &quot;target&quot;: &quot;decoys&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;decoys&quot;, &quot;target&quot;: &quot;cisa&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;decoys&quot;, &quot;target&quot;: &quot;mitreengage&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;mitreengage&quot;, &quot;target&quot;: &quot;mitre&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;decoys&quot;, &quot;target&quot;: &quot;mitreattack&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;decoys&quot;, &quot;target&quot;: &quot;chrisbutera&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;deception&quot;, &quot;target&quot;: &quot;deepzero&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;deepzero&quot;, &quot;target&quot;: &quot;rehmanahmadzai&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;deepzero&quot;, &quot;target&quot;: &quot;byovd&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;byovd&quot;, &quot;target&quot;: &quot;loldrivers&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;deepzero&quot;, &quot;target&quot;: &quot;loldrivers&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;deepzero&quot;, &quot;target&quot;: &quot;ghidra&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;byovd&quot;, &quot;target&quot;: &quot;microsoft&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;byovd&quot;, &quot;target&quot;: &quot;edrevasion&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;deception&quot;, &quot;target&quot;: &quot;vector&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;vector&quot;, &quot;target&quot;: &quot;tuskira&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;vector&quot;, &quot;target&quot;: &quot;mitreattack&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;deception&quot;, &quot;target&quot;: &quot;detectionmeasurement&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;irrecovery&quot;, &quot;target&quot;: &quot;lockbit&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;lockbit&quot;, &quot;target&quot;: &quot;zachlewis&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;zachlewis&quot;, &quot;target&quot;: &quot;ransomnegotiation&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;ransomnegotiation&quot;, &quot;target&quot;: &quot;lockbit&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;ransomnegotiation&quot;, &quot;target&quot;: &quot;irrecovery&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;lockbit&quot;, &quot;target&quot;: &quot;fbi&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;fbi&quot;, &quot;target&quot;: &quot;irrecovery&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;irrecovery&quot;, &quot;target&quot;: &quot;rapuncel&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;rapuncel&quot;, &quot;target&quot;: &quot;fakerepos&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;fakerepos&quot;, &quot;target&quot;: &quot;lastpass&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;rapuncel&quot;, &quot;target&quot;: &quot;lastpass&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;rapuncel&quot;, &quot;target&quot;: &quot;delphoslabs&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;delphoslabs&quot;, &quot;target&quot;: &quot;fakerepos&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;rapuncel&quot;, &quot;target&quot;: &quot;alinubx&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;alinubx&quot;, &quot;target&quot;: &quot;edrevasion&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;alinubx&quot;, &quot;target&quot;: &quot;byovd&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;edrevasion&quot;, &quot;target&quot;: &quot;microsoft&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;edrevasion&quot;, &quot;target&quot;: &quot;secops&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;aisoc&quot;, &quot;target&quot;: &quot;soar&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;soar&quot;, &quot;target&quot;: &quot;secops&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;aisoc&quot;, &quot;target&quot;: &quot;kuppingercole&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;kuppingercole&quot;, &quot;target&quot;: &quot;soar&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;aisoc&quot;, &quot;target&quot;: &quot;gartner&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;aisoc&quot;, &quot;target&quot;: &quot;microsoft&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;aisoc&quot;, &quot;target&quot;: &quot;agenticoverreach&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;agenticoverreach&quot;, &quot;target&quot;: &quot;simspace&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;simspace&quot;, &quot;target&quot;: &quot;leerossey&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;leerossey&quot;, &quot;target&quot;: &quot;agenticoverreach&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;agenticoverreach&quot;, &quot;target&quot;: &quot;aisoc&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;aisoc&quot;, &quot;target&quot;: &quot;detectionmeasurement&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;secops&quot;, &quot;target&quot;: &quot;defenderav&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;defenderav&quot;, &quot;target&quot;: &quot;microsoft&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;defenderav&quot;, &quot;target&quot;: &quot;edrevasion&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;secops&quot;, &quot;target&quot;: &quot;teams&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;teams&quot;, &quot;target&quot;: &quot;microsoft&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;teams&quot;, &quot;target&quot;: &quot;vulnhandling&quot;, &quot;weight&quot;: 2}, {&quot;source&quot;: &quot;mdrmarket&quot;, &quot;target&quot;: &quot;sophos&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;sophos&quot;, &quot;target&quot;: &quot;detectionmeasurement&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;mdrmarket&quot;, &quot;target&quot;: &quot;mind&quot;, &quot;weight&quot;: 5}, {&quot;source&quot;: &quot;mdrmarket&quot;, &quot;target&quot;: &quot;identitytokens&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;mdrmarket&quot;, &quot;target&quot;: &quot;careermarket&quot;, &quot;weight&quot;: 4}, {&quot;source&quot;: &quot;careermarket&quot;, &quot;target&quot;: &quot;halpomeranz&quot;, &quot;weight&quot;: 6}, {&quot;source&quot;: &quot;careermarket&quot;, &quot;target&quot;: &quot;secops&quot;, &quot;weight&quot;: 3}, {&quot;source&quot;: &quot;mind&quot;, &quot;target&quot;: &quot;identitytokens&quot;, &quot;weight&quot;: 3}]};\nconst TYPE_COLORS = {&quot;actor&quot;: &quot;#dc2626&quot;, &quot;malware&quot;: &quot;#991b1b&quot;, &quot;cve&quot;: &quot;#ea580c&quot;, &quot;product&quot;: &quot;#2563eb&quot;, &quot;vendor&quot;: &quot;#16a34a&quot;, &quot;researcher&quot;: &quot;#0d9488&quot;, &quot;person&quot;: &quot;#475569&quot;, &quot;location&quot;: &quot;#7c3aed&quot;, &quot;law&quot;: &quot;#ca8a04&quot;, &quot;campaign&quot;: &quot;#be185d&quot;, &quot;concept&quot;: &quot;#0891b2&quot;, &quot;standard&quot;: &quot;#64748b&quot;};\nconst TYPE_LABELS = {&quot;actor&quot;: &quot;Threat actor \/ APT&quot;, &quot;malware&quot;: &quot;Malware \/ worm&quot;, &quot;cve&quot;: &quot;CVE \/ vulnerability&quot;, &quot;product&quot;: &quot;Product \/ platform&quot;, &quot;vendor&quot;: &quot;Vendor \/ company&quot;, &quot;researcher&quot;: &quot;Researcher \/ source&quot;, &quot;person&quot;: &quot;Person&quot;, &quot;location&quot;: &quot;Country \/ region&quot;, &quot;law&quot;: &quot;Regulator \/ law enforcement&quot;, &quot;campaign&quot;: &quot;Campaign \/ event&quot;, &quot;concept&quot;: &quot;Theme \/ stat&quot;, &quot;standard&quot;: &quot;Standard \/ framework&quot;};\n\nconst wrap = document.getElementById(&#x27;canvas-wrap&#x27;);\nconst svg = d3.select(&#x27;#canvas&#x27;);\nlet width = wrap.clientWidth, height = wrap.clientHeight;\n\nconst g = svg.append(&#x27;g&#x27;);\n\nconst zoom = d3.zoom()\n  .scaleExtent([0.2, 6])\n  .on(&#x27;zoom&#x27;, (event) =&gt; g.attr(&#x27;transform&#x27;, event.transform));\nsvg.call(zoom);\n\ndocument.getElementById(&#x27;zoom-in&#x27;).onclick = () =&gt; svg.transition().duration(200).call(zoom.scaleBy, 1.3);\ndocument.getElementById(&#x27;zoom-out&#x27;).onclick = () =&gt; svg.transition().duration(200).call(zoom.scaleBy, 1\/1.3);\ndocument.getElementById(&#x27;zoom-reset&#x27;).onclick = () =&gt; svg.transition().duration(300).call(zoom.transform, d3.zoomIdentity);\n\nconst maxW = d3.max(DATA.nodes, d =&gt; d.weight) || 1;\nconst rScale = d3.scaleSqrt().domain([1, maxW]).range([8, 34]);\nconst maxEdgeW = d3.max(DATA.links, l =&gt; l.weight) || 1;\nconst edgeScale = d3.scaleLinear().domain([1, maxEdgeW]).range([1, 7]);\n\nconst simulation = d3.forceSimulation(DATA.nodes)\n  .force(&#x27;link&#x27;, d3.forceLink(DATA.links).id(d =&gt; d.id).distance(l =&gt; 90 + 10 * (5 - Math.min(l.weight,5))).strength(0.35))\n  .force(&#x27;charge&#x27;, d3.forceManyBody().strength(-420))\n  .force(&#x27;center&#x27;, d3.forceCenter(width \/ 2, height \/ 2))\n  .force(&#x27;collide&#x27;, d3.forceCollide(d =&gt; rScale(d.weight) + 18));\n\nconst link = g.append(&#x27;g&#x27;).attr(&#x27;class&#x27;, &#x27;links&#x27;)\n  .selectAll(&#x27;line&#x27;).data(DATA.links).join(&#x27;line&#x27;)\n  .attr(&#x27;class&#x27;, &#x27;link&#x27;)\n  .attr(&#x27;stroke-width&#x27;, d =&gt; edgeScale(d.weight));\n\nconst node = g.append(&#x27;g&#x27;).attr(&#x27;class&#x27;, &#x27;nodes&#x27;)\n  .selectAll(&#x27;circle&#x27;).data(DATA.nodes).join(&#x27;circle&#x27;)\n  .attr(&#x27;r&#x27;, d =&gt; rScale(d.weight))\n  .attr(&#x27;fill&#x27;, d =&gt; TYPE_COLORS[d.type] || &#x27;#64748b&#x27;)\n  .attr(&#x27;stroke&#x27;, &#x27;#ffffff&#x27;).attr(&#x27;stroke-width&#x27;, 1.5)\n  .style(&#x27;cursor&#x27;, &#x27;grab&#x27;)\n  .call(d3.drag()\n    .on(&#x27;start&#x27;, (event, d) =&gt; { if (!event.active) simulation.alphaTarget(0.2).restart(); d.fx = d.x; d.fy = d.y; })\n    .on(&#x27;drag&#x27;, (event, d) =&gt; { d.fx = event.x; d.fy = event.y; })\n    .on(&#x27;end&#x27;, (event, d) =&gt; { if (!event.active) simulation.alphaTarget(0); d.fx = null; d.fy = null; }));\n\nconst label = g.append(&#x27;g&#x27;).attr(&#x27;class&#x27;, &#x27;labels&#x27;)\n  .selectAll(&#x27;text&#x27;).data(DATA.nodes).join(&#x27;text&#x27;)\n  .attr(&#x27;class&#x27;, d =&gt; &#x27;node-label&#x27; + (d.weight &gt;= maxW * 0.7 ? &#x27; bold&#x27; : &#x27;&#x27;))\n  .attr(&#x27;dy&#x27;, d =&gt; -(rScale(d.weight) + 6))\n  .attr(&#x27;text-anchor&#x27;, &#x27;middle&#x27;)\n  .text(d =&gt; d.label);\n\nconst tooltip = d3.select(&#x27;#tooltip&#x27;);\nconst tooltipEl = document.getElementById(&#x27;tooltip&#x27;);\nlet hideTimer = null;\n\nfunction escapeHtml(s) {\n  return String(s).replace(\/&amp;\/g, &#x27;&amp;amp;&#x27;).replace(\/&lt;\/g, &#x27;&amp;lt;&#x27;).replace(\/&gt;\/g, &#x27;&amp;gt;&#x27;).replace(\/&quot;\/g, &#x27;&amp;quot;&#x27;);\n}\n\nfunction showTooltip(d) {\n  clearTimeout(hideTimer);\n  let html = &#x27;&lt;div class=&quot;tooltip-head&quot;&gt;&lt;strong&gt;&#x27; + escapeHtml(d.label) + &#x27;&lt;\/strong&gt;&lt;br&gt;&#x27; +\n    escapeHtml(TYPE_LABELS[d.type] || d.type) + &#x27; &amp;middot; &#x27; + d.weight + &#x27; mentions&lt;\/div&gt;&#x27;;\n  const articles = d.articles || [];\n  if (articles.length) {\n    html += &#x27;&lt;div class=&quot;tooltip-articles&quot;&gt;&lt;div class=&quot;tooltip-articles-title&quot;&gt;Related articles&lt;\/div&gt;&#x27; +\n      articles.map(a =&gt; &#x27;&lt;a href=&quot;&#x27; + escapeHtml(a.url) + &#x27;&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&#x27; + escapeHtml(a.title) + &#x27;&lt;\/a&gt;&#x27;).join(&#x27;&#x27;) +\n      &#x27;&lt;\/div&gt;&#x27;;\n  }\n  tooltip.style(&#x27;opacity&#x27;, 1).html(html);\n}\n\nfunction hideTooltipNow() {\n  tooltip.style(&#x27;opacity&#x27;, 0);\n}\n\n\/\/ Hide only when the cursor leaves the WHOLE graph area (canvas + tooltip),\n\/\/ not when it leaves a node&#x27;s small circular hit-area. A per-node mouseout with a\n\/\/ short timer is a race: if the cursor takes even slightly longer than the timer to\n\/\/ travel from the node&#x27;s edge to the tooltip (which can be tall, with a scrollable\n\/\/ article list), it disappears before a click can land. Binding to the wrap&#x27;s\n\/\/ mouseleave instead means the tooltip only closes when you actually leave the graph,\n\/\/ or immediately when you click empty canvas space, or updates in place when you move\n\/\/ to a different node -- all far more forgiving.\nwrap.addEventListener(&#x27;mouseleave&#x27;, hideTooltipNow);\n\nsvg.on(&#x27;click&#x27;, (event) =&gt; {\n  if (event.target === svg.node()) hideTooltipNow();\n});\n\nnode.on(&#x27;mouseover&#x27;, (event, d) =&gt; showTooltip(d))\n  .on(&#x27;mousemove&#x27;, (event) =&gt; {\n    const [mx, my] = d3.pointer(event, wrap);\n    let left = mx + 16, top = my + 8;\n    const maxLeft = wrap.clientWidth - 296, maxTop = wrap.clientHeight - 40;\n    if (left &gt; maxLeft) left = Math.max(8, mx - 296);\n    if (top &gt; maxTop) top = Math.max(8, maxTop);\n    tooltip.style(&#x27;left&#x27;, left + &#x27;px&#x27;).style(&#x27;top&#x27;, top + &#x27;px&#x27;);\n  });\n\nfunction renderPositions() {\n  link.attr(&#x27;x1&#x27;, d =&gt; d.source.x).attr(&#x27;y1&#x27;, d =&gt; d.source.y)\n      .attr(&#x27;x2&#x27;, d =&gt; d.target.x).attr(&#x27;y2&#x27;, d =&gt; d.target.y);\n  node.attr(&#x27;cx&#x27;, d =&gt; d.x).attr(&#x27;cy&#x27;, d =&gt; d.y);\n  label.attr(&#x27;x&#x27;, d =&gt; d.x).attr(&#x27;y&#x27;, d =&gt; d.y);\n}\n\n\/\/ Fit the whole graph inside the visible canvas (accounting for node radius and the\n\/\/ label sitting just above each node) by computing the bounding box of all node\n\/\/ positions and applying a translate+scale transform through the existing zoom\n\/\/ behavior. duration=0 applies it instantly (used on first paint); a duration applies\n\/\/ a smooth transition (used after a resize).\nfunction zoomToFit(duration) {\n  if (!DATA.nodes.length) return;\n  let minX = Infinity, maxX = -Infinity, minY = Infinity, maxY = -Infinity;\n  DATA.nodes.forEach(d =&gt; {\n    const r = rScale(d.weight);\n    minX = Math.min(minX, d.x - r);\n    maxX = Math.max(maxX, d.x + r);\n    minY = Math.min(minY, d.y - r - 24); \/\/ extra headroom for the label above the node\n    maxY = Math.max(maxY, d.y + r);\n  });\n  const graphW = maxX - minX, graphH = maxY - minY;\n  if (graphW &lt;= 0 || graphH &lt;= 0) return;\n  const fitFraction = 0.9; \/\/ leave a small margin so edge nodes\/labels aren&#x27;t flush against the frame\n  const scale = Math.max(0.2, Math.min(2, fitFraction \/ Math.max(graphW \/ width, graphH \/ height)));\n  const tx = width \/ 2 - scale * (minX + maxX) \/ 2;\n  const ty = height \/ 2 - scale * (minY + maxY) \/ 2;\n  const transform = d3.zoomIdentity.translate(tx, ty).scale(scale);\n  if (duration &gt; 0) {\n    svg.transition().duration(duration).call(zoom.transform, transform);\n  } else {\n    svg.call(zoom.transform, transform);\n  }\n}\n\n\/\/ Pre-settle the force layout synchronously (no on-screen animation) so the very\n\/\/ first paint already shows a converged graph that&#x27;s fully framed by zoomToFit,\n\/\/ instead of nodes flying in from D3&#x27;s random initial scatter with the view\n\/\/ potentially clipping some of them before things settle.\nconst PRESETTLE_TICKS = 300;\nsimulation.stop();\nfor (let i = 0; i &lt; PRESETTLE_TICKS; i++) simulation.tick();\nrenderPositions();\nzoomToFit(0);\n\nsimulation.on(&#x27;tick&#x27;, renderPositions);\n\n\/\/ Legend: only show entity types actually present in this map.\nconst typesPresent = Array.from(new Set(DATA.nodes.map(d =&gt; d.type)));\nconst legend = document.getElementById(&#x27;legend&#x27;);\nlegend.innerHTML = &#x27;&lt;div class=&quot;legend-title&quot;&gt;Entity types&lt;\/div&gt;&#x27; + typesPresent.map(t =&gt;\n  &#x27;&lt;div class=&quot;legend-row&quot;&gt;&lt;span class=&quot;legend-dot&quot; style=&quot;background:&#x27; + (TYPE_COLORS[t] || &#x27;#64748b&#x27;) + &#x27;&quot;&gt;&lt;\/span&gt;&#x27; + (TYPE_LABELS[t] || t) + &#x27;&lt;\/div&gt;&#x27;\n).join(&#x27;&#x27;);\n\nwindow.addEventListener(&#x27;resize&#x27;, () =&gt; {\n  width = wrap.clientWidth; height = wrap.clientHeight;\n  simulation.force(&#x27;center&#x27;, d3.forceCenter(width \/ 2, height \/ 2));\n  simulation.alpha(0.3).restart();\n  zoomToFit(400);\n});\n&lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n\" style=\"width:100%;height:82vh;min-height:600px;border:1px solid #e2e8f0;border-radius:8px;\" title=\"Interactive topic map\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"class_list":["post-5929","post","type-post","status-publish","format-standard","hentry","category-security-operations"],"_links":{"self":[{"href":"https:\/\/www.cybersecurityinstitute.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybersecurityinstitute.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybersecurityinstitute.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybersecurityinstitute.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybersecurityinstitute.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5929"}],"version-history":[{"count":1,"href":"https:\/\/www.cybersecurityinstitute.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5929\/revisions"}],"predecessor-version":[{"id":5932,"href":"https:\/\/www.cybersecurityinstitute.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5929\/revisions\/5932"}],"wp:attachment":[{"href":"https:\/\/www.cybersecurityinstitute.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybersecurityinstitute.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybersecurityinstitute.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}