lighthouse 9.5.0-dev.20220814 → 9.5.0-dev.20220817
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/commands/list-locales.js +1 -1
- package/cli/run.js +13 -0
- package/core/config/config-helpers.js +0 -15
- package/core/config/config.js +1 -1
- package/core/config/constants.js +1 -0
- package/core/config/default-config.js +0 -2
- package/core/fraggle-rock/api.js +1 -1
- package/core/fraggle-rock/config/config.js +12 -13
- package/core/fraggle-rock/gather/navigation-runner.js +17 -26
- package/core/fraggle-rock/gather/snapshot-runner.js +4 -5
- package/core/fraggle-rock/gather/timespan-runner.js +4 -5
- package/core/fraggle-rock/replay/stringify-extension.js +105 -0
- package/core/fraggle-rock/user-flow.js +10 -12
- package/core/gather/driver/execution-context.js +19 -2
- package/core/gather/gather-runner.js +1 -1
- package/core/index.js +2 -5
- package/core/lib/asset-saver.js +2 -2
- package/core/lib/cdt/generated/SourceMap.js +113 -27
- package/core/lib/deprecations-strings.js +74 -10
- package/core/lib/network-request.js +1 -0
- package/core/lib/page-functions.js +15 -3
- package/core/lib/traces/{pwmetrics-events.js → metric-trace-events.js} +3 -4
- package/core/runner.js +2 -2
- package/dist/report/bundle.esm.js +1 -14
- package/dist/report/flow.js +28 -27
- package/dist/report/standalone.js +4 -4
- package/flow-report/test/flow-report-pptr-test.ts +1 -1
- package/package.json +6 -5
- package/report/generator/file-namer.js +5 -1
- package/report/generator/flow-report-assets.js +10 -6
- package/report/generator/report-assets.js +8 -5
- package/report/generator/report-generator.js +7 -7
- package/report/generator/tsconfig.json +1 -0
- package/report/test/generator/file-namer-test.js +2 -2
- package/report/test/generator/report-generator-test.js +8 -9
- package/report/test/renderer/report-renderer-axe-test.js +2 -2
- package/report/test/renderer/report-ui-features-test.js +1 -1
- package/shared/localization/format.js +11 -13
- package/shared/localization/i18n-module.js +7 -2
- package/shared/localization/locales/ar-XB.json +0 -21
- package/shared/localization/locales/ar.json +0 -21
- package/shared/localization/locales/bg.json +0 -21
- package/shared/localization/locales/ca.json +0 -21
- package/shared/localization/locales/cs.json +0 -21
- package/shared/localization/locales/da.json +0 -21
- package/shared/localization/locales/de.json +0 -21
- package/shared/localization/locales/el.json +0 -21
- package/shared/localization/locales/en-GB.json +0 -21
- package/shared/localization/locales/en-US.json +13 -22
- package/shared/localization/locales/en-XA.json +0 -21
- package/shared/localization/locales/en-XL.json +13 -22
- package/shared/localization/locales/es-419.json +0 -21
- package/shared/localization/locales/es.json +0 -21
- package/shared/localization/locales/fi.json +0 -21
- package/shared/localization/locales/fil.json +0 -21
- package/shared/localization/locales/fr.json +0 -21
- package/shared/localization/locales/he.json +0 -21
- package/shared/localization/locales/hi.json +0 -21
- package/shared/localization/locales/hr.json +0 -21
- package/shared/localization/locales/hu.json +0 -21
- package/shared/localization/locales/id.json +0 -21
- package/shared/localization/locales/it.json +0 -21
- package/shared/localization/locales/ja.json +0 -21
- package/shared/localization/locales/ko.json +0 -21
- package/shared/localization/locales/lt.json +0 -21
- package/shared/localization/locales/lv.json +0 -21
- package/shared/localization/locales/nl.json +0 -21
- package/shared/localization/locales/no.json +0 -21
- package/shared/localization/locales/pl.json +0 -21
- package/shared/localization/locales/pt-PT.json +0 -21
- package/shared/localization/locales/pt.json +0 -21
- package/shared/localization/locales/ro.json +0 -21
- package/shared/localization/locales/ru.json +0 -21
- package/shared/localization/locales/sk.json +0 -21
- package/shared/localization/locales/sl.json +0 -21
- package/shared/localization/locales/sr-Latn.json +0 -21
- package/shared/localization/locales/sr.json +0 -21
- package/shared/localization/locales/sv.json +0 -21
- package/shared/localization/locales/ta.json +0 -21
- package/shared/localization/locales/te.json +0 -21
- package/shared/localization/locales/th.json +0 -21
- package/shared/localization/locales/tr.json +0 -21
- package/shared/localization/locales/uk.json +0 -21
- package/shared/localization/locales/vi.json +0 -21
- package/shared/localization/locales/zh-HK.json +0 -21
- package/shared/localization/locales/zh-TW.json +0 -21
- package/shared/localization/locales/zh.json +0 -21
- package/shared/localization/locales.js +53 -50
- package/shared/localization/swap-flow-locale.js +6 -2
- package/shared/localization/swap-locale.js +4 -4
- package/shared/test/localization/format-test.js +17 -20
- package/shared/test/localization/locales-test.js +2 -2
- package/shared/test/localization/swap-locale-test.js +3 -2
- package/shared/tsconfig.json +1 -0
- package/shared/type-verifiers.js +1 -1
- package/tsconfig.json +1 -5
- package/types/config.d.ts +0 -13
- package/types/externs.d.ts +1 -1
- package/types/lhr/settings.d.ts +2 -0
- package/types/user-flow.d.ts +1 -1
- package/core/audits/dobetterweb/no-vulnerable-libraries.js +0 -229
- package/report/generator/package.json +0 -4
- package/report/test/generator/package.json +0 -4
- package/shared/package.json +0 -4
- package/third-party/snyk/snapshot.json +0 -182
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
|
|
3
|
-
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
4
|
-
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Audits a page to make sure there are no JS libraries with
|
|
9
|
-
* known vulnerabilities being used. Checks against a vulnerability db
|
|
10
|
-
* provided by Snyk.io and checked in locally as third-party/snyk/snapshot.json
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
'use strict';
|
|
14
|
-
|
|
15
|
-
import fs from 'fs';
|
|
16
|
-
import {Audit} from '../audit.js';
|
|
17
|
-
import {Sentry} from '../../lib/sentry.js';
|
|
18
|
-
import semver from 'semver';
|
|
19
|
-
import * as i18n from '../../lib/i18n/i18n.js';
|
|
20
|
-
import {LH_ROOT} from '../../../root.js';
|
|
21
|
-
|
|
22
|
-
const snykDatabase = JSON.parse(
|
|
23
|
-
fs.readFileSync(`${LH_ROOT}/third-party/snyk/snapshot.json`, 'utf-8'));
|
|
24
|
-
|
|
25
|
-
const UIStrings = {
|
|
26
|
-
/** Title of a Lighthouse audit that provides detail on Javascript libraries the page uses. This descriptive title is shown to users when all Javascript libraries are free of known security vulnerabilities. */
|
|
27
|
-
title: 'Avoids front-end JavaScript libraries' +
|
|
28
|
-
' with known security vulnerabilities',
|
|
29
|
-
/** Title of a Lighthouse audit that provides detail on Javascript libraries the page uses. This descriptive title is shown to users when some detected Javascript libraries have known security vulnerabilities. */
|
|
30
|
-
failureTitle: 'Includes front-end JavaScript libraries' +
|
|
31
|
-
' with known security vulnerabilities',
|
|
32
|
-
/** Description of a Lighthouse audit that tells the user why they should be concerned about the third party Javascript libraries that they use. This is displayed after a user expands the section to see more. No character length limits. 'Learn More' becomes link text to additional documentation. */
|
|
33
|
-
description: 'Some third-party scripts may contain known security vulnerabilities ' +
|
|
34
|
-
'that are easily identified and exploited by attackers. ' +
|
|
35
|
-
'[Learn more about vulnerable libraries](https://web.dev/no-vulnerable-libraries/).',
|
|
36
|
-
/** [ICU Syntax] Label for the audit identifying the number of vulnerable Javascript libraries found. */
|
|
37
|
-
displayValue: `{itemCount, plural,
|
|
38
|
-
=1 {1 vulnerability detected}
|
|
39
|
-
other {# vulnerabilities detected}
|
|
40
|
-
}`,
|
|
41
|
-
/** Label for a column in a data table; entries will be the version numbers of the Javascript libraries found. */
|
|
42
|
-
columnVersion: 'Library Version',
|
|
43
|
-
/** Label for a column in a data table; entries will be the counts of JavaScript-library vulnerabilities found. */
|
|
44
|
-
columnVuln: 'Vulnerability Count',
|
|
45
|
-
/** Label for a column in a data table; entries will be the severity of the vulnerabilities found within a Javascript library. */
|
|
46
|
-
columnSeverity: 'Highest Severity',
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
50
|
-
|
|
51
|
-
const SEMVER_REGEX = /^(\d+\.\d+\.\d+)[^-0-9]+/;
|
|
52
|
-
|
|
53
|
-
/** @type {Record<string, LH.IcuMessage>} */
|
|
54
|
-
const severityStringsMap = {
|
|
55
|
-
'low': str_(i18n.UIStrings.itemSeverityLow),
|
|
56
|
-
'medium': str_(i18n.UIStrings.itemSeverityMedium),
|
|
57
|
-
'high': str_(i18n.UIStrings.itemSeverityHigh),
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
/** @typedef {{npm: Object<string, Array<{id: string, severity: string, semver: {vulnerable: Array<string>}}>>}} SnykDB */
|
|
61
|
-
/** @typedef {{severity: LH.IcuMessage, numericSeverity: number, library: string, url: string}} Vulnerability */
|
|
62
|
-
|
|
63
|
-
class NoVulnerableLibrariesAudit extends Audit {
|
|
64
|
-
/**
|
|
65
|
-
* @return {LH.Audit.Meta}
|
|
66
|
-
*/
|
|
67
|
-
static get meta() {
|
|
68
|
-
return {
|
|
69
|
-
id: 'no-vulnerable-libraries',
|
|
70
|
-
title: str_(UIStrings.title),
|
|
71
|
-
failureTitle: str_(UIStrings.failureTitle),
|
|
72
|
-
description: str_(UIStrings.description),
|
|
73
|
-
requiredArtifacts: ['Stacks'],
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* @return {SnykDB}
|
|
79
|
-
*/
|
|
80
|
-
static get snykDB() {
|
|
81
|
-
return snykDatabase;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* @return {Object<string, number>}
|
|
86
|
-
*/
|
|
87
|
-
static get severityMap() {
|
|
88
|
-
return {
|
|
89
|
-
high: 3,
|
|
90
|
-
medium: 2,
|
|
91
|
-
low: 1,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Attempts to normalize the version.
|
|
97
|
-
* @param {string|undefined} version
|
|
98
|
-
* @return {string|undefined}
|
|
99
|
-
*/
|
|
100
|
-
static normalizeVersion(version) {
|
|
101
|
-
if (!version) return version;
|
|
102
|
-
if (semver.valid(version)) return version;
|
|
103
|
-
|
|
104
|
-
// converts 1.5 -> 1.5.0
|
|
105
|
-
if (/^\d+\.\d+$/.test(version)) return `${version}.0`;
|
|
106
|
-
// converts 1.0.0a-bunch-of-crap -> 1.0.0
|
|
107
|
-
const versionMatch = version.match(SEMVER_REGEX);
|
|
108
|
-
if (versionMatch) return versionMatch[1];
|
|
109
|
-
// leave everything else untouched
|
|
110
|
-
return version;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* @param {string} normalizedVersion
|
|
115
|
-
* @param {LH.Artifacts.DetectedStack} lib
|
|
116
|
-
* @param {SnykDB} snykDB
|
|
117
|
-
* @return {Array<Vulnerability>}
|
|
118
|
-
*/
|
|
119
|
-
static getVulnerabilities(normalizedVersion, lib, snykDB) {
|
|
120
|
-
if (!lib.npm || !snykDB.npm[lib.npm]) {
|
|
121
|
-
return [];
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// Verify the version is well-formed first
|
|
125
|
-
try {
|
|
126
|
-
semver.satisfies(normalizedVersion, '*');
|
|
127
|
-
} catch (err) {
|
|
128
|
-
err.pkgName = lib.npm;
|
|
129
|
-
// Report the failure and skip this library if the version was ill-specified
|
|
130
|
-
Sentry.captureException(err, {level: 'warning'});
|
|
131
|
-
return [];
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// Match the vulnerability candidates from snyk against the version we see in the page
|
|
135
|
-
const vulnCandidatesForLib = snykDB.npm[lib.npm];
|
|
136
|
-
const matchingVulns = vulnCandidatesForLib.filter(vulnCandidate => {
|
|
137
|
-
// Each snyk vulnerability comes with an array of semver ranges
|
|
138
|
-
// The page is vulnerable if any of the ranges match.
|
|
139
|
-
const hasMatchingVersion = vulnCandidate.semver.vulnerable.some(vulnSemverRange =>
|
|
140
|
-
semver.satisfies(normalizedVersion, vulnSemverRange)
|
|
141
|
-
);
|
|
142
|
-
return hasMatchingVersion;
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
const vulns = matchingVulns.map(vuln => {
|
|
146
|
-
return {
|
|
147
|
-
severity: severityStringsMap[vuln.severity],
|
|
148
|
-
numericSeverity: this.severityMap[vuln.severity],
|
|
149
|
-
library: `${lib.name}@${normalizedVersion}`,
|
|
150
|
-
url: 'https://snyk.io/vuln/' + vuln.id,
|
|
151
|
-
};
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
return vulns;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* @param {Array<Vulnerability>} vulnerabilities
|
|
159
|
-
* @return {LH.IcuMessage}
|
|
160
|
-
*/
|
|
161
|
-
static highestSeverity(vulnerabilities) {
|
|
162
|
-
const sortedVulns = vulnerabilities
|
|
163
|
-
.sort((a, b) => b.numericSeverity - a.numericSeverity);
|
|
164
|
-
return sortedVulns[0].severity;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* @param {LH.Artifacts} artifacts
|
|
169
|
-
* @return {LH.Audit.Product}
|
|
170
|
-
*/
|
|
171
|
-
static audit(artifacts) {
|
|
172
|
-
const foundLibraries = artifacts.Stacks.filter(stack => stack.detector === 'js');
|
|
173
|
-
const snykDB = NoVulnerableLibrariesAudit.snykDB;
|
|
174
|
-
|
|
175
|
-
if (!foundLibraries.length) {
|
|
176
|
-
return {
|
|
177
|
-
score: 1,
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
let totalVulns = 0;
|
|
182
|
-
/** @type {Array<{highestSeverity: LH.IcuMessage, vulnCount: number, detectedLib: LH.Audit.Details.LinkValue}>} */
|
|
183
|
-
const vulnerabilityResults = [];
|
|
184
|
-
|
|
185
|
-
for (const lib of foundLibraries) {
|
|
186
|
-
const version = this.normalizeVersion(lib.version) || '';
|
|
187
|
-
const vulns = this.getVulnerabilities(version, lib, snykDB);
|
|
188
|
-
const vulnCount = vulns.length;
|
|
189
|
-
totalVulns += vulnCount;
|
|
190
|
-
|
|
191
|
-
let highestSeverity;
|
|
192
|
-
if (vulns.length > 0) {
|
|
193
|
-
highestSeverity = this.highestSeverity(vulns);
|
|
194
|
-
|
|
195
|
-
vulnerabilityResults.push({
|
|
196
|
-
highestSeverity,
|
|
197
|
-
vulnCount,
|
|
198
|
-
detectedLib: {
|
|
199
|
-
text: lib.name + '@' + version,
|
|
200
|
-
url: `https://snyk.io/vuln/npm:${lib.npm}?lh=${version}&utm_source=lighthouse&utm_medium=ref&utm_campaign=audit`,
|
|
201
|
-
type: 'link',
|
|
202
|
-
},
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
let displayValue;
|
|
208
|
-
if (totalVulns > 0) {
|
|
209
|
-
displayValue = str_(UIStrings.displayValue, {itemCount: totalVulns});
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/** @type {LH.Audit.Details.Table['headings']} */
|
|
213
|
-
const headings = [
|
|
214
|
-
{key: 'detectedLib', itemType: 'link', text: str_(UIStrings.columnVersion)},
|
|
215
|
-
{key: 'vulnCount', itemType: 'text', text: str_(UIStrings.columnVuln)},
|
|
216
|
-
{key: 'highestSeverity', itemType: 'text', text: str_(UIStrings.columnSeverity)},
|
|
217
|
-
];
|
|
218
|
-
const details = Audit.makeTableDetails(headings, vulnerabilityResults, {});
|
|
219
|
-
|
|
220
|
-
return {
|
|
221
|
-
score: Number(totalVulns === 0),
|
|
222
|
-
displayValue,
|
|
223
|
-
details,
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
export default NoVulnerableLibrariesAudit;
|
|
229
|
-
export {UIStrings};
|
package/shared/package.json
DELETED
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"npm":{
|
|
3
|
-
"@angular/core":[
|
|
4
|
-
{"id":"SNYK-JS-ANGULARCORE-1070902","severity":"low","semver":{"vulnerable":["<11.0.5",">=11.1.0-next.0 <11.1.0-next.3"]}}
|
|
5
|
-
],
|
|
6
|
-
"angular":[
|
|
7
|
-
{"id":"SNYK-JS-ANGULAR-572020","severity":"high","semver":{"vulnerable":["<1.8.0"]}},
|
|
8
|
-
{"id":"SNYK-JS-ANGULAR-570058","severity":"medium","semver":{"vulnerable":["<1.8.0"]}},
|
|
9
|
-
{"id":"SNYK-JS-ANGULAR-534884","severity":"high","semver":{"vulnerable":[">=1.4.0-beta.6 <1.7.9"]}},
|
|
10
|
-
{"id":"SNYK-JS-ANGULAR-471885","severity":"medium","semver":{"vulnerable":["<1.6.3"]}},
|
|
11
|
-
{"id":"SNYK-JS-ANGULAR-471882","severity":"medium","semver":{"vulnerable":["<1.6.5"]}},
|
|
12
|
-
{"id":"SNYK-JS-ANGULAR-471879","severity":"medium","semver":{"vulnerable":["<1.6.0-rc.0"]}},
|
|
13
|
-
{"id":"npm:angular:20180202","severity":"medium","semver":{"vulnerable":["<1.6.9"]}},
|
|
14
|
-
{"id":"npm:angular:20171018","severity":"medium","semver":{"vulnerable":["<1.6.7"]}},
|
|
15
|
-
{"id":"npm:angular:20160527","severity":"medium","semver":{"vulnerable":[">=1.0.0 <1.2.30"]}},
|
|
16
|
-
{"id":"npm:angular:20160122","severity":"medium","semver":{"vulnerable":[">=1.3.0 <1.5.0-rc.2"]}},
|
|
17
|
-
{"id":"npm:angular:20140608","severity":"low","semver":{"vulnerable":["<1.3.0"]}},
|
|
18
|
-
{"id":"npm:angular:20131113","severity":"high","semver":{"vulnerable":["<1.2.2"]}},
|
|
19
|
-
{"id":"npm:angular:20140908","severity":"medium","semver":{"vulnerable":["<1.3.0-rc.5"]}},
|
|
20
|
-
{"id":"npm:angular:20161101","severity":"medium","semver":{"vulnerable":[">=1.5.0 <1.5.9"]}},
|
|
21
|
-
{"id":"npm:angular:20150909","severity":"high","semver":{"vulnerable":["<1.5.0-beta.2"]}},
|
|
22
|
-
{"id":"npm:angular:20151205","severity":"medium","semver":{"vulnerable":["<1.5.0-rc.0"]}},
|
|
23
|
-
{"id":"npm:angular:20151130","severity":"medium","semver":{"vulnerable":["<1.4.10"]}},
|
|
24
|
-
{"id":"npm:angular:20130622","severity":"medium","semver":{"vulnerable":[">=1.0.0 <1.2.0"]}},
|
|
25
|
-
{"id":"npm:angular:20150807-1","severity":"medium","semver":{"vulnerable":[">=1.3.1 <1.5.0-beta.0"]}},
|
|
26
|
-
{"id":"npm:angular:20150807","severity":"high","semver":{"vulnerable":[">=1.0.0 <1.5.0-beta.0"]}},
|
|
27
|
-
{"id":"npm:angular:20150315","severity":"medium","semver":{"vulnerable":["<1.6.1"]}},
|
|
28
|
-
{"id":"npm:angular:20150310","severity":"high","semver":{"vulnerable":["<1.4.0-beta.6"]}},
|
|
29
|
-
{"id":"npm:angular:20141104","severity":"medium","semver":{"vulnerable":["<1.3.2"]}},
|
|
30
|
-
{"id":"npm:angular:20130621","severity":"medium","semver":{"vulnerable":["<1.2.0"]}},
|
|
31
|
-
{"id":"npm:angular:20140909","severity":"high","semver":{"vulnerable":[">=1.2.19 <1.2.27"]}},
|
|
32
|
-
{"id":"npm:angular:20130625","severity":"high","semver":{"vulnerable":["<1.1.5"]}}
|
|
33
|
-
],
|
|
34
|
-
"backbone":[
|
|
35
|
-
{"id":"npm:backbone:20160523","severity":"medium","semver":{"vulnerable":["<0.1.2"]}},
|
|
36
|
-
{"id":"npm:backbone:20110701","severity":"medium","semver":{"vulnerable":["<0.5.0"]}}
|
|
37
|
-
],
|
|
38
|
-
"bootstrap":[
|
|
39
|
-
{"id":"SNYK-JS-BOOTSTRAP-173700","severity":"medium","semver":{"vulnerable":["<3.4.1",">=4.0.0 <4.3.1"]}},
|
|
40
|
-
{"id":"SNYK-JS-BOOTSTRAP-73560","severity":"medium","semver":{"vulnerable":[">=4.0.0 <4.1.2"]}},
|
|
41
|
-
{"id":"SNYK-JS-BOOTSTRAP-72890","severity":"medium","semver":{"vulnerable":["<3.4.0"]}},
|
|
42
|
-
{"id":"SNYK-JS-BOOTSTRAP-72889","severity":"medium","semver":{"vulnerable":["<3.4.0"]}},
|
|
43
|
-
{"id":"npm:bootstrap:20180529","severity":"medium","semver":{"vulnerable":["<3.4.0",">=4.0.0 <4.1.2"]}},
|
|
44
|
-
{"id":"npm:bootstrap:20160627","severity":"medium","semver":{"vulnerable":["<3.4.0",">=4.0.0-alpha <4.0.0-beta.2"]}},
|
|
45
|
-
{"id":"npm:bootstrap:20120510","severity":"medium","semver":{"vulnerable":["<2.1.0"]}}
|
|
46
|
-
],
|
|
47
|
-
"dojo":[
|
|
48
|
-
{"id":"SNYK-JS-DOJO-1535223","severity":"high","semver":{"vulnerable":["<1.17.0"]}},
|
|
49
|
-
{"id":"SNYK-JS-DOJO-559224","severity":"medium","semver":{"vulnerable":["<1.11.10",">=1.12.1 <1.12.8",">=1.13.0 <1.13.7",">=1.14.0 <1.14.6",">=1.15.0 <1.15.3",">=1.16.0 <1.16.2"]}},
|
|
50
|
-
{"id":"SNYK-JS-DOJO-174934","severity":"medium","semver":{"vulnerable":[">=1.0.0 <1.0.3",">=1.1.0 <1.1.2",">=1.2.0 <1.2.4",">=1.3.0 <1.3.3",">=1.4.0 <1.4.2"]}},
|
|
51
|
-
{"id":"SNYK-JS-DOJO-174933","severity":"medium","semver":{"vulnerable":["<1.2.0"]}},
|
|
52
|
-
{"id":"SNYK-JS-DOJO-72305","severity":"medium","semver":{"vulnerable":[">=1.14.0-pre <1.14.0",">=1.13.0 <1.13.1",">=1.12.1 <1.12.4",">=1.11.0-rc1 <1.11.6","<1.10.10"]}},
|
|
53
|
-
{"id":"npm:dojo:20180818","severity":"medium","semver":{"vulnerable":["<1.10.10",">=1.11.0 <1.11.6",">=1.12.0 <1.12.4",">=1.13.0 <1.13.1"]}},
|
|
54
|
-
{"id":"npm:dojo:20100614-6","severity":"medium","semver":{"vulnerable":["<1.4.2"]}},
|
|
55
|
-
{"id":"npm:dojo:20100614","severity":"medium","semver":{"vulnerable":[">=0.4.0 <0.4.4",">=1.0.0 <1.0.3",">=1.1.0 <1.1.2",">=1.2.0 <1.2.4",">=1.3.0 <1.3.3",">=1.4.0 <1.4.2"]}}
|
|
56
|
-
],
|
|
57
|
-
"foundation-sites":[
|
|
58
|
-
{"id":"npm:foundation-sites:20170802","severity":"medium","semver":{"vulnerable":["<6.0.0"]}},
|
|
59
|
-
{"id":"npm:foundation-sites:20150619","severity":"medium","semver":{"vulnerable":["<5.5.3"]}},
|
|
60
|
-
{"id":"npm:foundation-sites:20120717","severity":"medium","semver":{"vulnerable":[">=3.0.0 <3.0.6"]}}
|
|
61
|
-
],
|
|
62
|
-
"google-closure-library":[
|
|
63
|
-
{"id":"SNYK-JS-GOOGLECLOSURELIBRARY-561341","severity":"medium","semver":{"vulnerable":["<20200315.0.0"]}},
|
|
64
|
-
{"id":"SNYK-JS-GOOGLECLOSURELIBRARY-174519","severity":"medium","semver":{"vulnerable":[">=20190121.0.0 <20190301.0.0"]}}
|
|
65
|
-
],
|
|
66
|
-
"gsap":[
|
|
67
|
-
{"id":"SNYK-JS-GSAP-1054614","severity":"high","semver":{"vulnerable":["<3.6.0"]}}
|
|
68
|
-
],
|
|
69
|
-
"handlebars":[
|
|
70
|
-
{"id":"SNYK-JS-HANDLEBARS-1279029","severity":"medium","semver":{"vulnerable":["<4.7.7"]}},
|
|
71
|
-
{"id":"SNYK-JS-HANDLEBARS-1056767","severity":"high","semver":{"vulnerable":["<4.7.7"]}},
|
|
72
|
-
{"id":"SNYK-JS-HANDLEBARS-567742","severity":"medium","semver":{"vulnerable":["<4.6.0"]}},
|
|
73
|
-
{"id":"SNYK-JS-HANDLEBARS-534988","severity":"critical","semver":{"vulnerable":[">=4.0.0 <4.5.3","<3.0.8"]}},
|
|
74
|
-
{"id":"SNYK-JS-HANDLEBARS-534478","severity":"high","semver":{"vulnerable":[">=4.0.0 <4.5.3","<3.0.8"]}},
|
|
75
|
-
{"id":"SNYK-JS-HANDLEBARS-480388","severity":"high","semver":{"vulnerable":[">=4.0.0 <4.4.5"]}},
|
|
76
|
-
{"id":"SNYK-JS-HANDLEBARS-469063","severity":"high","semver":{"vulnerable":[">=4.0.0 <4.3.0","<3.8.0"]}},
|
|
77
|
-
{"id":"SNYK-JS-HANDLEBARS-174183","severity":"high","semver":{"vulnerable":[">=3.0.0 <3.0.7",">=4.1.0 <4.1.2",">=4.0.0 <4.0.14"]}},
|
|
78
|
-
{"id":"SNYK-JS-HANDLEBARS-173692","severity":"high","semver":{"vulnerable":["<4.0.14",">=4.1.0 <4.1.2"]}},
|
|
79
|
-
{"id":"npm:handlebars:20151207","severity":"medium","semver":{"vulnerable":["<4.0.0"]}},
|
|
80
|
-
{"id":"npm:handlebars:20110425","severity":"medium","semver":{"vulnerable":["<=1.0.0-beta.3"]}}
|
|
81
|
-
],
|
|
82
|
-
"highcharts":[
|
|
83
|
-
{"id":"SNYK-JS-HIGHCHARTS-1290057","severity":"medium","semver":{"vulnerable":["<9.0.0"]}},
|
|
84
|
-
{"id":"SNYK-JS-HIGHCHARTS-1018906","severity":"medium","semver":{"vulnerable":["<9.0.0"]}},
|
|
85
|
-
{"id":"SNYK-JS-HIGHCHARTS-571995","severity":"high","semver":{"vulnerable":["<7.2.2",">=8.0.0 <8.1.1"]}},
|
|
86
|
-
{"id":"npm:highcharts:20180225","severity":"high","semver":{"vulnerable":["<6.1.0"]}}
|
|
87
|
-
],
|
|
88
|
-
"jquery":[
|
|
89
|
-
{"id":"SNYK-JS-JQUERY-569619","severity":"medium","semver":{"vulnerable":["<1.9.0"]}},
|
|
90
|
-
{"id":"SNYK-JS-JQUERY-567880","severity":"medium","semver":{"vulnerable":[">=1.2.0 <3.5.0"]}},
|
|
91
|
-
{"id":"SNYK-JS-JQUERY-565129","severity":"medium","semver":{"vulnerable":[">=1.5.1 <3.5.0"]}},
|
|
92
|
-
{"id":"SNYK-JS-JQUERY-174006","severity":"medium","semver":{"vulnerable":["<3.4.0"]}},
|
|
93
|
-
{"id":"npm:jquery:20160529","severity":"low","semver":{"vulnerable":[">=3.0.0-rc1 <3.0.0"]}},
|
|
94
|
-
{"id":"npm:jquery:20150627","severity":"medium","semver":{"vulnerable":["<1.12.2",">=1.12.3 <2.2.0",">=2.2.3 <3.0.0"]}},
|
|
95
|
-
{"id":"npm:jquery:20140902","severity":"medium","semver":{"vulnerable":[">=1.4.2 <1.6.2"]}},
|
|
96
|
-
{"id":"npm:jquery:20120206","severity":"medium","semver":{"vulnerable":["<1.9.1"]}},
|
|
97
|
-
{"id":"npm:jquery:20110606","severity":"medium","semver":{"vulnerable":["<1.6.3"]}}
|
|
98
|
-
],
|
|
99
|
-
"jquery-mobile":[
|
|
100
|
-
{"id":"SNYK-JS-JQUERYMOBILE-174599","severity":"medium","semver":{"vulnerable":["<=1.5.0-alpha.1"]}},
|
|
101
|
-
{"id":"npm:jquery-mobile:20120802","severity":"medium","semver":{"vulnerable":["<1.2.0"]}}
|
|
102
|
-
],
|
|
103
|
-
"jquery-ui":[
|
|
104
|
-
{"id":"SNYK-JS-JQUERYUI-1767767","severity":"high","semver":{"vulnerable":["<1.13.0"]}},
|
|
105
|
-
{"id":"SNYK-JS-JQUERYUI-1767175","severity":"high","semver":{"vulnerable":["<1.13.0"]}},
|
|
106
|
-
{"id":"SNYK-JS-JQUERYUI-1767167","severity":"high","semver":{"vulnerable":["<1.13.0"]}},
|
|
107
|
-
{"id":"npm:jquery-ui:20121127","severity":"medium","semver":{"vulnerable":["<1.10.0"]}},
|
|
108
|
-
{"id":"npm:jquery-ui:20100903","severity":"medium","semver":{"vulnerable":["<1.10.0"]}},
|
|
109
|
-
{"id":"npm:jquery-ui:20160721","severity":"high","semver":{"vulnerable":["<1.12.0"]}}
|
|
110
|
-
],
|
|
111
|
-
"knockout":[
|
|
112
|
-
{"id":"npm:knockout:20180213","severity":"medium","semver":{"vulnerable":["<3.5.0-beta"]}},
|
|
113
|
-
{"id":"npm:knockout:20130701","severity":"medium","semver":{"vulnerable":[">=2.1.0-pre <3.0.0"]}}
|
|
114
|
-
],
|
|
115
|
-
"lodash":[
|
|
116
|
-
{"id":"SNYK-JS-LODASH-1040724","severity":"high","semver":{"vulnerable":["<4.17.21"]}},
|
|
117
|
-
{"id":"SNYK-JS-LODASH-1018905","severity":"medium","semver":{"vulnerable":["<4.17.21"]}},
|
|
118
|
-
{"id":"SNYK-JS-LODASH-608086","severity":"high","semver":{"vulnerable":["<4.17.17"]}},
|
|
119
|
-
{"id":"SNYK-JS-LODASH-567746","severity":"high","semver":{"vulnerable":["<4.17.20"]}},
|
|
120
|
-
{"id":"SNYK-JS-LODASH-450202","severity":"high","semver":{"vulnerable":["<4.17.12"]}},
|
|
121
|
-
{"id":"SNYK-JS-LODASH-73639","severity":"medium","semver":{"vulnerable":["<4.17.11"]}},
|
|
122
|
-
{"id":"SNYK-JS-LODASH-73638","severity":"high","semver":{"vulnerable":["<4.17.11"]}},
|
|
123
|
-
{"id":"npm:lodash:20180130","severity":"medium","semver":{"vulnerable":["<4.17.5"]}}
|
|
124
|
-
],
|
|
125
|
-
"moment":[
|
|
126
|
-
{"id":"SNYK-JS-MOMENT-2440688","severity":"high","semver":{"vulnerable":["<2.29.2"]}},
|
|
127
|
-
{"id":"npm:moment:20170905","severity":"low","semver":{"vulnerable":["<2.19.3"]}},
|
|
128
|
-
{"id":"npm:moment:20161019","severity":"medium","semver":{"vulnerable":["<2.15.2"]}},
|
|
129
|
-
{"id":"npm:moment:20160126","severity":"medium","semver":{"vulnerable":["<2.11.2"]}}
|
|
130
|
-
],
|
|
131
|
-
"mustache":[
|
|
132
|
-
{"id":"npm:mustache:20151207","severity":"medium","semver":{"vulnerable":["<2.2.1"]}},
|
|
133
|
-
{"id":"npm:mustache:20110814","severity":"medium","semver":{"vulnerable":["< 0.3.1"]}}
|
|
134
|
-
],
|
|
135
|
-
"next":[
|
|
136
|
-
{"id":"SNYK-JS-NEXT-2405694","severity":"medium","semver":{"vulnerable":[">=10.0.0 <12.1.0"]}},
|
|
137
|
-
{"id":"SNYK-JS-NEXT-2388583","severity":"medium","semver":{"vulnerable":[">=12.0.0 <12.0.9"]}},
|
|
138
|
-
{"id":"SNYK-JS-NEXT-2312745","severity":"high","semver":{"vulnerable":[">=12.0.0 <12.0.5",">=11.1.0 <11.1.3"]}},
|
|
139
|
-
{"id":"SNYK-JS-NEXT-1577139","severity":"medium","semver":{"vulnerable":[">=10.0.0 <11.1.1"]}},
|
|
140
|
-
{"id":"SNYK-JS-NEXT-1540422","severity":"medium","semver":{"vulnerable":["<11.1.0"]}},
|
|
141
|
-
{"id":"SNYK-JS-NEXT-1063481","severity":"medium","semver":{"vulnerable":[">=9.5.0 <9.5.4"]}},
|
|
142
|
-
{"id":"SNYK-JS-NEXT-571938","severity":"high","semver":{"vulnerable":["<5.1.0"]}},
|
|
143
|
-
{"id":"SNYK-JS-NEXT-561584","severity":"medium","semver":{"vulnerable":["<9.3.2"]}},
|
|
144
|
-
{"id":"SNYK-JS-NEXT-174590","severity":"high","semver":{"vulnerable":["<2.4.1"]}},
|
|
145
|
-
{"id":"SNYK-JS-NEXT-72454","severity":"medium","semver":{"vulnerable":[">=7.0.0 <7.0.2"]}},
|
|
146
|
-
{"id":"npm:next:20180124","severity":"high","semver":{"vulnerable":["<4.2.3"]}},
|
|
147
|
-
{"id":"npm:next:20170607","severity":"medium","semver":{"vulnerable":["<2.4.3"]}},
|
|
148
|
-
{"id":"npm:next:20170601","severity":"high","semver":{"vulnerable":["<2.4.1",">=3.0.0-beta1 <3.0.0-beta7"]}}
|
|
149
|
-
],
|
|
150
|
-
"react":[
|
|
151
|
-
{"id":"npm:react:20150318","severity":"high","semver":{"vulnerable":[">=0.0.1 <0.14.0"]}},
|
|
152
|
-
{"id":"npm:react:20131217","severity":"medium","semver":{"vulnerable":[">=0.5.0 <0.5.2",">=0.4.0 <0.4.2"]}}
|
|
153
|
-
],
|
|
154
|
-
"riot":[
|
|
155
|
-
{"id":"npm:riot:20131114","severity":"medium","semver":{"vulnerable":["<0.9.6"]}}
|
|
156
|
-
],
|
|
157
|
-
"socket.io":[
|
|
158
|
-
{"id":"SNYK-JS-SOCKETIO-1024859","severity":"medium","semver":{"vulnerable":["<2.4.0"]}},
|
|
159
|
-
{"id":"npm:socket.io:20120417","severity":"medium","semver":{"vulnerable":["<0.9.6"]}},
|
|
160
|
-
{"id":"npm:socket.io:20120323","severity":"medium","semver":{"vulnerable":["<0.9.7"]}}
|
|
161
|
-
],
|
|
162
|
-
"three":[
|
|
163
|
-
{"id":"SNYK-JS-THREE-1064931","severity":"high","semver":{"vulnerable":["<0.125.0"]}}
|
|
164
|
-
],
|
|
165
|
-
"underscore":[
|
|
166
|
-
{"id":"SNYK-JS-UNDERSCORE-1080984","severity":"medium","semver":{"vulnerable":[">=1.13.0-0 <1.13.0-2",">=1.3.2 <1.12.1"]}}
|
|
167
|
-
],
|
|
168
|
-
"vue":[
|
|
169
|
-
{"id":"npm:vue:20170829","severity":"medium","semver":{"vulnerable":["<2.4.3"]}},
|
|
170
|
-
{"id":"npm:vue:20170401","severity":"medium","semver":{"vulnerable":["<2.3.0-beta.1"]}},
|
|
171
|
-
{"id":"npm:vue:20180802","severity":"medium","semver":{"vulnerable":["<2.5.17"]}},
|
|
172
|
-
{"id":"npm:vue:20180222","severity":"low","semver":{"vulnerable":["<2.5.14"]}}
|
|
173
|
-
],
|
|
174
|
-
"yui":[
|
|
175
|
-
{"id":"npm:yui:20130604","severity":"medium","semver":{"vulnerable":[">=3.0.0 <3.10.1","=3.10.2"]}},
|
|
176
|
-
{"id":"npm:yui:20130515","severity":"medium","semver":{"vulnerable":["<3.10.0 >=3.0.0"]}},
|
|
177
|
-
{"id":"npm:yui:20121030","severity":"medium","semver":{"vulnerable":["<3.0.0 >=2.4.0"]}},
|
|
178
|
-
{"id":"npm:yui:20120428","severity":"medium","semver":{"vulnerable":["<3.5.1 >=3.5.0-PR1"]}},
|
|
179
|
-
{"id":"npm:yui:20101025","severity":"medium","semver":{"vulnerable":["<2.8.2 >=2.4.0"]}}
|
|
180
|
-
]
|
|
181
|
-
}
|
|
182
|
-
}
|