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;
}
}