Search

Filtering Basics

Filtering

Explore relations between malware and their vulnerabilities.

Filtering Basics
View live example →

This demo illustrates the benefits of using filters to improve the clarity and understanding of relations in a chart.

The dataset shows the web of relations between malware (exploit kits) and the vulnerabilities they exploit. Each vulnerability is colour coded to the class of technology they relate to.

You can select one or more technology categories and the chart filters the data, presenting only relevant exploits and malware families.

As well as discovery of patterns, the resulting chart can provide a powerful way to communicate the risks an organisation may be exposed to from unpatched or vulnerable platforms and technologies.

Data from

https://contagiodump.blogspot.co.uk/

with permission and thanks.

Key functions used:

import KeyLines from "keylines";
import { data } from "./data.js";

let chart;

async function filterItems(exploitsToShow, allCheckboxes) {
  function isExploitChecked(item) {
    // Ensure malware nodes are always shown
    return item.d.type === "malware" || exploitsToShow.includes(item.d.product);
  }
  // filter out the subsets that aren't selected
  await chart.filter(isExploitChecked, { type: "node" });
  // finish with a layout
  chart.layout("structural");
  // re-enable checkboxes now that filtering is complete
  allCheckboxes.forEach((checkbox) => {
    checkbox.disabled = false;
  });
}

function findSelection(checkboxes) {
  // disable the legend to prevent asynchronous calls
  checkboxes.forEach((checkbox) => {
    checkbox.disabled = true;
  });
  // find checked boxes and put into a new array
  const checkedBoxes = [...checkboxes]
    .filter((checkbox) => checkbox.checked)
    .map((checkbox) => checkbox.id);
  filterItems(checkedBoxes, checkboxes);
}

function initialiseInteractions() {
  // Set up event listener for the legend
  const legendCheckboxes = document.querySelectorAll('input[type="checkbox"]');
  legendCheckboxes.forEach((checkbox) => {
    checkbox.addEventListener("click", () => findSelection(legendCheckboxes));
  });
}

async function loadKeyLines() {
  const options = {
    logo: { u: "/public/images/Logo.png" },
    handMode: true,
  };
  chart = await KeyLines.create({ container: "klchart", options });
  chart.load(data);
  chart.layout("structural");
  // set up user interactions
  initialiseInteractions();
}

window.addEventListener("DOMContentLoaded", loadKeyLines);
export const data = {
  type: "LinkChart",
  items: [
    {
      id: "Hanjuan",
      type: "node",
      t: "Hanjuan",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=hanjuan",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Angler",
      type: "node",
      t: "Angler",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=angler",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Archie",
      type: "node",
      t: "Archie",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=archie",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Astrum",
      type: "node",
      t: "Astrum",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=astrum",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Bleeding life",
      type: "node",
      t: "Bleeding life",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=bleeding life",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Dotkachef",
      type: "node",
      t: "Dotkachef",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=dotkachef",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "CkVip",
      type: "node",
      t: "CkVip",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=ckvip",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Fiesta",
      type: "node",
      t: "Fiesta",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=fiesta",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Flash",
      type: "node",
      t: "Flash",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=flash",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "GongDa",
      type: "node",
      t: "GongDa",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=gongda",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Infinity",
      type: "node",
      t: "Infinity",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=infinity",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "LightsOut",
      type: "node",
      t: "LightsOut",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=lightsout",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Magnitude",
      type: "node",
      t: "Magnitude",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=magnitude",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Neutrino",
      type: "node",
      t: "Neutrino",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=neutrino",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Niteris",
      type: "node",
      t: "Niteris",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=niteris",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Nuclear",
      type: "node",
      t: "Nuclear",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=nuclear",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Nuclear 3.x",
      type: "node",
      t: "Nuclear 3.x",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=nuclear 3.x",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "NullHole",
      type: "node",
      t: "NullHole",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=nullhole",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Rig",
      type: "node",
      t: "Rig",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=rig",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Sednit",
      type: "node",
      t: "Sednit",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=sednit",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Styx",
      type: "node",
      t: "Styx",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=styx",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "SweetOrange",
      type: "node",
      t: "SweetOrange",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=sweetorange",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Nuclear 2.2",
      type: "node",
      t: "Nuclear 2.2",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=nuclear 2.2",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Nuclear 2.1",
      type: "node",
      t: "Nuclear 2.1",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=nuclear 2.1",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Nuclear 2.0",
      type: "node",
      t: "Nuclear 2.0",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=nuclear 2.0",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Redkit 2.x",
      type: "node",
      t: "Redkit 2.x",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=redkit 2.x",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Redkit Light",
      type: "node",
      t: "Redkit Light",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=redkit light",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Neo Sploit",
      type: "node",
      t: "Neo Sploit",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=neo sploit",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "FlashPack (child of SafePack / CritXPack/ Vintage Pack)",
      type: "node",
      t: "FlashPack (child of SafePack / CritXPack/ Vintage Pack)",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=flashpack (child of safepack / critxpack/ vintage pack)",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Safe Pack",
      type: "node",
      t: "Safe Pack",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=safe pack",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "White Lotus",
      type: "node",
      t: "White Lotus",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=white lotus",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Popads",
      type: "node",
      t: "Popads",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=popads",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Net Boom NB Exploiter",
      type: "node",
      t: "Net Boom NB Exploiter",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=net boom nb exploiter",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Blackhole (last)*",
      type: "node",
      t: "Blackhole (last)*",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=blackhole (last)*",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Crimeboss",
      type: "node",
      t: "Crimeboss",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=crimeboss",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Sakura",
      type: "node",
      t: "Sakura",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=sakura",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "LightsOut",
      type: "node",
      t: "LightsOut",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=lightsout",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Glazunov",
      type: "node",
      t: "Glazunov",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=glazunov",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "Rawin",
      type: "node",
      t: "Rawin",
      d: {
        url: "https://www.microsoft.com/security/portal/threat/encyclopedia/search.aspx?page=1&showall=False&sortby=relevance&sortdir=desc&size=10&query=rawin",
        type: "malware",
      },
      u: "/public/images/exploitkits/malware.png",
    },
    {
      id: "CVE-2010-0188",
      type: "node",
      t: "CVE-2010-0188",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2010-0188",
        product: "adobe",
        type: "cve",
      },
      c: "#f781bf",
    },
    {
      id: "CVE-2010-0188-Astrum",
      id1: "CVE-2010-0188",
      id2: "Astrum",
      type: "link",
      d: { product: "adobe" },
      c: "#f781bf",
    },
    {
      id: "CVE-2010-0188-Nuclear",
      id1: "CVE-2010-0188",
      id2: "Nuclear",
      type: "link",
      d: { product: "adobe" },
      c: "#f781bf",
    },
    {
      id: "CVE-2010-0188-Nuclear 3.x",
      id1: "CVE-2010-0188",
      id2: "Nuclear 3.x",
      type: "link",
      d: { product: "adobe" },
      c: "#f781bf",
    },
    {
      id: "CVE-2010-0188-Nuclear 2.2",
      id1: "CVE-2010-0188",
      id2: "Nuclear 2.2",
      type: "link",
      d: { product: "adobe" },
      c: "#f781bf",
    },
    {
      id: "CVE-2010-0188-Nuclear 2.1",
      id1: "CVE-2010-0188",
      id2: "Nuclear 2.1",
      type: "link",
      d: { product: "adobe" },
      c: "#f781bf",
    },
    {
      id: "CVE-2010-0188-Nuclear 2.0",
      id1: "CVE-2010-0188",
      id2: "Nuclear 2.0",
      type: "link",
      d: { product: "adobe" },
      c: "#f781bf",
    },
    {
      id: "CVE-2010-0188-Blackhole (last)*",
      id1: "CVE-2010-0188",
      id2: "Blackhole (last)*",
      type: "link",
      d: { product: "adobe" },
      c: "#f781bf",
    },
    {
      id: "CVE-2011-3402",
      type: "node",
      t: "CVE-2011-3402",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2011-3402",
        product: "windows",
        type: "cve",
      },
      c: "#999999",
    },
    {
      id: "CVE-2011-3402-Magnitude",
      id1: "CVE-2011-3402",
      id2: "Magnitude",
      type: "link",
      d: { product: "windows" },
      c: "#999999",
    },
    {
      id: "CVE-2011-3402-Nuclear 2.0",
      id1: "CVE-2011-3402",
      id2: "Nuclear 2.0",
      type: "link",
      d: { product: "windows" },
      c: "#999999",
    },
    {
      id: "CVE-2011-3402-Blackhole (last)*",
      id1: "CVE-2011-3402",
      id2: "Blackhole (last)*",
      type: "link",
      d: { product: "windows" },
      c: "#999999",
    },
    {
      id: "CVE-2011-3544",
      type: "node",
      t: "CVE-2011-3544",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2011-3544",
        product: "java",
        type: "cve",
      },
      c: "#FFD903",
    },
    {
      id: "CVE-2011-3544-Bleeding life",
      id1: "CVE-2011-3544",
      id2: "Bleeding life",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2011-3544-Nuclear 2.1",
      id1: "CVE-2011-3544",
      id2: "Nuclear 2.1",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2011-3544-White Lotus",
      id1: "CVE-2011-3544",
      id2: "White Lotus",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2011-3544-Crimeboss",
      id1: "CVE-2011-3544",
      id2: "Crimeboss",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2011-3544-Sakura",
      id1: "CVE-2011-3544",
      id2: "Sakura",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-0507",
      type: "node",
      t: "CVE-2012-0507",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2012-0507",
        product: "java",
        type: "cve",
      },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-0507-Fiesta",
      id1: "CVE-2012-0507",
      id2: "Fiesta",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-0507-GongDa",
      id1: "CVE-2012-0507",
      id2: "GongDa",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-0507-Magnitude",
      id1: "CVE-2012-0507",
      id2: "Magnitude",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-0507-Nuclear",
      id1: "CVE-2012-0507",
      id2: "Nuclear",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-0507-Rig",
      id1: "CVE-2012-0507",
      id2: "Rig",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-0507-Blackhole (last)*",
      id1: "CVE-2012-0507",
      id2: "Blackhole (last)*",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-0507-Rawin",
      id1: "CVE-2012-0507",
      id2: "Rawin",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1889",
      type: "node",
      t: "CVE-2012-1889",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2011-1889",
        product: "windows",
        type: "cve",
      },
      c: "#999999",
    },
    {
      id: "CVE-2012-1889-GongDa",
      id1: "CVE-2012-1889",
      id2: "GongDa",
      type: "link",
      d: { product: "windows" },
      c: "#999999",
    },
    {
      id: "CVE-2012-5692",
      type: "node",
      t: "CVE-2012-5692",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2012-5692",
        product: "php",
        type: "cve",
      },
      c: "#a65628",
    },
    {
      id: "CVE-2012-5692-Dotkachef",
      id1: "CVE-2012-5692",
      id2: "Dotkachef",
      type: "link",
      d: { product: "php" },
      c: "#a65628",
    },
    {
      id: "CVE-2012-1723",
      type: "node",
      t: "CVE-2012-1723",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2012-1723",
        product: "java",
        type: "cve",
      },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-Bleeding life",
      id1: "CVE-2012-1723",
      id2: "Bleeding life",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-LightsOut",
      id1: "CVE-2012-1723",
      id2: "LightsOut",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-Nuclear",
      id1: "CVE-2012-1723",
      id2: "Nuclear",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-Nuclear 3.x",
      id1: "CVE-2012-1723",
      id2: "Nuclear 3.x",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-SweetOrange",
      id1: "CVE-2012-1723",
      id2: "SweetOrange",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-Nuclear 2.2",
      id1: "CVE-2012-1723",
      id2: "Nuclear 2.2",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-Nuclear 2.1",
      id1: "CVE-2012-1723",
      id2: "Nuclear 2.1",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-Neo Sploit",
      id1: "CVE-2012-1723",
      id2: "Neo Sploit",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-Safe Pack",
      id1: "CVE-2012-1723",
      id2: "Safe Pack",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-Blackhole (last)*",
      id1: "CVE-2012-1723",
      id2: "Blackhole (last)*",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2012-1723-LightsOut",
      id1: "CVE-2012-1723",
      id2: "LightsOut",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2013-0025",
      type: "node",
      t: "CVE-2013-0025",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2013-0025",
        product: "ie",
        type: "cve",
      },
      c: "#1f78b4",
    },
    {
      id: "CVE-2013-0025-Rig",
      id1: "CVE-2013-0025",
      id2: "Rig",
      type: "link",
      d: { product: "ie" },
      c: "#1f78b4",
    },
    {
      id: "CVE-2013-0074",
      type: "node",
      t: "CVE-2013-0074",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2013-0074",
        product: "silverlight",
        type: "cve",
      },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-0074-Hanjuan",
      id1: "CVE-2013-0074",
      id2: "Hanjuan",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-0074-Angler",
      id1: "CVE-2013-0074",
      id2: "Angler",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-0074-Archie",
      id1: "CVE-2013-0074",
      id2: "Archie",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-0074-Astrum",
      id1: "CVE-2013-0074",
      id2: "Astrum",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-0074-Fiesta",
      id1: "CVE-2013-0074",
      id2: "Fiesta",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-0074-Infinity",
      id1: "CVE-2013-0074",
      id2: "Infinity",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-0074-Neutrino",
      id1: "CVE-2013-0074",
      id2: "Neutrino",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-0074-Nuclear",
      id1: "CVE-2013-0074",
      id2: "Nuclear",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-0074-Rig",
      id1: "CVE-2013-0074",
      id2: "Rig",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-0074-FlashPack (child of SafePack / CritXPack/ Vintage Pack)",
      id1: "CVE-2013-0074",
      id2: "FlashPack (child of SafePack / CritXPack/ Vintage Pack)",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-3896",
      type: "node",
      t: "CVE-2013-3896",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2013-3896",
        product: "silverlight",
        type: "cve",
      },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-3896-Angler",
      id1: "CVE-2013-3896",
      id2: "Angler",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-3896-Astrum",
      id1: "CVE-2013-3896",
      id2: "Astrum",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-3896-Fiesta",
      id1: "CVE-2013-3896",
      id2: "Fiesta",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2013-3896-FlashPack (child of SafePack / CritXPack/ Vintage Pack)",
      id1: "CVE-2013-3896",
      id2: "FlashPack (child of SafePack / CritXPack/ Vintage Pack)",
      type: "link",
      d: { product: "silverlight" },
      c: "#a6cee3",
    },
    {
      id: "CVE-2012-3993",
      type: "node",
      t: "CVE-2012-3993",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2012-3993",
        product: "firefox",
        type: "cve",
      },
      c: "#ff7f00",
    },
    {
      id: "CVE-2012-3993-Niteris",
      id1: "CVE-2012-3993",
      id2: "Niteris",
      type: "link",
      d: { product: "firefox" },
      c: "#ff7f00",
    },
    {
      id: "CVE-2013-0422",
      type: "node",
      t: "CVE-2013-0422",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2013-0422",
        product: "java",
        type: "cve",
      },
      c: "#FFD903",
    },
    {
      id: "CVE-2013-0422-GongDa",
      id1: "CVE-2013-0422",
      id2: "GongDa",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2013-0422-Niteris",
      id1: "CVE-2013-0422",
      id2: "Niteris",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2013-0422-Nuclear 3.x",
      id1: "CVE-2013-0422",
      id2: "Nuclear 3.x",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2013-0422-Nuclear 2.2",
      id1: "CVE-2013-0422",
      id2: "Nuclear 2.2",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2013-0422-Blackhole (last)*",
      id1: "CVE-2013-0422",
      id2: "Blackhole (last)*",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2013-0422-Crimeboss",
      id1: "CVE-2013-0422",
      id2: "Crimeboss",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2013-0422-Sakura",
      id1: "CVE-2013-0422",
      id2: "Sakura",
      type: "link",
      d: { product: "java" },
      c: "#FFD903",
    },
    {
      id: "CVE-2013-0634",
      type: "node",
      t: "CVE-2013-0634",
      d: {
        url: "http://www.cvedetails.com/cve/CVE-2013-0634",
        product: "flash",
        type: "cve",
      },
      c: "#e41a1c",
    },

// ...truncated 1705 lines
<!doctype html>
<html lang="en" style="background-color: #2d383f">
  <head>
    <meta charset="utf-8" />
    <title>Filtering Basics</title>
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/keylines.css" />
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/minimalsdk.css" />
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/sdk-layout.css" />
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/demo.css" />
    <link rel="stylesheet" href="./style.css" />
  </head>
  <body>
    <div id="klchart" class="klchart"></div>
    <script type="module" src="./code.js"></script>
  </body>
</html>
.toggle-content::-webkit-scrollbar {
  display: none;
}
.toggle-content {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
dl {
  margin-bottom: 50px;
}

dl dt {
  color: #fff;
  float: left;
  font-weight: bold;
  margin-left: 0px;
  margin-right: 10px;
  padding: 3px;
  width: 22px;
  height: 22px;
  -webkit-border-radius: 22px;
  -moz-border-radius: 22px;
  border-radius: 22px;
  line-height: 12px;
}

dl dd {
  margin: 2px 0;
  padding: 5px 0;
  line-height: 12px;
  font-size: 12px;
}

/* Legend Colours */
.firefox dt {
  background-color: #ff7f00;
}
.chrome dt {
  background-color: #4daf4a;
}
.ie dt {
  background-color: #1f78b4;
}
.flash dt {
  background-color: #e41a1c;
}
.silverlight dt {
  background-color: #a6cee3;
}
.java dt {
  background-color: #ffd903;
}
.windows dt {
  background-color: #999999;
}
.php dt {
  background-color: #a65628;
}
.adobe dt {
  background-color: #f781bf;
}

.highlight {
  font-weight: bold;
}

#htmlModal {
  -webkit-touch-callout: text;
  -webkit-user-select: text;
  -khtml-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

#tooltip.popover {
  max-width: 500px;
}

.reduce-bottom-margin {
  margin-bottom: -55px;
}
.tab-content-panel:-webkit-scrollbar {
  display: none;
}

.increase-bottom-margin {
  margin-bottom: 25px;
}

dl input {
  margin-top: 5px;
}

@media (max-width: 979px) {
  dl dt {
    margin-left: -4px;
    margin-right: 3px;
  }
}

@media (max-width: 767px) {
  label dd {
    max-width: 79.5px;
    margin-top: -5px;
  }
  .half-span h5 {
    height: 40px;
  }
}

Terms of use

These terms do not alter or supersede any existing agreements between you (or your employer) and us.

By accessing or using any Content you agree to be bound by these Terms of Use. Please review these terms carefully before using the website.

The contents of this website, including but not limited to any text, code samples, API references, schemas, interactive tools, and other materials (collectively, the 'Content'), are made available for informational and internal evaluation purposes only. All intellectual property rights in the Content are reserved. No licence is granted to use the Content for any commercial purpose, or to copy, distribute, modify, reverse-engineer, or incorporate any part of the Content into any product or service, without our prior written consent.

This Content is provided “as is” and “as available,” without any representations, warranties, or guarantees of any kind, whether express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, non-infringement, or accuracy. To the fullest extent permitted by applicable law, we expressly exclude and disclaim all implied warranties, conditions, and other terms that might otherwise be implied.

We disclaim all liability for any loss or damage, whether direct, indirect, incidental, consequential, or otherwise, arising from any reliance placed on the Content or from your use of it, to the fullest extent permitted by applicable law. By continuing to access or use the Content, you acknowledge and agree to these terms.