From e82612708e209274d0295f4129591ebeef403d00 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Wed, 5 Jun 2024 19:21:19 +0200 Subject: [PATCH 01/45] added new controller for reports --- .../Controllers/DependeciesController.cs | 51 +++++----- .../Controllers/ReportsController.cs | 95 +++++++++++++++++++ .../Packages/{NodePackage.cs => Package.cs} | 6 +- ...{NodePackageResult.cs => PackageResult.cs} | 6 +- code/AmIVulnerable/Modells/Project.cs | 6 ++ .../AmIVulnerable/Modells/SimpleReportLine.cs | 19 ++++ 6 files changed, 152 insertions(+), 31 deletions(-) create mode 100644 code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs rename code/AmIVulnerable/Modells/Packages/{NodePackage.cs => Package.cs} (71%) rename code/AmIVulnerable/Modells/Packages/{NodePackageResult.cs => PackageResult.cs} (72%) create mode 100644 code/AmIVulnerable/Modells/Project.cs create mode 100644 code/AmIVulnerable/Modells/SimpleReportLine.cs diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/DependeciesController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/DependeciesController.cs index bc1de8a..81bec8c 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/DependeciesController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/DependeciesController.cs @@ -13,6 +13,7 @@ namespace AmIVulnerable.Controllers { [Route("api/[controller]")] [ApiController] + public class DependeciesController : ControllerBase { #region Config @@ -43,7 +44,7 @@ public IActionResult ExtractDependencies([FromQuery] ProjectType projectType, ExecuteCommand("npm", "install", projectGuid.ToString()); ExecuteCommand("rm", "tree.json", projectGuid.ToString()); ExecuteCommand("npm", "list --all --json >> tree.json", projectGuid.ToString()); - List resTree = ExtractTree(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/tree.json"); + List resTree = ExtractTree(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/tree.json"); F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/depTree.json", JsonConvert.SerializeObject(resTree)); JsonLdObject resultAsJsonLd = new JsonLdObject() { @@ -79,8 +80,8 @@ public async Task ExtractAndAnalyzeTreeAsync([FromQuery] ProjectT ExecuteCommand("npm", "install", projectGuid.ToString()); ExecuteCommand("rm", "tree.json", projectGuid.ToString()); ExecuteCommand("npm", "list --all --json >> tree.json", projectGuid.ToString()); - List depTree = ExtractTree(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/tree.json"); - List resTree = await AnalyzeTreeAsync(depTree) ?? []; + List depTree = ExtractTree(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/tree.json"); + List resTree = await AnalyzeTreeAsync(depTree) ?? []; if (resTree.Count != 0) { JsonLdObject resultAsJsonLd = new JsonLdObject() { Context = "https://localhost:7203/views/nodePackageResult", @@ -121,13 +122,13 @@ private void ExecuteCommand(string prog, string command, string dir) { /// /// File path to rawAnalyze/tree.json /// List of vulnerable packages. - private List ExtractTree(string filePath) { - List packages = []; + private List ExtractTree(string filePath) { + List packages = []; using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(filePath))) { if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && dependenciesElement.ValueKind == JsonValueKind.Object) { foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { - NodePackage nodePackage = ExtractDependencyInfo(dependency); + Package nodePackage = ExtractDependencyInfo(dependency); packages.Add(nodePackage); } @@ -141,8 +142,8 @@ private List ExtractTree(string filePath) { /// /// Dependency that is searched for sundependencies and versions. /// NodePackage with all found dependencies and versions. - private NodePackage ExtractDependencyInfo(JsonProperty dependency) { - NodePackage nodePackage = new NodePackage { + private Package ExtractDependencyInfo(JsonProperty dependency) { + Package nodePackage = new Package { Name = dependency.Name }; if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && @@ -152,7 +153,7 @@ private NodePackage ExtractDependencyInfo(JsonProperty dependency) { if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && subDependenciesElement.ValueKind == JsonValueKind.Object) { foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { - NodePackage subNodePackage = ExtractDependencyInfo(subDependency); + Package subNodePackage = ExtractDependencyInfo(subDependency); nodePackage.Dependencies.Add(subNodePackage); } } @@ -165,12 +166,12 @@ private NodePackage ExtractDependencyInfo(JsonProperty dependency) { /// /// List of all top level node packages. /// List of NodePackageResult. - private async Task> AnalyzeTreeAsync(List depTree) { + private async Task> AnalyzeTreeAsync(List depTree) { List> nodePackages = []; // preperation list - foreach (NodePackage x in depTree) { - List y = AnalyzeSubtree(x); - foreach (NodePackage z in y) { + foreach (Package x in depTree) { + List y = AnalyzeSubtree(x); + foreach (Package z in y) { Tuple tuple = new Tuple(z.Name, z.Version); if (!nodePackages.Contains(tuple)) { nodePackages.Add(tuple); @@ -208,9 +209,9 @@ private NodePackage ExtractDependencyInfo(JsonProperty dependency) { if (cveResults.Count == 0) { return null; } - List resulstList = []; - foreach (NodePackage x in depTree) { - NodePackageResult? temp = CheckVulnerabilities(x, cveResults); + List resulstList = []; + foreach (Package x in depTree) { + PackageResult? temp = CheckVulnerabilities(x, cveResults); if (temp is not null) { resulstList.Add(temp); } @@ -223,9 +224,9 @@ private NodePackage ExtractDependencyInfo(JsonProperty dependency) { /// /// Node package to search /// List of all node package dependencies of a single node package. - private List AnalyzeSubtree(NodePackage nodePackage) { - List res = []; - foreach (NodePackage x in nodePackage.Dependencies) { + private List AnalyzeSubtree(Package nodePackage) { + List res = []; + foreach (Package x in nodePackage.Dependencies) { res.AddRange(AnalyzeSubtree(x)); } res.Add(nodePackage); @@ -238,13 +239,13 @@ private List AnalyzeSubtree(NodePackage nodePackage) { /// Package to search for cve tracked dependencies. /// List of CveResult data. /// NodePackageResult with all dependencies and status if it is a cve tracked dependency. - private NodePackageResult? CheckVulnerabilities(NodePackage package, List cveData) { - NodePackageResult r = new NodePackageResult() { + private PackageResult? CheckVulnerabilities(Package package, List cveData) { + PackageResult r = new PackageResult() { Name = "", isCveTracked = false }; - foreach (NodePackage x in package.Dependencies) { - NodePackageResult? temp = CheckVulnerabilities(x, cveData); + foreach (Package x in package.Dependencies) { + PackageResult? temp = CheckVulnerabilities(x, cveData); if (temp is not null) { r.Dependencies.Add(temp); } @@ -269,8 +270,8 @@ private List AnalyzeSubtree(NodePackage nodePackage) { /// /// /// True if any dependency is tracked. False if no dependencies are tracked. - private bool DepCheck(NodePackageResult package) { - foreach (NodePackageResult x in package.Dependencies) { + private bool DepCheck(PackageResult package) { + foreach (PackageResult x in package.Dependencies) { bool isTracked = DepCheck(x); if (isTracked) { goto isTrue; diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs new file mode 100644 index 0000000..4edc0b4 --- /dev/null +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -0,0 +1,95 @@ +using Microsoft.AspNetCore.Mvc; +using Modells; +using Modells.Packages; +using NuGet.Protocol; +using System.Diagnostics; + +namespace AmIVulnerable.Controllers { + + [Route("api/[controller]")] + [ApiController] + public class ReportsController : ControllerBase { + + /// + /// Generate a SimpleReport for a list of Projects + /// + /// + /// + [HttpPost] + [Route("simpleAnalyseMavenList")] + public IActionResult SimpleAnalyseMavenList([FromBody] List mavenList) { + List simpleReport = []; + foreach (Project maven in mavenList) { + foreach(String tag in maven.Tags) { + List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(maven.ProjectUrl, tag)), "release"); + List depTreeCurrent = AnalyseTree(ExtractTree(MakeTree(maven.ProjectUrl, tag)), "current"); + simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent)); + } + } + return Ok(simpleReport); + } + + /// + /// Make a tree.json file + /// + /// + /// + /// + private string MakeTree(string projectUrl, string Tag) { + ExecuteCommand("mvnw", "install", ""); + return ""; + } + + /// + /// Extract internal representation of tree from tree.json + /// + /// + /// + private List ExtractTree(string treeFilePath) { + return []; + } + + /// + /// Check Package list agains cve data, differentiate between current cve database and past versions through cveVersion + /// + /// + /// + /// + private List AnalyseTree(List packageList, string cveVersion) { + if(cveVersion == "release") { + return []; + + } else if(cveVersion == "current") { + return []; + } + else { + return []; + } + //Needs to compare designations AND versions of Used Packages with Cve + //Compare on cve database at the time AND + //Compare on cve database now + } + + private SimpleReportLine GenerateSimpleReportLine(List releaseVulnerabilitiesList, List currentVulnerabilitiesList) { + return new SimpleReportLine(); + } + + /// + /// Starts a process that runs a command. + /// + /// Programm used for commands + /// Command used for programm + private void ExecuteCommand(string prog, string command, string dir) { + ProcessStartInfo process = new ProcessStartInfo { + FileName = "cmd", + RedirectStandardInput = true, + WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, + }; + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"{prog} {command}"); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + } + } + +} diff --git a/code/AmIVulnerable/Modells/Packages/NodePackage.cs b/code/AmIVulnerable/Modells/Packages/Package.cs similarity index 71% rename from code/AmIVulnerable/Modells/Packages/NodePackage.cs rename to code/AmIVulnerable/Modells/Packages/Package.cs index 19017d9..9f7bb8f 100644 --- a/code/AmIVulnerable/Modells/Packages/NodePackage.cs +++ b/code/AmIVulnerable/Modells/Packages/Package.cs @@ -1,15 +1,15 @@ namespace Modells.Packages { - public class NodePackage { + public class Package { public string Name { get; set; } = ""; public string Version { get; set; } = ""; - public List Dependencies { get; set; } = []; + public List Dependencies { get; set; } = []; public Description Description { get; set; } = new Description(); public CvssV31 CvssV31 { get; set; } = new CvssV31(); /// Empty ctor - public NodePackage() { + public Package() { } } } \ No newline at end of file diff --git a/code/AmIVulnerable/Modells/Packages/NodePackageResult.cs b/code/AmIVulnerable/Modells/Packages/PackageResult.cs similarity index 72% rename from code/AmIVulnerable/Modells/Packages/NodePackageResult.cs rename to code/AmIVulnerable/Modells/Packages/PackageResult.cs index 0e83d1e..0c24123 100644 --- a/code/AmIVulnerable/Modells/Packages/NodePackageResult.cs +++ b/code/AmIVulnerable/Modells/Packages/PackageResult.cs @@ -1,15 +1,15 @@ namespace Modells.Packages { - public class NodePackageResult { + public class PackageResult { public string Name { get; set; } = ""; public string Version { get; set; } = ""; public bool isCveTracked { get; set; } = false; - public List Dependencies { get; set; } = []; + public List Dependencies { get; set; } = []; public Description Description { get; set; } = new Description(); public CvssV31 CvssV31 { get; set; } = new CvssV31(); /// Empty ctor - public NodePackageResult() { + public PackageResult() { } } } diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs new file mode 100644 index 0000000..5db2fa3 --- /dev/null +++ b/code/AmIVulnerable/Modells/Project.cs @@ -0,0 +1,6 @@ +namespace Modells { + public class Project { + public string ProjectUrl { get; set; } = string.Empty; + public List Tags { get; set; } = []; + } +} \ No newline at end of file diff --git a/code/AmIVulnerable/Modells/SimpleReportLine.cs b/code/AmIVulnerable/Modells/SimpleReportLine.cs new file mode 100644 index 0000000..f1e4fcc --- /dev/null +++ b/code/AmIVulnerable/Modells/SimpleReportLine.cs @@ -0,0 +1,19 @@ +namespace Modells { + public class SimpleReportLine { + public string ProjectUrl { get; set; } + public string Tag { get; set; } + public int TotalDirectDependencies { get; set; } + public int TotalDirectAndTransitiveDependencies { get; set; } + public int TotalDirectVulnerabilities { get; set; } + public int TotalDirectAndTransitiveVulnerabilities { get; set; } + public List TransitiveVulnerabilitiesDepth { get; set; } = []; + public int HighestDirectSeverity { get; set; } + public int MyProperty { get; set; } + public HighestTransitiveSeverity HighestTransitiveSeverity { get; set; } = new HighestTransitiveSeverity(); + } + + public class HighestTransitiveSeverity { + public int TransitivityDegree { get; set; } + public int Severity { get; set; } + } +} From ab9e1b6c80439eee7b9f6a131a87c2afdaffebc7 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Fri, 7 Jun 2024 14:33:58 +0200 Subject: [PATCH 02/45] Added clone and checkout --- .../Controllers/ReportsController.cs | 174 ++++++++++++++++-- code/AmIVulnerable/sql/init.sql | 5 +- 2 files changed, 165 insertions(+), 14 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 4edc0b4..c49de60 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -1,7 +1,8 @@ using Microsoft.AspNetCore.Mvc; using Modells; using Modells.Packages; -using NuGet.Protocol; +using MySql.Data.MySqlClient; +using System.Data; using System.Diagnostics; namespace AmIVulnerable.Controllers { @@ -10,34 +11,179 @@ namespace AmIVulnerable.Controllers { [ApiController] public class ReportsController : ControllerBase { + #region Config + + private readonly IConfiguration Configuration; + public ReportsController(IConfiguration configuration) { + Configuration = configuration; + } + + #endregion + + #region Controller + /// /// Generate a SimpleReport for a list of Projects /// /// /// [HttpPost] - [Route("simpleAnalyseMavenList")] - public IActionResult SimpleAnalyseMavenList([FromBody] List mavenList) { + [Route("simpleAnalyseNpmList")] + public async Task SimpleAnalyseNpmList([FromBody] List npmList) { List simpleReport = []; - foreach (Project maven in mavenList) { - foreach(String tag in maven.Tags) { - List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(maven.ProjectUrl, tag)), "release"); - List depTreeCurrent = AnalyseTree(ExtractTree(MakeTree(maven.ProjectUrl, tag)), "current"); + foreach (Modells.Project npm in npmList) { + string dirGuid = await CloneProject(npm); + if (dirGuid.Equals("Err")) { + return BadRequest("Could not clone project!"); + } + foreach(string tag in npm.Tags) { + CheckoutTagProject(tag, dirGuid); + List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(dirGuid)), "release"); + List depTreeCurrent = AnalyseTree(ExtractTree(MakeTree(dirGuid)), "current"); simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent)); } + DeleteProject(dirGuid); } return Ok(simpleReport); } + #endregion + + #region Internal function(s) + + /// + /// + /// + /// + private async Task CloneProject(Modells.Project npm) { + if (npm.ProjectUrl is null) { + return "Err"; + } + + else { // clone the repo + Guid repoId = Guid.NewGuid(); + string trimmedUrl = npm.ProjectUrl[(npm.ProjectUrl.IndexOf("//") + 2)..(npm.ProjectUrl.Length)]; + trimmedUrl = trimmedUrl[(trimmedUrl.IndexOf('/') + 1)..(trimmedUrl.Length)]; + string owner = trimmedUrl[0..trimmedUrl.IndexOf('/', 1)]; + string designation = trimmedUrl[(owner.Length + 1)..trimmedUrl.Length]; + if (designation.Contains('/')) { + designation = designation[0..trimmedUrl.IndexOf('/', owner.Length + 1)]; + } + + ExecuteMySqlCommand($"" + + $"INSERT INTO cve.repositories (guid, repoUrl, repoOwner, repoDesignation) " + + $"VALUES (" + + $"'{repoId}'," + + $"'{npm.ProjectUrl}'," + + $"'{owner}'," + + $"'{designation});"); + + await Clone(npm.ProjectUrl, repoId.ToString()); + return repoId.ToString(); + } + } + + /// + /// Clone a git repository. + /// + /// URL of git project to clone. + /// Tag of git project. + /// Directory where to clone project into. + /// + private static async Task Clone(string url, string dir) { + try { + await Task.Run(() => { + if (Directory.Exists(dir)) { + RemoveReadOnlyAttribute(dir); + Directory.Delete(dir, true); + } + Process.Start("git", $"clone {url} {dir}"); + }); + } + catch (Exception ex) { + await Console.Out.WriteLineAsync(ex.StackTrace); + } + } + + /// + /// Removes read only access of files. + /// + /// File path to folder where all read only attributes of files need to be removed. + private static void RemoveReadOnlyAttribute(string path) { + DirectoryInfo directoryInfo = new DirectoryInfo(path); + + foreach (FileInfo file in directoryInfo.GetFiles()) { + file.Attributes &= ~FileAttributes.ReadOnly; + } + + foreach (DirectoryInfo subDirectory in directoryInfo.GetDirectories()) { + RemoveReadOnlyAttribute(subDirectory.FullName); + } + } + + private DataTable ExecuteMySqlCommand(string command) { + // MySql Connection + MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + MySqlCommand cmd = new MySqlCommand(command, connection); + DataTable dataTable = new DataTable(); + connection.Open(); + + MySqlDataReader reader = cmd.ExecuteReader(); + dataTable.Load(reader); + connection.Close(); + return dataTable; + } + + /// + /// + /// + /// + private bool CheckoutTagProject(string tag, string dir) { + try { + ProcessStartInfo process = new ProcessStartInfo { + FileName = "bash", + RedirectStandardInput = true, + WorkingDirectory = $"{dir}", + }; + + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"git " + $"checkout {tag}"); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + + return true; + } + catch (Exception ex) { + Console.WriteLine("Error with clone, tag?\n" + ex.Message); + return false; + } + } + + /// + /// + /// + /// + private void DeleteProject(string dir) { + if(Directory.Exists(dir)) { + RemoveReadOnlyAttribute(dir); + Directory.Delete(dir, true); + + //dir is guid (folder named after guid) + ExecuteMySqlCommand($"DELETE FROM cve.repositories WHERE guid LIKE '{dir}';"); + } + } + /// /// Make a tree.json file /// /// /// - /// - private string MakeTree(string projectUrl, string Tag) { - ExecuteCommand("mvnw", "install", ""); - return ""; + /// File path + private string MakeTree(string dirGuid) { + ExecuteCommand("npm", "install", dirGuid); + ExecuteCommand("rm", "tree.json", dirGuid); + ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); + return "/tree.json"; } /// @@ -46,6 +192,8 @@ private string MakeTree(string projectUrl, string Tag) { /// /// private List ExtractTree(string treeFilePath) { + //dirGuid + treeFilePath + //Use absolute Path for finding tree.json return []; } @@ -57,6 +205,8 @@ private List ExtractTree(string treeFilePath) { /// private List AnalyseTree(List packageList, string cveVersion) { if(cveVersion == "release") { + //Get all dependencies with depth (0 = direct, 1= 1st degree transitive, 2= 2nd degree...) + //Get number of subdependencies for every dependency return []; } else if(cveVersion == "current") { @@ -90,6 +240,8 @@ private void ExecuteCommand(string prog, string command, string dir) { runProcess.StandardInput.WriteLine($"exit"); runProcess.WaitForExit(); } + + #endregion } } diff --git a/code/AmIVulnerable/sql/init.sql b/code/AmIVulnerable/sql/init.sql index 71468ac..4dcb5e5 100644 --- a/code/AmIVulnerable/sql/init.sql +++ b/code/AmIVulnerable/sql/init.sql @@ -42,9 +42,8 @@ DELIMITER ; CREATE TABLE IF NOT EXISTS cve.repositories( guid VARCHAR(36) PRIMARY KEY NOT NULL, repoUrl VARCHAR(500) NOT NULL, - repoOwner VARCHAR(200) NOT NULL, - repoDesignation VARCHAR(300) NOT NULL, - tag VARCHAR(500) DEFAULT '' + repoOwner VARCHAR(200) DEFAULT NULL, + repoDesignation VARCHAR(300) NOT NULL ); CREATE TABLE IF NOT EXISTS cve.reports( From 50367a0dbc10a5b93be3266ea5ae09e090efac2c Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Thu, 13 Jun 2024 19:04:17 +0200 Subject: [PATCH 03/45] finished generating simple report Line --- .../Controllers/ReportsController.cs | 432 +++++++++++++++++- code/AmIVulnerable/Modells/Report.cs | 4 + .../AmIVulnerable/Modells/SimpleReportLine.cs | 28 +- 3 files changed, 427 insertions(+), 37 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index c49de60..4fb8fba 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -2,8 +2,15 @@ using Modells; using Modells.Packages; using MySql.Data.MySqlClient; +using Newtonsoft.Json; +using Org.BouncyCastle.Utilities; +using SerilogTimings; using System.Data; using System.Diagnostics; +using System.Text.Json; +using static Mysqlx.Error.Types; +using F = System.IO.File; +using MP = Modells.Project; namespace AmIVulnerable.Controllers { @@ -29,18 +36,23 @@ public ReportsController(IConfiguration configuration) { /// [HttpPost] [Route("simpleAnalyseNpmList")] - public async Task SimpleAnalyseNpmList([FromBody] List npmList) { + public async Task SimpleAnalyseNpmList([FromBody] List npmList) { List simpleReport = []; - foreach (Modells.Project npm in npmList) { + foreach (MP npm in npmList) { string dirGuid = await CloneProject(npm); if (dirGuid.Equals("Err")) { return BadRequest("Could not clone project!"); } - foreach(string tag in npm.Tags) { - CheckoutTagProject(tag, dirGuid); - List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(dirGuid)), "release"); - List depTreeCurrent = AnalyseTree(ExtractTree(MakeTree(dirGuid)), "current"); - simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent)); + foreach (string tag in npm.Tags) { + // checkot HEAD + // CheckoutTagProject(dirGuid); (Not needed due to always cloning newest commit) + // Use DateTime.Now to use all CVE Data + List depTreeCurrent = AnalyseTree(ExtractTree(MakeTree(dirGuid)), DateTime.Now); + // checkout release tag + CheckoutTagProject(dirGuid, tag); + List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(dirGuid)), GetCommitDateTime(dirGuid)); + + simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent, npm.ProjectUrl, tag)); } DeleteProject(dirGuid); } @@ -138,7 +150,7 @@ private DataTable ExecuteMySqlCommand(string command) { /// /// /// - private bool CheckoutTagProject(string tag, string dir) { + private bool CheckoutTagProject(string dir, string tag = "-") { try { ProcessStartInfo process = new ProcessStartInfo { FileName = "bash", @@ -164,7 +176,7 @@ private bool CheckoutTagProject(string tag, string dir) { /// /// private void DeleteProject(string dir) { - if(Directory.Exists(dir)) { + if (Directory.Exists(dir)) { RemoveReadOnlyAttribute(dir); Directory.Delete(dir, true); @@ -173,6 +185,8 @@ private void DeleteProject(string dir) { } } + #region MakeTree + /// /// Make a tree.json file /// @@ -186,44 +200,389 @@ private string MakeTree(string dirGuid) { return "/tree.json"; } + #endregion + + #region ExtractTree + /// /// Extract internal representation of tree from tree.json /// /// /// private List ExtractTree(string treeFilePath) { - //dirGuid + treeFilePath - //Use absolute Path for finding tree.json - return []; + List packageList = []; + using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(treeFilePath))) { + if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && + dependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { + Package package = ExtractDependencyInfo(dependency); + + packageList.Add(package); + } + } + } + return packageList; + } + + /// + /// Extracts dependencies of a single dependency. + /// + /// Dependency that is searched for sundependencies and versions. + /// NodePackage with all found dependencies and versions. + private Package ExtractDependencyInfo(JsonProperty dependency) { + Package package = new Package { + Name = dependency.Name + }; + if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && + versionElement.ValueKind == JsonValueKind.String) { + package.Version = versionElement.GetString() ?? ""; + } + if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && + subDependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { + Package subPackage = ExtractDependencyInfo(subDependency); + package.Dependencies.Add(subPackage); + } + } + return package; } + #endregion + + #region AnalyseTree + + private record PackageRecord(string designation, string version); + /// /// Check Package list agains cve data, differentiate between current cve database and past versions through cveVersion /// /// - /// + /// /// - private List AnalyseTree(List packageList, string cveVersion) { - if(cveVersion == "release") { - //Get all dependencies with depth (0 = direct, 1= 1st degree transitive, 2= 2nd degree...) - //Get number of subdependencies for every dependency - return []; + private List AnalyseTree(List packages, DateTime commitTime) { + List uniquePackageRecords = []; + foreach (Package package in packages) { + List subPackages = ListSubTreePackages(package); + foreach (Package subPackage in subPackages) { + PackageRecord packageRecord = new PackageRecord(subPackage.Name, subPackage.Version); + if(!uniquePackageRecords.Contains(packageRecord)) { + uniquePackageRecords.Add(packageRecord); + } + } + } + List cveResults = []; + foreach (PackageRecord packageRecord in uniquePackageRecords) { + DataTable dataTableResults = SearchInMySql(packageRecord.designation, commitTime); + // dataTableResult to CveResult + foreach (DataRow dataTableResult in dataTableResults.Rows) { + if(!HasPublishDateTimeBeforeCommitDateTime(dataTableResult, commitTime)) { + continue; + } + CveResult cveResult = new CveResult() { + CveNumber = dataTableResult["cve_number"].ToString() ?? "", + Designation = dataTableResult["designation"].ToString() ?? "", + Version = dataTableResult["version_affected"].ToString() ?? "" + }; + + CVEcomp cVEcomp = JsonConvert.DeserializeObject(dataTableResult["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); + try { + if (cVEcomp.containers.cna.metrics.Count != 0) { + cveResult.CvssV31 = cVEcomp.containers.cna.metrics[0].cvssV3_1; + } + if (cVEcomp.containers.cna.descriptions.Count != 0) { + cveResult.Description = cVEcomp.containers.cna.descriptions[0]; + } + } + finally { + cveResults.Add(cveResult); + } + } + } - } else if(cveVersion == "current") { + if (cveResults.Count == 0) { return []; } + + List packageResults = []; + foreach (Package package in packages) { + PackageResult? packageResult = CheckVulnerabilities(package, cveResults); + if(packageResult is not null) { + packageResults.Add(packageResult); + } + } + return packageResults; + } + + /// + /// Searches for all node package dependencies of a single node package. + /// + /// Package to search + /// List of all node package dependencies of a single node package. + private List ListSubTreePackages(Package package) { + List resultList = []; + foreach (Package x in package.Dependencies) { + resultList.AddRange(ListSubTreePackages(x)); + } + resultList.Add(package); + return resultList; + } + + /// + /// + /// + /// + /// + private DataTable SearchInMySql(string designation, DateTime commitTime) { + + // MySql Connection + MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + + //TODO: Compare DateTime! + //TODO: Compare Version! + MySqlCommand mySqlCommand = new MySqlCommand($"" + + $"SELECT cve_number, designation, version_affected, full_text " + + $"FROM cve.cve " + + $"WHERE designation='{designation}';", connection); + + //TODO: is Operation.TIme this still needed? + DataTable dataTable = new DataTable(); + using (Operation.Time($"Query-Time for Package \"{designation}\"")) { + // read the result + connection.Open(); + MySqlDataReader reader = mySqlCommand.ExecuteReader(); + dataTable.Load(reader); + connection.Close(); + } + return dataTable; + } + + private bool HasPublishDateTimeBeforeCommitDateTime(DataRow row, DateTime commitDateTime) { + CVEcomp cVEcomp = JsonConvert.DeserializeObject(row["full_text"].ToString()!) ?? new CVEcomp(); + try { + if(cVEcomp.containers.cna.datePublic < commitDateTime) { + return true; + } + return false; + + } catch { + return false; + } + } + + private DateTime GetCommitDateTime(string guid) { + ExecuteCommand("git", "log -1 --format=\"%at\" | xargs -I{} date -d @{} +%Y-%m-%dT%H:%M:%S", guid); + return new DateTime(); + } + + + /// + /// Compares node package dependencies with cve data. + /// + /// Package to search for cve tracked dependencies. + /// List of CveResult data. + /// NodePackageResult with all dependencies and status if it is a cve tracked dependency. + private PackageResult? CheckVulnerabilities(Package package, List cveData) { + PackageResult packageResult = new PackageResult() { + Name = "", + isCveTracked = false + }; + foreach (Package x in package.Dependencies) { + PackageResult? temp = CheckVulnerabilities(x, cveData); + if (temp is not null) { + packageResult.Dependencies.Add(temp); + } + } + foreach (CveResult x in cveData) { // check + if (x.Designation.Equals(package.Name)) { + packageResult.isCveTracked = true; + packageResult.CvssV31 = x.CvssV31; + packageResult.Description = x.Description; + } + } + if (packageResult.isCveTracked == false && !DepCheck(packageResult)) { + return null; + } + packageResult.Name = package.Name; + packageResult.Version = package.Version; + return packageResult; + } + + /// + /// If Package is cve tracked, return true. Check all dependencies recursively. + /// + /// + /// True if any dependency is tracked. False if no dependencies are tracked. + private bool DepCheck(PackageResult package) { + foreach (PackageResult packageResult in package.Dependencies) { + bool isTracked = DepCheck(packageResult); + if (isTracked) { + goto isTrue; + } + } + if (package.isCveTracked) { + return true; + } else { - return []; + return false; } - //Needs to compare designations AND versions of Used Packages with Cve - //Compare on cve database at the time AND - //Compare on cve database now + isTrue: + return true; } - private SimpleReportLine GenerateSimpleReportLine(List releaseVulnerabilitiesList, List currentVulnerabilitiesList) { + #endregion + + #region GenerateSimpleReportLine + + private SimpleReportLine GenerateSimpleReportLine(List releaseVulnerabilitiesList, List currentVulnerabilitiesList, string projectUrl, string tag) { + SimpleReportLine simpleReportLine = new SimpleReportLine(); + // Tag and URL + simpleReportLine.ProjectUrl = projectUrl; + simpleReportLine.Tag = tag; + // Num of Dependencies + simpleReportLine.TotalReleaseDirectDependencies = releaseVulnerabilitiesList.Count; + simpleReportLine.TotalReleaseDirectAndTransitiveDependencies = CountDirectAndTransitiveDependencies(releaseVulnerabilitiesList); + simpleReportLine.TotalCurrentDirectDependencies = currentVulnerabilitiesList.Count; + simpleReportLine.TotalCurrentDirectAndTransitiveDependencies = CountDirectAndTransitiveDependencies(currentVulnerabilitiesList); + // Num of Vulnerabilities + simpleReportLine.TotalReleaseDirectVulnerabilities = CountDirectVulnerabilities(releaseVulnerabilitiesList); + simpleReportLine.TotalReleaseDirectAndTransitiveVulnerabilities = CountDirectAndTransitiveVulnerabilities(releaseVulnerabilitiesList); + simpleReportLine.TotalCurrentDirectVulnerabilities = CountDirectVulnerabilities(currentVulnerabilitiesList); + simpleReportLine.TotalCurrentDirectAndTransitiveVulnerabilities = CountDirectAndTransitiveVulnerabilities(currentVulnerabilitiesList); + // Other Metrics + simpleReportLine.releaseVulnerabilitiesDepth = GetTransitiveVulnerabilitiesDepth(releaseVulnerabilitiesList); + simpleReportLine.releaseHighestDirectScore = GetHighestDirectScore(releaseVulnerabilitiesList); + simpleReportLine.currentHighestDirectScore = GetHighestDirectScore(currentVulnerabilitiesList); + simpleReportLine.releaseHighestDirectSeverity = GetHighestDirectSeverity(releaseVulnerabilitiesList); + simpleReportLine.currentHighestDirectSeverity = GetHighestDirectSeverity(currentVulnerabilitiesList); + simpleReportLine.releaseHighestTransitiveScore = GetHighestTransitiveScore(releaseVulnerabilitiesList); + simpleReportLine.currentHighestTransitiveScore = GetHighestTransitiveScore(currentVulnerabilitiesList); return new SimpleReportLine(); } + /// + /// + /// + /// + /// + /// + private int CountDirectAndTransitiveDependencies(List packageResults, int count = 0) { + foreach (PackageResult packageResult in packageResults) { + if(packageResult.Dependencies.Count > 0) { + count += CountDirectAndTransitiveDependencies(packageResult.Dependencies); + } + count += 1; + } + return count; + } + + /// + /// + /// + /// + /// + private int CountDirectVulnerabilities(List packageResults) { + int count = 0; + foreach (PackageResult packageResult in packageResults) { + if (packageResult.isCveTracked) { + count += 1; + } + } + return count; + } + + /// + /// + /// + /// + /// + /// + private int CountDirectAndTransitiveVulnerabilities(List packageResults, int count = 0) { + foreach (PackageResult packageResult in packageResults) { + if (packageResult.Dependencies.Count > 0) { + count += CountDirectAndTransitiveDependencies(packageResult.Dependencies); + } + if (packageResult.isCveTracked) { + count += 1; + } + } + return count; + } + + /// + /// + /// + /// + /// + /// + private List GetTransitiveVulnerabilitiesDepth(List packageResults, int depth = 0) { + List partitionedDepthList= []; + foreach(PackageResult packageResult in packageResults) { + if (packageResult.isCveTracked) { + partitionedDepthList.Add(depth); + } + if(packageResult.Dependencies is not null) { + partitionedDepthList.AddRange(GetTransitiveVulnerabilitiesDepth(packageResult.Dependencies, depth + 1)); + } + } + return partitionedDepthList; + } + + /// + /// + /// + /// + /// + private double GetHighestDirectScore(List packageResults) { + double highestScore = 0.0; + foreach (PackageResult packageResult in packageResults) { + if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseScore != -1 && packageResult.CvssV31.baseScore > highestScore) { + highestScore = packageResult.CvssV31.baseScore; + } + } + return highestScore; + } + + /// + /// + /// + /// + /// + private string GetHighestDirectSeverity(List packageResults) { + string highestSeverity = ""; + foreach (PackageResult packageResult in packageResults) { + if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseSeverity is not null && packageResult.CvssV31.baseSeverity != "HIGH") { + return packageResult.CvssV31.baseSeverity; + } + if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseSeverity == "MEDIUM" ) { + highestSeverity = "MEDIUM"; + continue; + } + highestSeverity = packageResult.CvssV31.baseSeverity; + } + return highestSeverity; + } + + /// + /// + /// + /// + /// + /// + private double GetHighestTransitiveScore(List packageResults, double highestTransitiveScore = 0.0) { + foreach (PackageResult packageResult in packageResults) { + if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseScore != -1 && packageResult.CvssV31.baseScore > highestTransitiveScore) { + highestTransitiveScore = packageResult.CvssV31.baseScore; + } + if (packageResult.Dependencies is not null) { + highestTransitiveScore = GetHighestTransitiveScore(packageResults, highestTransitiveScore); + } + } + return highestTransitiveScore; + } + + #endregion + + /// /// Starts a process that runs a command. /// @@ -241,6 +600,31 @@ private void ExecuteCommand(string prog, string command, string dir) { runProcess.WaitForExit(); } + /// + /// + /// + /// + /// + private DateTime GetTagDateTime(string dir) { + ProcessStartInfo process = new ProcessStartInfo { + FileName = "cmd", + RedirectStandardInput = true, + WorkingDirectory = dir, + RedirectStandardOutput = true, + UseShellExecute = false, + }; + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"git log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\""); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + + string dirtyStringTagDateTime = runProcess.StandardOutput.ReadToEnd(); + int length = "0000-00-00T00:00:00".Length; + int startIndex = dirtyStringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; + string stringTagDateTime = dirtyStringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; + + return DateTime.Parse(stringTagDateTime); + } #endregion } diff --git a/code/AmIVulnerable/Modells/Report.cs b/code/AmIVulnerable/Modells/Report.cs index 84837c7..6216d80 100644 --- a/code/AmIVulnerable/Modells/Report.cs +++ b/code/AmIVulnerable/Modells/Report.cs @@ -12,6 +12,10 @@ public class Report { [JsonPropertyName(nameof(AnalysedRepoTag))] public string? AnalysedRepoTag { get; set; } = null; + /// + [JsonPropertyName(nameof(AnalysedRepoTagDateTime))] + public string? AnalysedRepoTagDateTime { get; set; } = null; + /// [JsonPropertyName(nameof(ReportMetrics))] public object ReportMetrics { get; set; } = new ReportMetric(); diff --git a/code/AmIVulnerable/Modells/SimpleReportLine.cs b/code/AmIVulnerable/Modells/SimpleReportLine.cs index f1e4fcc..3192390 100644 --- a/code/AmIVulnerable/Modells/SimpleReportLine.cs +++ b/code/AmIVulnerable/Modells/SimpleReportLine.cs @@ -2,18 +2,20 @@ public class SimpleReportLine { public string ProjectUrl { get; set; } public string Tag { get; set; } - public int TotalDirectDependencies { get; set; } - public int TotalDirectAndTransitiveDependencies { get; set; } - public int TotalDirectVulnerabilities { get; set; } - public int TotalDirectAndTransitiveVulnerabilities { get; set; } - public List TransitiveVulnerabilitiesDepth { get; set; } = []; - public int HighestDirectSeverity { get; set; } - public int MyProperty { get; set; } - public HighestTransitiveSeverity HighestTransitiveSeverity { get; set; } = new HighestTransitiveSeverity(); - } - - public class HighestTransitiveSeverity { - public int TransitivityDegree { get; set; } - public int Severity { get; set; } + public int TotalReleaseDirectDependencies { get; set; } + public int TotalReleaseDirectAndTransitiveDependencies { get; set; } + public int TotalCurrentDirectDependencies { get; set; } + public int TotalCurrentDirectAndTransitiveDependencies { get; set; } + public int TotalReleaseDirectVulnerabilities { get; set; } + public int TotalReleaseDirectAndTransitiveVulnerabilities { get; set; } + public int TotalCurrentDirectVulnerabilities { get; set; } + public int TotalCurrentDirectAndTransitiveVulnerabilities { get; set; } + public List releaseVulnerabilitiesDepth { get; set; } = []; + public double releaseHighestDirectScore { get; set; } + public double currentHighestDirectScore { get; set; } + public string releaseHighestDirectSeverity { get; set; } + public string currentHighestDirectSeverity { get; set; } + public double releaseHighestTransitiveScore { get; set; } + public double currentHighestTransitiveScore { get; set; } } } From cbf2b4584af7a4f484c97bdce0b60596c8090595 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Mon, 17 Jun 2024 22:33:24 +0200 Subject: [PATCH 04/45] added ReportsController --- .../AmIVulnerable/Controllers/ReportsController.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 4fb8fba..565be83 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -85,9 +85,9 @@ private async Task CloneProject(Modells.Project npm) { ExecuteMySqlCommand($"" + $"INSERT INTO cve.repositories (guid, repoUrl, repoOwner, repoDesignation) " + $"VALUES (" + - $"'{repoId}'," + - $"'{npm.ProjectUrl}'," + - $"'{owner}'," + + $"'{repoId}', " + + $"'{npm.ProjectUrl}', " + + $"'{owner}', " + $"'{designation});"); await Clone(npm.ProjectUrl, repoId.ToString()); From 2f63f32a71d6f7a272a9b1b48c69f43a92b4bb6d Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Tue, 18 Jun 2024 22:00:01 +0200 Subject: [PATCH 05/45] fix v1 --- .../Controllers/ReportsController.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 565be83..d1f5d0e 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Mvc; +using Microsoft.CodeAnalysis; using Modells; using Modells.Packages; using MySql.Data.MySqlClient; @@ -40,6 +41,8 @@ public async Task SimpleAnalyseNpmList([FromBody] List npmLis List simpleReport = []; foreach (MP npm in npmList) { string dirGuid = await CloneProject(npm); + ExecuteCommand("npm", "install", dirGuid); + ExecuteCommand("rm", "tree.json", dirGuid); if (dirGuid.Equals("Err")) { return BadRequest("Could not clone project!"); } @@ -67,7 +70,7 @@ public async Task SimpleAnalyseNpmList([FromBody] List npmLis /// /// /// - private async Task CloneProject(Modells.Project npm) { + private async Task CloneProject(MP npm) { if (npm.ProjectUrl is null) { return "Err"; } @@ -88,7 +91,7 @@ private async Task CloneProject(Modells.Project npm) { $"'{repoId}', " + $"'{npm.ProjectUrl}', " + $"'{owner}', " + - $"'{designation});"); + $"'{designation}');"); await Clone(npm.ProjectUrl, repoId.ToString()); return repoId.ToString(); @@ -109,7 +112,7 @@ await Task.Run(() => { RemoveReadOnlyAttribute(dir); Directory.Delete(dir, true); } - Process.Start("git", $"clone {url} {dir}"); + Process.Start("git", $"clone {url} {dir}").WaitForExit(); }); } catch (Exception ex) { @@ -197,7 +200,7 @@ private string MakeTree(string dirGuid) { ExecuteCommand("npm", "install", dirGuid); ExecuteCommand("rm", "tree.json", dirGuid); ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); - return "/tree.json"; + return dirGuid + "/tree.json"; } #endregion @@ -211,7 +214,7 @@ private string MakeTree(string dirGuid) { /// private List ExtractTree(string treeFilePath) { List packageList = []; - using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(treeFilePath))) { + using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeFilePath))) { if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && dependenciesElement.ValueKind == JsonValueKind.Object) { foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { @@ -590,7 +593,7 @@ private double GetHighestTransitiveScore(List packageResults, dou /// Command used for programm private void ExecuteCommand(string prog, string command, string dir) { ProcessStartInfo process = new ProcessStartInfo { - FileName = "cmd", + FileName = "bash", RedirectStandardInput = true, WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, }; @@ -607,7 +610,7 @@ private void ExecuteCommand(string prog, string command, string dir) { /// private DateTime GetTagDateTime(string dir) { ProcessStartInfo process = new ProcessStartInfo { - FileName = "cmd", + FileName = "bash", RedirectStandardInput = true, WorkingDirectory = dir, RedirectStandardOutput = true, From edbddbfc0495fdd4ac4cd36d6c9a40b9b97a61c4 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Wed, 19 Jun 2024 20:09:54 +0200 Subject: [PATCH 06/45] debugging v2 --- .../Controllers/ReportsController.cs | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index d1f5d0e..2a07800 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -1,15 +1,12 @@ using Microsoft.AspNetCore.Mvc; -using Microsoft.CodeAnalysis; using Modells; using Modells.Packages; using MySql.Data.MySqlClient; using Newtonsoft.Json; -using Org.BouncyCastle.Utilities; using SerilogTimings; using System.Data; using System.Diagnostics; using System.Text.Json; -using static Mysqlx.Error.Types; using F = System.IO.File; using MP = Modells.Project; @@ -21,6 +18,9 @@ public class ReportsController : ControllerBase { #region Config + private readonly static string CLI = "bash"; + private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; + private readonly IConfiguration Configuration; public ReportsController(IConfiguration configuration) { Configuration = configuration; @@ -41,8 +41,6 @@ public async Task SimpleAnalyseNpmList([FromBody] List npmLis List simpleReport = []; foreach (MP npm in npmList) { string dirGuid = await CloneProject(npm); - ExecuteCommand("npm", "install", dirGuid); - ExecuteCommand("rm", "tree.json", dirGuid); if (dirGuid.Equals("Err")) { return BadRequest("Could not clone project!"); } @@ -54,6 +52,8 @@ public async Task SimpleAnalyseNpmList([FromBody] List npmLis // checkout release tag CheckoutTagProject(dirGuid, tag); List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(dirGuid)), GetCommitDateTime(dirGuid)); + //checkout latest commit again for new tag analysis (if done prematurely you end up in detached HEAD state!) + CheckoutTagProject(dirGuid); simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent, npm.ProjectUrl, tag)); } @@ -112,7 +112,7 @@ await Task.Run(() => { RemoveReadOnlyAttribute(dir); Directory.Delete(dir, true); } - Process.Start("git", $"clone {url} {dir}").WaitForExit(); + Process.Start("git", $"clone {url} {AppDomain.CurrentDomain.BaseDirectory + dir}").WaitForExit(); }); } catch (Exception ex) { @@ -156,12 +156,13 @@ private DataTable ExecuteMySqlCommand(string command) { private bool CheckoutTagProject(string dir, string tag = "-") { try { ProcessStartInfo process = new ProcessStartInfo { - FileName = "bash", + FileName = CLI, RedirectStandardInput = true, - WorkingDirectory = $"{dir}", + WorkingDirectory = $"{AppDomain.CurrentDomain.BaseDirectory + dir}", }; Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"git " + "stash"); runProcess.StandardInput.WriteLine($"git " + $"checkout {tag}"); runProcess.StandardInput.WriteLine($"exit"); runProcess.WaitForExit(); @@ -198,7 +199,7 @@ private void DeleteProject(string dir) { /// File path private string MakeTree(string dirGuid) { ExecuteCommand("npm", "install", dirGuid); - ExecuteCommand("rm", "tree.json", dirGuid); + ExecuteCommand(CLI_RM, "tree.json", dirGuid); ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); return dirGuid + "/tree.json"; } @@ -373,7 +374,7 @@ private bool HasPublishDateTimeBeforeCommitDateTime(DataRow row, DateTime commit } private DateTime GetCommitDateTime(string guid) { - ExecuteCommand("git", "log -1 --format=\"%at\" | xargs -I{} date -d @{} +%Y-%m-%dT%H:%M:%S", guid); + ExecuteCommand("git", "log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\"", guid); return new DateTime(); } @@ -459,7 +460,7 @@ private SimpleReportLine GenerateSimpleReportLine(List releaseVul simpleReportLine.currentHighestDirectSeverity = GetHighestDirectSeverity(currentVulnerabilitiesList); simpleReportLine.releaseHighestTransitiveScore = GetHighestTransitiveScore(releaseVulnerabilitiesList); simpleReportLine.currentHighestTransitiveScore = GetHighestTransitiveScore(currentVulnerabilitiesList); - return new SimpleReportLine(); + return simpleReportLine; } /// @@ -593,7 +594,7 @@ private double GetHighestTransitiveScore(List packageResults, dou /// Command used for programm private void ExecuteCommand(string prog, string command, string dir) { ProcessStartInfo process = new ProcessStartInfo { - FileName = "bash", + FileName = CLI, RedirectStandardInput = true, WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, }; @@ -610,7 +611,7 @@ private void ExecuteCommand(string prog, string command, string dir) { /// private DateTime GetTagDateTime(string dir) { ProcessStartInfo process = new ProcessStartInfo { - FileName = "bash", + FileName = CLI, RedirectStandardInput = true, WorkingDirectory = dir, RedirectStandardOutput = true, From d041e6c7fb8af600f4f9d0ec0e3555089a29d0fd Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Thu, 20 Jun 2024 20:18:55 +0200 Subject: [PATCH 07/45] fix v3 --- .../AmIVulnerable/Controllers/ReportsController.cs | 7 +++---- code/AmIVulnerable/Modells/SimpleReportLine.cs | 12 ++++++------ 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 2a07800..4540bee 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -18,7 +18,7 @@ public class ReportsController : ControllerBase { #region Config - private readonly static string CLI = "bash"; + private readonly static string CLI = "cmd"; private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; private readonly IConfiguration Configuration; @@ -374,8 +374,7 @@ private bool HasPublishDateTimeBeforeCommitDateTime(DataRow row, DateTime commit } private DateTime GetCommitDateTime(string guid) { - ExecuteCommand("git", "log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\"", guid); - return new DateTime(); + return GetTagDateTime(guid); } @@ -578,7 +577,7 @@ private double GetHighestTransitiveScore(List packageResults, dou highestTransitiveScore = packageResult.CvssV31.baseScore; } if (packageResult.Dependencies is not null) { - highestTransitiveScore = GetHighestTransitiveScore(packageResults, highestTransitiveScore); + highestTransitiveScore = GetHighestTransitiveScore(packageResult.Dependencies, highestTransitiveScore); } } return highestTransitiveScore; diff --git a/code/AmIVulnerable/Modells/SimpleReportLine.cs b/code/AmIVulnerable/Modells/SimpleReportLine.cs index 3192390..ce16f10 100644 --- a/code/AmIVulnerable/Modells/SimpleReportLine.cs +++ b/code/AmIVulnerable/Modells/SimpleReportLine.cs @@ -4,18 +4,18 @@ public class SimpleReportLine { public string Tag { get; set; } public int TotalReleaseDirectDependencies { get; set; } public int TotalReleaseDirectAndTransitiveDependencies { get; set; } - public int TotalCurrentDirectDependencies { get; set; } - public int TotalCurrentDirectAndTransitiveDependencies { get; set; } public int TotalReleaseDirectVulnerabilities { get; set; } public int TotalReleaseDirectAndTransitiveVulnerabilities { get; set; } - public int TotalCurrentDirectVulnerabilities { get; set; } - public int TotalCurrentDirectAndTransitiveVulnerabilities { get; set; } public List releaseVulnerabilitiesDepth { get; set; } = []; public double releaseHighestDirectScore { get; set; } - public double currentHighestDirectScore { get; set; } public string releaseHighestDirectSeverity { get; set; } - public string currentHighestDirectSeverity { get; set; } public double releaseHighestTransitiveScore { get; set; } + public int TotalCurrentDirectDependencies { get; set; } + public int TotalCurrentDirectAndTransitiveDependencies { get; set; } + public int TotalCurrentDirectVulnerabilities { get; set; } + public int TotalCurrentDirectAndTransitiveVulnerabilities { get; set; } + public double currentHighestDirectScore { get; set; } + public string currentHighestDirectSeverity { get; set; } public double currentHighestTransitiveScore { get; set; } } } From 7d904c01e3d27999a0beceb8b84b71e2c77312d5 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Thu, 20 Jun 2024 21:47:05 +0200 Subject: [PATCH 08/45] fixes v4 --- .../AmIVulnerable/Controllers/ReportsController.cs | 10 ++++++---- code/AmIVulnerable/Modells/SimpleReportLine.cs | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 4540bee..af8178c 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -51,11 +51,12 @@ public async Task SimpleAnalyseNpmList([FromBody] List npmLis List depTreeCurrent = AnalyseTree(ExtractTree(MakeTree(dirGuid)), DateTime.Now); // checkout release tag CheckoutTagProject(dirGuid, tag); - List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(dirGuid)), GetCommitDateTime(dirGuid)); + DateTime commitDateTime = GetCommitDateTime(dirGuid); + List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(dirGuid)), commitDateTime); //checkout latest commit again for new tag analysis (if done prematurely you end up in detached HEAD state!) CheckoutTagProject(dirGuid); - simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent, npm.ProjectUrl, tag)); + simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent, npm.ProjectUrl, tag, commitDateTime)); } DeleteProject(dirGuid); } @@ -436,7 +437,7 @@ private bool DepCheck(PackageResult package) { #region GenerateSimpleReportLine - private SimpleReportLine GenerateSimpleReportLine(List releaseVulnerabilitiesList, List currentVulnerabilitiesList, string projectUrl, string tag) { + private SimpleReportLine GenerateSimpleReportLine(List releaseVulnerabilitiesList, List currentVulnerabilitiesList, string projectUrl, string tag, DateTime commitDateTime) { SimpleReportLine simpleReportLine = new SimpleReportLine(); // Tag and URL simpleReportLine.ProjectUrl = projectUrl; @@ -459,6 +460,7 @@ private SimpleReportLine GenerateSimpleReportLine(List releaseVul simpleReportLine.currentHighestDirectSeverity = GetHighestDirectSeverity(currentVulnerabilitiesList); simpleReportLine.releaseHighestTransitiveScore = GetHighestTransitiveScore(releaseVulnerabilitiesList); simpleReportLine.currentHighestTransitiveScore = GetHighestTransitiveScore(currentVulnerabilitiesList); + simpleReportLine.releaseDateTime = commitDateTime; return simpleReportLine; } @@ -612,7 +614,7 @@ private DateTime GetTagDateTime(string dir) { ProcessStartInfo process = new ProcessStartInfo { FileName = CLI, RedirectStandardInput = true, - WorkingDirectory = dir, + WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, RedirectStandardOutput = true, UseShellExecute = false, }; diff --git a/code/AmIVulnerable/Modells/SimpleReportLine.cs b/code/AmIVulnerable/Modells/SimpleReportLine.cs index ce16f10..5a5c176 100644 --- a/code/AmIVulnerable/Modells/SimpleReportLine.cs +++ b/code/AmIVulnerable/Modells/SimpleReportLine.cs @@ -10,6 +10,7 @@ public class SimpleReportLine { public double releaseHighestDirectScore { get; set; } public string releaseHighestDirectSeverity { get; set; } public double releaseHighestTransitiveScore { get; set; } + public DateTime releaseDateTime { get; set; } public int TotalCurrentDirectDependencies { get; set; } public int TotalCurrentDirectAndTransitiveDependencies { get; set; } public int TotalCurrentDirectVulnerabilities { get; set; } From 8b25b07f63c3e3e8ed727ab5a43072bac846f633 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Fri, 21 Jun 2024 14:36:28 +0200 Subject: [PATCH 09/45] miltiple designations per cve --- .../AmIVulnerable/Controllers/DbController.cs | 20 +++++++------- .../Controllers/GitController.cs | 26 ++++++++++++------- .../Controllers/ReportsController.cs | 5 ++-- code/AmIVulnerable/sql/init.sql | 2 +- 4 files changed, 30 insertions(+), 23 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/DbController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/DbController.cs index 055f91f..3eaa9c0 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/DbController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/DbController.cs @@ -113,13 +113,15 @@ public IActionResult UpdateCveDatabase() { if (affected.Length > 25_000) { affected = "to long -> view full_text"; } - string product = "n/a"; + string product = "| "; try { - product = cve.containers.cna.affected[0].product; - if (product.Length > 500) { - product = product[0..500]; + foreach (Affected singleProduct in cve.containers.cna.affected) { + product += singleProduct.product + " | "; } - if (product.Equals("")) { + if (product.Length > 1000) { + product = product[0..1000]; + } + if (product.Equals("| ")) { product = "n/a"; } } @@ -136,10 +138,10 @@ public IActionResult UpdateCveDatabase() { connection.Close(); } - connection.Open(); - MySqlCommand cmdIndexCreated = new MySqlCommand("CREATE INDEX idx_designation ON cve (designation);", connection); - cmdIndexCreated.ExecuteNonQuery(); - connection.Close(); + //connection.Open(); + //MySqlCommand cmdIndexCreated = new MySqlCommand("CREATE INDEX idx_designation ON cve (designation);", connection); + //cmdIndexCreated.ExecuteNonQuery(); + //connection.Close(); return Ok(insertAndUpdateIndex); } diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/GitController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/GitController.cs index 2578992..0de5408 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/GitController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/GitController.cs @@ -5,6 +5,7 @@ using SerilogTimings; using System.Data; using System.Diagnostics; +using System.Net.Http.Headers; using System.Text.RegularExpressions; using CM = System.Configuration.ConfigurationManager; @@ -102,7 +103,7 @@ public async Task GetRepositories() { /// [HttpPost] [Route("pullCveAndConvert")] - public IActionResult PullAndConvertCveFiles() { + public IActionResult pullCveAndConvert() { try { ProcessStartInfo process = new ProcessStartInfo { FileName = "bash", @@ -143,7 +144,7 @@ public IActionResult PullAndConvertCveFiles() { MySqlCommand cmdTable = new MySqlCommand("" + "CREATE TABLE IF NOT EXISTS cve.cve(" + "cve_number VARCHAR(20) PRIMARY KEY NOT NULL," + - "designation VARCHAR(500) NOT NULL," + + "designation VARCHAR(1000) NOT NULL," + "version_affected TEXT NOT NULL," + "full_text MEDIUMTEXT NOT NULL" + ")", connection); @@ -168,11 +169,16 @@ public IActionResult PullAndConvertCveFiles() { if (affected.Length > 25_000) { affected = "to long -> view full_text"; } - string product = "n/a"; + string product = "| "; try { - product = cve.containers.cna.affected[0].product; - if (product.Length > 500) { - product = product[0..500]; + foreach (Affected singleProduct in cve.containers.cna.affected) { + product += singleProduct.product + " | "; + } + if (product.Length > 1000) { + product = product[0..1000]; + } + if (product.Equals("| ")) { + product = "n/a"; } } catch { @@ -188,10 +194,10 @@ public IActionResult PullAndConvertCveFiles() { connection.Close(); } - connection.Open(); - MySqlCommand cmdIndexCreated = new MySqlCommand("CREATE INDEX idx_designation ON cve (designation);", connection); - cmdIndexCreated.ExecuteNonQuery(); - connection.Close(); + //connection.Open(); + //MySqlCommand cmdIndexCreated = new MySqlCommand("CREATE INDEX idx_designation ON cve (designation);", connection); + //cmdIndexCreated.ExecuteNonQuery(); + //connection.Close(); return Ok(insertIndex); } diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index af8178c..995ffc3 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -18,7 +18,7 @@ public class ReportsController : ControllerBase { #region Config - private readonly static string CLI = "cmd"; + private readonly static string CLI = "bash"; private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; private readonly IConfiguration Configuration; @@ -342,12 +342,11 @@ private DataTable SearchInMySql(string designation, DateTime commitTime) { // MySql Connection MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - //TODO: Compare DateTime! //TODO: Compare Version! MySqlCommand mySqlCommand = new MySqlCommand($"" + $"SELECT cve_number, designation, version_affected, full_text " + $"FROM cve.cve " + - $"WHERE designation='{designation}';", connection); + $"WHERE designation LIKE '%| {designation} |%';", connection); //TODO: is Operation.TIme this still needed? DataTable dataTable = new DataTable(); diff --git a/code/AmIVulnerable/sql/init.sql b/code/AmIVulnerable/sql/init.sql index 4dcb5e5..fe8421a 100644 --- a/code/AmIVulnerable/sql/init.sql +++ b/code/AmIVulnerable/sql/init.sql @@ -1,6 +1,6 @@ CREATE TABLE IF NOT EXISTS cve.cve( cve_number VARCHAR(20) PRIMARY KEY NOT NULL, - designation VARCHAR(500) NOT NULL, + designation VARCHAR(1000) NOT NULL, version_affected TEXT NOT NULL, full_text MEDIUMTEXT NOT NULL ); From 3842ddc7aa0123e9c2674200eac5776ae1ccaea0 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Fri, 21 Jun 2024 15:38:58 +0200 Subject: [PATCH 10/45] fix v5 --- .../AmIVulnerable/Controllers/ReportsController.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 995ffc3..6872587 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -622,10 +622,12 @@ private DateTime GetTagDateTime(string dir) { runProcess.StandardInput.WriteLine($"exit"); runProcess.WaitForExit(); - string dirtyStringTagDateTime = runProcess.StandardOutput.ReadToEnd(); - int length = "0000-00-00T00:00:00".Length; - int startIndex = dirtyStringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; - string stringTagDateTime = dirtyStringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; + string stringTagDateTime = runProcess.StandardOutput.ReadToEnd(); + if (CLI.Equals("cmd")) { + int length = "0000-00-00T00:00:00".Length; + int startIndex = stringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; + stringTagDateTime = stringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; + } return DateTime.Parse(stringTagDateTime); } From 749c284d4e90b1af354186214946ec141e43c7da Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Wed, 26 Jun 2024 21:20:10 +0200 Subject: [PATCH 11/45] newest changes, old controller (reportscontroller_) is deprecated --- .../ReportsController - Kopieren.cs | 638 +++ .../Controllers/ReportsController.cs | 626 +-- code/AmIVulnerable/AmIVulnerable/Dockerfile | 9 +- .../AmIVulnerable/Log/Logs20240620.txt | 4927 +++++++++++++++++ .../AmIVulnerable/Log/Logs20240621.txt | 5 + .../AmIVulnerable/Log/Logs20240626.txt | 2 + .../AmIVulnerable/appsettings.json | 2 +- code/AmIVulnerable/Modells/Modells.csproj | 4 + .../Modells/OsvResult/OsvResult.cs | 229 + code/AmIVulnerable/Modells/TimeSlice.cs | 22 + code/AmIVulnerable/Modells/Yarn/YarnTree.cs | 51 + 11 files changed, 6130 insertions(+), 385 deletions(-) create mode 100644 code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController - Kopieren.cs create mode 100644 code/AmIVulnerable/AmIVulnerable/Log/Logs20240620.txt create mode 100644 code/AmIVulnerable/AmIVulnerable/Log/Logs20240621.txt create mode 100644 code/AmIVulnerable/AmIVulnerable/Log/Logs20240626.txt create mode 100644 code/AmIVulnerable/Modells/OsvResult/OsvResult.cs create mode 100644 code/AmIVulnerable/Modells/TimeSlice.cs create mode 100644 code/AmIVulnerable/Modells/Yarn/YarnTree.cs diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController - Kopieren.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController - Kopieren.cs new file mode 100644 index 0000000..d0f2e43 --- /dev/null +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController - Kopieren.cs @@ -0,0 +1,638 @@ +using Microsoft.AspNetCore.Mvc; +using Modells; +using Modells.Packages; +using MySql.Data.MySqlClient; +using Newtonsoft.Json; +using SerilogTimings; +using System.Data; +using System.Diagnostics; +using System.Text.Json; +using F = System.IO.File; +using MP = Modells.Project; + +namespace AmIVulnerable.Controllers { + + [Route("api/oldReport")] + [ApiController] + public class ReportsController_ : ControllerBase { + + #region Config + + private readonly static string CLI = "bash"; + private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; + + private readonly IConfiguration Configuration; + public ReportsController_(IConfiguration configuration) { + Configuration = configuration; + } + + #endregion + + #region Controller + + /// + /// Generate a SimpleReport for a list of Projects + /// + /// + /// + [HttpPost] + [Route("simpleAnalyseNpmList")] + public async Task SimpleAnalyseNpmList([FromBody] List npmList) { + List simpleReport = []; + foreach (MP npm in npmList) { + string dirGuid = await CloneProject(npm); + if (dirGuid.Equals("Err")) { + return BadRequest("Could not clone project!"); + } + foreach (string tag in npm.Tags) { + // checkot HEAD + // CheckoutTagProject(dirGuid); (Not needed due to always cloning newest commit) + // Use DateTime.Now to use all CVE Data + DateTime commitDateTimeC = GetCommitDateTime(dirGuid); + List depTreeCurrent = AnalyseTree(ExtractTree(MakeTree(dirGuid)), commitDateTimeC); + // checkout release tag + CheckoutTagProject(dirGuid, tag); + DateTime commitDateTimeR = GetCommitDateTime(dirGuid); + List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(dirGuid)), commitDateTimeR); + //checkout latest commit again for new tag analysis (if done prematurely you end up in detached HEAD state!) + CheckoutTagProject(dirGuid); + + simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent, npm.ProjectUrl, tag, commitDateTimeR)); + } + DeleteProject(dirGuid); + } + return Ok(simpleReport); + } + + #endregion + + #region Internal function(s) + + /// + /// + /// + /// + private async Task CloneProject(MP npm) { + if (npm.ProjectUrl is null) { + return "Err"; + } + + else { // clone the repo + Guid repoId = Guid.NewGuid(); + string trimmedUrl = npm.ProjectUrl[(npm.ProjectUrl.IndexOf("//") + 2)..(npm.ProjectUrl.Length)]; + trimmedUrl = trimmedUrl[(trimmedUrl.IndexOf('/') + 1)..(trimmedUrl.Length)]; + string owner = trimmedUrl[0..trimmedUrl.IndexOf('/', 1)]; + string designation = trimmedUrl[(owner.Length + 1)..trimmedUrl.Length]; + if (designation.Contains('/')) { + designation = designation[0..trimmedUrl.IndexOf('/', owner.Length + 1)]; + } + + ExecuteMySqlCommand($"" + + $"INSERT INTO cve.repositories (guid, repoUrl, repoOwner, repoDesignation) " + + $"VALUES (" + + $"'{repoId}', " + + $"'{npm.ProjectUrl}', " + + $"'{owner}', " + + $"'{designation}');"); + + await Clone(npm.ProjectUrl, repoId.ToString()); + return repoId.ToString(); + } + } + + /// + /// Clone a git repository. + /// + /// URL of git project to clone. + /// Tag of git project. + /// Directory where to clone project into. + /// + private static async Task Clone(string url, string dir) { + try { + await Task.Run(() => { + if (Directory.Exists(dir)) { + RemoveReadOnlyAttribute(dir); + Directory.Delete(dir, true); + } + Process.Start("git", $"clone {url} {AppDomain.CurrentDomain.BaseDirectory + dir}").WaitForExit(); + }); + } + catch (Exception ex) { + await Console.Out.WriteLineAsync(ex.StackTrace); + } + } + + /// + /// Removes read only access of files. + /// + /// File path to folder where all read only attributes of files need to be removed. + private static void RemoveReadOnlyAttribute(string path) { + DirectoryInfo directoryInfo = new DirectoryInfo(path); + + foreach (FileInfo file in directoryInfo.GetFiles()) { + file.Attributes &= ~FileAttributes.ReadOnly; + } + + foreach (DirectoryInfo subDirectory in directoryInfo.GetDirectories()) { + RemoveReadOnlyAttribute(subDirectory.FullName); + } + } + + private DataTable ExecuteMySqlCommand(string command) { + // MySql Connection + MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + MySqlCommand cmd = new MySqlCommand(command, connection); + DataTable dataTable = new DataTable(); + connection.Open(); + + MySqlDataReader reader = cmd.ExecuteReader(); + dataTable.Load(reader); + connection.Close(); + return dataTable; + } + + /// + /// + /// + /// + private bool CheckoutTagProject(string dir, string tag = "-") { + try { + ProcessStartInfo process = new ProcessStartInfo { + FileName = CLI, + RedirectStandardInput = true, + WorkingDirectory = $"{AppDomain.CurrentDomain.BaseDirectory + dir}", + }; + + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"git " + "stash"); + runProcess.StandardInput.WriteLine($"git " + $"checkout {tag}"); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + + return true; + } + catch (Exception ex) { + Console.WriteLine("Error with clone, tag?\n" + ex.Message); + return false; + } + } + + /// + /// + /// + /// + private void DeleteProject(string dir) { + if (Directory.Exists(dir)) { + RemoveReadOnlyAttribute(dir); + Directory.Delete(dir, true); + + //dir is guid (folder named after guid) + ExecuteMySqlCommand($"DELETE FROM cve.repositories WHERE guid LIKE '{dir}';"); + } + } + + #region MakeTree + + /// + /// Make a tree.json file + /// + /// + /// + /// File path + private string MakeTree(string dirGuid) { + ExecuteCommand("npm", "install", dirGuid); + ExecuteCommand(CLI_RM, "tree.json", dirGuid); + ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); + return dirGuid + "/tree.json"; + } + + #endregion + + #region ExtractTree + + /// + /// Extract internal representation of tree from tree.json + /// + /// + /// + private List ExtractTree(string treeFilePath) { + List packageList = []; + using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeFilePath))) { + if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && + dependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { + Package package = ExtractDependencyInfo(dependency); + + packageList.Add(package); + } + } + } + return packageList; + } + + /// + /// Extracts dependencies of a single dependency. + /// + /// Dependency that is searched for sundependencies and versions. + /// NodePackage with all found dependencies and versions. + private Package ExtractDependencyInfo(JsonProperty dependency) { + Package package = new Package { + Name = dependency.Name + }; + if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && + versionElement.ValueKind == JsonValueKind.String) { + package.Version = versionElement.GetString() ?? ""; + } + if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && + subDependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { + Package subPackage = ExtractDependencyInfo(subDependency); + package.Dependencies.Add(subPackage); + } + } + return package; + } + + #endregion + + #region AnalyseTree + + private record PackageRecord(string designation, string version); + + /// + /// Check Package list agains cve data, differentiate between current cve database and past versions through cveVersion + /// + /// + /// + /// + private List AnalyseTree(List packages, DateTime commitTime) { + List uniquePackageRecords = []; + foreach (Package package in packages) { + List subPackages = ListSubTreePackages(package); + foreach (Package subPackage in subPackages) { + PackageRecord packageRecord = new PackageRecord(subPackage.Name, subPackage.Version); + if(!uniquePackageRecords.Contains(packageRecord)) { + uniquePackageRecords.Add(packageRecord); + } + } + } + List cveResults = []; + foreach (PackageRecord packageRecord in uniquePackageRecords) { + DataTable dataTableResults = SearchInMySql(packageRecord.designation, commitTime); + // dataTableResult to CveResult + foreach (DataRow dataTableResult in dataTableResults.Rows) { + if(!HasPublishDateTimeBeforeCommitDateTime(dataTableResult, commitTime)) { + continue; + } + CveResult cveResult = new CveResult() { + CveNumber = dataTableResult["cve_number"].ToString() ?? "", + Designation = dataTableResult["designation"].ToString() ?? "", + Version = dataTableResult["version_affected"].ToString() ?? "" + }; + + CVEcomp cVEcomp = JsonConvert.DeserializeObject(dataTableResult["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); + try { + if (cVEcomp.containers.cna.metrics.Count != 0) { + cveResult.CvssV31 = cVEcomp.containers.cna.metrics[0].cvssV3_1; + } + if (cVEcomp.containers.cna.descriptions.Count != 0) { + cveResult.Description = cVEcomp.containers.cna.descriptions[0]; + } + } + finally { + cveResults.Add(cveResult); + } + } + } + + if (cveResults.Count == 0) { + return []; + } + + List packageResults = []; + foreach (Package package in packages) { + PackageResult? packageResult = CheckVulnerabilities(package, cveResults); + if(packageResult is not null) { + packageResults.Add(packageResult); + } + } + return packageResults; + } + + /// + /// Searches for all node package dependencies of a single node package. + /// + /// Package to search + /// List of all node package dependencies of a single node package. + private List ListSubTreePackages(Package package) { + List resultList = []; + foreach (Package x in package.Dependencies) { + resultList.AddRange(ListSubTreePackages(x)); + } + resultList.Add(package); + return resultList; + } + + /// + /// + /// + /// + /// + private DataTable SearchInMySql(string designation, DateTime commitTime) { + + // MySql Connection + MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + + //TODO: Compare Version! + MySqlCommand mySqlCommand = new MySqlCommand($"" + + $"SELECT cve_number, designation, version_affected, full_text " + + $"FROM cve.cve " + + $"WHERE designation LIKE '%| {designation} |%';", connection); + + //TODO: is Operation.TIme this still needed? + DataTable dataTable = new DataTable(); + using (Operation.Time($"Query-Time for Package \"{designation}\"")) { + // read the result + connection.Open(); + MySqlDataReader reader = mySqlCommand.ExecuteReader(); + dataTable.Load(reader); + connection.Close(); + } + return dataTable; + } + + private bool HasPublishDateTimeBeforeCommitDateTime(DataRow row, DateTime commitDateTime) { + CVEcomp cVEcomp = JsonConvert.DeserializeObject(row["full_text"].ToString()!) ?? new CVEcomp(); + try { + if(cVEcomp.containers.cna.datePublic < commitDateTime) { + return true; + } + return false; + + } catch { + return false; + } + } + + private DateTime GetCommitDateTime(string guid) { + return GetTagDateTime(guid); + } + + + /// + /// Compares node package dependencies with cve data. + /// + /// Package to search for cve tracked dependencies. + /// List of CveResult data. + /// NodePackageResult with all dependencies and status if it is a cve tracked dependency. + private PackageResult? CheckVulnerabilities(Package package, List cveData) { + PackageResult packageResult = new PackageResult() { + Name = "", + isCveTracked = false + }; + foreach (Package x in package.Dependencies) { + PackageResult? temp = CheckVulnerabilities(x, cveData); + if (temp is not null) { + packageResult.Dependencies.Add(temp); + } + } + foreach (CveResult x in cveData) { // check + if (x.Designation.Equals(package.Name)) { + packageResult.isCveTracked = true; + packageResult.CvssV31 = x.CvssV31; + packageResult.Description = x.Description; + } + } + if (packageResult.isCveTracked == false && !DepCheck(packageResult)) { + return null; + } + packageResult.Name = package.Name; + packageResult.Version = package.Version; + return packageResult; + } + + /// + /// If Package is cve tracked, return true. Check all dependencies recursively. + /// + /// + /// True if any dependency is tracked. False if no dependencies are tracked. + private bool DepCheck(PackageResult package) { + foreach (PackageResult packageResult in package.Dependencies) { + bool isTracked = DepCheck(packageResult); + if (isTracked) { + goto isTrue; + } + } + if (package.isCveTracked) { + return true; + } + else { + return false; + } + isTrue: + return true; + } + + #endregion + + #region GenerateSimpleReportLine + + private SimpleReportLine GenerateSimpleReportLine(List releaseVulnerabilitiesList, List currentVulnerabilitiesList, string projectUrl, string tag, DateTime commitDateTime) { + SimpleReportLine simpleReportLine = new SimpleReportLine(); + // Tag and URL + simpleReportLine.ProjectUrl = projectUrl; + simpleReportLine.Tag = tag; + // Num of Dependencies + simpleReportLine.TotalReleaseDirectDependencies = releaseVulnerabilitiesList.Count; + simpleReportLine.TotalReleaseDirectAndTransitiveDependencies = CountDirectAndTransitiveDependencies(releaseVulnerabilitiesList); + simpleReportLine.TotalCurrentDirectDependencies = currentVulnerabilitiesList.Count; + simpleReportLine.TotalCurrentDirectAndTransitiveDependencies = CountDirectAndTransitiveDependencies(currentVulnerabilitiesList); + // Num of Vulnerabilities + simpleReportLine.TotalReleaseDirectVulnerabilities = CountDirectVulnerabilities(releaseVulnerabilitiesList); + simpleReportLine.TotalReleaseDirectAndTransitiveVulnerabilities = CountDirectAndTransitiveVulnerabilities(releaseVulnerabilitiesList); + simpleReportLine.TotalCurrentDirectVulnerabilities = CountDirectVulnerabilities(currentVulnerabilitiesList); + simpleReportLine.TotalCurrentDirectAndTransitiveVulnerabilities = CountDirectAndTransitiveVulnerabilities(currentVulnerabilitiesList); + // Other Metrics + simpleReportLine.releaseVulnerabilitiesDepth = GetTransitiveVulnerabilitiesDepth(releaseVulnerabilitiesList); + simpleReportLine.releaseHighestDirectScore = GetHighestDirectScore(releaseVulnerabilitiesList); + simpleReportLine.currentHighestDirectScore = GetHighestDirectScore(currentVulnerabilitiesList); + simpleReportLine.releaseHighestDirectSeverity = GetHighestDirectSeverity(releaseVulnerabilitiesList); + simpleReportLine.currentHighestDirectSeverity = GetHighestDirectSeverity(currentVulnerabilitiesList); + simpleReportLine.releaseHighestTransitiveScore = GetHighestTransitiveScore(releaseVulnerabilitiesList); + simpleReportLine.currentHighestTransitiveScore = GetHighestTransitiveScore(currentVulnerabilitiesList); + simpleReportLine.releaseDateTime = commitDateTime; + return simpleReportLine; + } + + /// + /// + /// + /// + /// + /// + private int CountDirectAndTransitiveDependencies(List packageResults, int count = 0) { + foreach (PackageResult packageResult in packageResults) { + if(packageResult.Dependencies.Count > 0) { + count += CountDirectAndTransitiveDependencies(packageResult.Dependencies); + } + count += 1; + } + return count; + } + + /// + /// + /// + /// + /// + private int CountDirectVulnerabilities(List packageResults) { + int count = 0; + foreach (PackageResult packageResult in packageResults) { + if (packageResult.isCveTracked) { + count += 1; + } + } + return count; + } + + /// + /// + /// + /// + /// + /// + private int CountDirectAndTransitiveVulnerabilities(List packageResults, int count = 0) { + foreach (PackageResult packageResult in packageResults) { + if (packageResult.Dependencies.Count > 0) { + count += CountDirectAndTransitiveDependencies(packageResult.Dependencies); + } + if (packageResult.isCveTracked) { + count += 1; + } + } + return count; + } + + /// + /// + /// + /// + /// + /// + private List GetTransitiveVulnerabilitiesDepth(List packageResults, int depth = 0) { + List partitionedDepthList= []; + foreach(PackageResult packageResult in packageResults) { + if (packageResult.isCveTracked) { + partitionedDepthList.Add(depth); + } + if(packageResult.Dependencies is not null) { + partitionedDepthList.AddRange(GetTransitiveVulnerabilitiesDepth(packageResult.Dependencies, depth + 1)); + } + } + return partitionedDepthList; + } + + /// + /// + /// + /// + /// + private double GetHighestDirectScore(List packageResults) { + double highestScore = 0.0; + foreach (PackageResult packageResult in packageResults) { + if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseScore != -1 && packageResult.CvssV31.baseScore > highestScore) { + highestScore = packageResult.CvssV31.baseScore; + } + } + return highestScore; + } + + /// + /// + /// + /// + /// + private string GetHighestDirectSeverity(List packageResults) { + string highestSeverity = ""; + foreach (PackageResult packageResult in packageResults) { + if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseSeverity is not null && packageResult.CvssV31.baseSeverity != "HIGH") { + return packageResult.CvssV31.baseSeverity; + } + if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseSeverity == "MEDIUM" ) { + highestSeverity = "MEDIUM"; + continue; + } + highestSeverity = packageResult.CvssV31.baseSeverity; + } + return highestSeverity; + } + + /// + /// + /// + /// + /// + /// + private double GetHighestTransitiveScore(List packageResults, double highestTransitiveScore = 0.0) { + foreach (PackageResult packageResult in packageResults) { + if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseScore != -1 && packageResult.CvssV31.baseScore > highestTransitiveScore) { + highestTransitiveScore = packageResult.CvssV31.baseScore; + } + if (packageResult.Dependencies is not null) { + highestTransitiveScore = GetHighestTransitiveScore(packageResult.Dependencies, highestTransitiveScore); + } + } + return highestTransitiveScore; + } + + #endregion + + + /// + /// Starts a process that runs a command. + /// + /// Programm used for commands + /// Command used for programm + private void ExecuteCommand(string prog, string command, string dir) { + ProcessStartInfo process = new ProcessStartInfo { + FileName = CLI, + RedirectStandardInput = true, + WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, + }; + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"{prog} {command}"); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + } + + /// + /// + /// + /// + /// + private DateTime GetTagDateTime(string dir) { + ProcessStartInfo process = new ProcessStartInfo { + FileName = CLI, + RedirectStandardInput = true, + WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, + RedirectStandardOutput = true, + UseShellExecute = false, + }; + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"git log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\""); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + + string stringTagDateTime = runProcess.StandardOutput.ReadToEnd(); + if (CLI.Equals("cmd")) { + int length = "0000-00-00T00:00:00".Length; + int startIndex = stringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; + stringTagDateTime = stringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; + } + + return DateTime.Parse(stringTagDateTime); + } + #endregion + } + +} diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 6872587..4254c30 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -1,14 +1,18 @@ using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.DependencyModel; using Modells; +using Modells.OsvResult; using Modells.Packages; using MySql.Data.MySqlClient; using Newtonsoft.Json; -using SerilogTimings; using System.Data; using System.Diagnostics; +using System.Drawing.Text; using System.Text.Json; using F = System.IO.File; using MP = Modells.Project; +using MPP = Modells.Packages.Package; +using Y = Modells.Yarn; namespace AmIVulnerable.Controllers { @@ -18,7 +22,7 @@ public class ReportsController : ControllerBase { #region Config - private readonly static string CLI = "bash"; + private readonly static string CLI = "cmd"; private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; private readonly IConfiguration Configuration; @@ -36,31 +40,57 @@ public ReportsController(IConfiguration configuration) { /// /// [HttpPost] - [Route("simpleAnalyseNpmList")] - public async Task SimpleAnalyseNpmList([FromBody] List npmList) { - List simpleReport = []; + [Route("vulnerabilityTimeLineNpm")] + public async Task VulnerabilityTimeLineNpm([FromBody] List npmList) { + List timeSeries = []; foreach (MP npm in npmList) { + + // Clone string dirGuid = await CloneProject(npm); if (dirGuid.Equals("Err")) { return BadRequest("Could not clone project!"); } + + // npm install + Install(dirGuid); + // osv-scanner for latest + string osvJsonLatest = OsvExtractVulnerabilities(dirGuid); + OsvResult osvResultLatest = JsonConvert.DeserializeObject(osvJsonLatest) ?? new OsvResult(); + // commit DateTime + DateTime commitdateLatest = GetTagDateTime(dirGuid); + // Make tree to find if vulnerability is transitive or not + string treeJsonPathLatest = MakeTree(dirGuid); + + timeSeries.Add(MakeTimeSlice(osvResultLatest, treeJsonPathLatest, commitdateLatest, "release", dirGuid)); + foreach (string tag in npm.Tags) { - // checkot HEAD - // CheckoutTagProject(dirGuid); (Not needed due to always cloning newest commit) - // Use DateTime.Now to use all CVE Data - List depTreeCurrent = AnalyseTree(ExtractTree(MakeTree(dirGuid)), DateTime.Now); - // checkout release tag CheckoutTagProject(dirGuid, tag); - DateTime commitDateTime = GetCommitDateTime(dirGuid); - List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(dirGuid)), commitDateTime); - //checkout latest commit again for new tag analysis (if done prematurely you end up in detached HEAD state!) - CheckoutTagProject(dirGuid); - - simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent, npm.ProjectUrl, tag, commitDateTime)); + // npm install + Install(dirGuid); + // osv-scanner for latest + string osvJsonCurrent = OsvExtractVulnerabilities(dirGuid); + OsvResult osvResultCurrent = JsonConvert.DeserializeObject(osvJsonCurrent) ?? new OsvResult(); + // commit DateTime + DateTime commitdateCurrent = GetTagDateTime(dirGuid); + // Make tree to find if vulnerability is transitive or not + string treeJsonPathCurrent = MakeTree(dirGuid); + + timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, commitdateCurrent, tag, dirGuid)); } DeleteProject(dirGuid); } - return Ok(simpleReport); + return Ok(timeSeries); + } + + private void Install(string dirGuid) { + if (F.Exists(dirGuid + "/yarn.lock")) { + ExecuteCommand("npx yarn", "", dirGuid); + return; + } + else if (!F.Exists(dirGuid + "package-lock.json")) { + ExecuteCommand("npm", "install", dirGuid); + return; + } } #endregion @@ -199,437 +229,271 @@ private void DeleteProject(string dir) { /// /// File path private string MakeTree(string dirGuid) { - ExecuteCommand("npm", "install", dirGuid); - ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); + if (F.Exists(dirGuid + "yarn.lock")) { + ExecuteCommand(CLI_RM, "tree.json", dirGuid); + ExecuteCommand("npx yarn", "list --all --json >> tree.json", dirGuid); + } + else if (F.Exists(dirGuid + "package.lock")) { + ExecuteCommand(CLI_RM, "tree.json", dirGuid); + ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); + } return dirGuid + "/tree.json"; } #endregion - #region ExtractTree /// - /// Extract internal representation of tree from tree.json + /// Starts a process that runs a command. /// - /// - /// - private List ExtractTree(string treeFilePath) { - List packageList = []; - using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeFilePath))) { - if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && - dependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { - Package package = ExtractDependencyInfo(dependency); - - packageList.Add(package); - } - } - } - return packageList; + /// Programm used for commands + /// Command used for programm + private void ExecuteCommand(string prog, string command, string dir) { + ProcessStartInfo process = new ProcessStartInfo { + FileName = CLI, + RedirectStandardInput = true, + WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, + }; + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"{prog} {command}"); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); } /// - /// Extracts dependencies of a single dependency. + /// /// - /// Dependency that is searched for sundependencies and versions. - /// NodePackage with all found dependencies and versions. - private Package ExtractDependencyInfo(JsonProperty dependency) { - Package package = new Package { - Name = dependency.Name + /// + /// + private DateTime GetTagDateTime(string dir) { + ProcessStartInfo process = new ProcessStartInfo { + FileName = CLI, + RedirectStandardInput = true, + WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, + RedirectStandardOutput = true, + UseShellExecute = false, }; - if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && - versionElement.ValueKind == JsonValueKind.String) { - package.Version = versionElement.GetString() ?? ""; - } - if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && - subDependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { - Package subPackage = ExtractDependencyInfo(subDependency); - package.Dependencies.Add(subPackage); - } + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"git log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\""); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + + string stringTagDateTime = runProcess.StandardOutput.ReadToEnd(); + if (CLI.Equals("cmd")) { + int length = "0000-00-00T00:00:00".Length; + int startIndex = stringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; + stringTagDateTime = stringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; } - return package; - } + return DateTime.Parse(stringTagDateTime); + } #endregion - #region AnalyseTree - - private record PackageRecord(string designation, string version); - + #region work functions /// - /// Check Package list agains cve data, differentiate between current cve database and past versions through cveVersion + /// /// - /// - /// + /// /// - private List AnalyseTree(List packages, DateTime commitTime) { - List uniquePackageRecords = []; - foreach (Package package in packages) { - List subPackages = ListSubTreePackages(package); - foreach (Package subPackage in subPackages) { - PackageRecord packageRecord = new PackageRecord(subPackage.Name, subPackage.Version); - if(!uniquePackageRecords.Contains(packageRecord)) { - uniquePackageRecords.Add(packageRecord); + private string OsvExtractVulnerabilities(string dir) { + ExecuteCommand("osv-scanner", " --format json . > osv.json", dir); + return F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + dir + "/osv.json"); ; + } + + private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string tagName = "release", string dir) { + TimeSlice timeSlice = new TimeSlice(); + + timeSlice.TagName = tagName; + timeSlice.Timestamp = timestamp; + + // Extract JsonTree + List packageList = new List(); + using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeJsonPath))) { + if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement npmDependenciesElement) && + npmDependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty dependency in npmDependenciesElement.EnumerateObject()) { + MPP package = ExtractDependencyInfoNpm(dependency); + + packageList.Add(package); } } - } - List cveResults = []; - foreach (PackageRecord packageRecord in uniquePackageRecords) { - DataTable dataTableResults = SearchInMySql(packageRecord.designation, commitTime); - // dataTableResult to CveResult - foreach (DataRow dataTableResult in dataTableResults.Rows) { - if(!HasPublishDateTimeBeforeCommitDateTime(dataTableResult, commitTime)) { - continue; + if (jsonDocument.RootElement.TryGetProperty("results", out JsonElement yarnDependenciesElement) && + yarnDependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty dependency in yarnDependenciesElement.EnumerateObject()) { + Y.Child yarnPackage = ExtractDependencyInfoYarn(dependency); + + packageList.Add(yarnPackage); } - CveResult cveResult = new CveResult() { - CveNumber = dataTableResult["cve_number"].ToString() ?? "", - Designation = dataTableResult["designation"].ToString() ?? "", - Version = dataTableResult["version_affected"].ToString() ?? "" - }; - - CVEcomp cVEcomp = JsonConvert.DeserializeObject(dataTableResult["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); - try { - if (cVEcomp.containers.cna.metrics.Count != 0) { - cveResult.CvssV31 = cVEcomp.containers.cna.metrics[0].cvssV3_1; - } - if (cVEcomp.containers.cna.descriptions.Count != 0) { - cveResult.Description = cVEcomp.containers.cna.descriptions[0]; + } + } + timeSlice.CountDirectDependencies = packageList.Count; + + if (!F.Exists(dir + "/yarn.lock")) { + // Make list of all transitive dependencies + List allTransitiveDependencies = new List(); + foreach (MPP package in packageList) { + allTransitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); + } + timeSlice.CountTransitiveDependencies = allTransitiveDependencies.Count; + + timeSlice.CountUniqueTransitiveDependencies = GetUniquePackagesFromList(allTransitiveDependencies).Count; + + // Make list of direct vulnerabilities (Known and ToDate) + List allKnownDirectVulnerabilities = new List(); + List allToDateDirectVulnerabilities = new List(); + foreach (MPP package in packageList) { + foreach (Packages vulnerablePackage in osvResult.results[0].packages) { + if (package.Name == vulnerablePackage.package.name && package.Version == vulnerablePackage.package.version) { + allToDateDirectVulnerabilities.Add(package); + if (timestamp >= OldestPublishedVulnerabilityDateTime(vulnerablePackage.vulnerabilities)) { + allKnownDirectVulnerabilities.Add(package); + } } } - finally { - cveResults.Add(cveResult); + } + timeSlice.CountKnownDirectVulnerabilities = allKnownDirectVulnerabilities.Count; + timeSlice.CountToDateDirectVulnerabilities = allToDateDirectVulnerabilities.Count; + + // Use List of all transitive Packages from "CountTransitiveDependencies" + List allKnownTransitiveVulnerabilities = new List(); + List allToDateTransitiveVulnerabilities = new List(); + foreach (Packages vulnerablePackage in osvResult.results[0].packages) { + foreach (MPP package in allTransitiveDependencies) { + if (package.Name == vulnerablePackage.package.name && package.Version == vulnerablePackage.package.version) { + allToDateTransitiveVulnerabilities.Add(package); + if (timestamp >= OldestPublishedVulnerabilityDateTime(vulnerablePackage.vulnerabilities)) { + allKnownTransitiveVulnerabilities.Add(package); + } + } } } - } + timeSlice.CountKnownTransitiveVulnerabilities = allKnownTransitiveVulnerabilities.Count; + timeSlice.CountToDateTransitiveVulnerabilities = allToDateTransitiveVulnerabilities.Count; - if (cveResults.Count == 0) { - return []; - } + timeSlice.CountKnownUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allKnownTransitiveVulnerabilities).Count; + timeSlice.CountToDateUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allToDateTransitiveVulnerabilities).Count; - List packageResults = []; - foreach (Package package in packages) { - PackageResult? packageResult = CheckVulnerabilities(package, cveResults); - if(packageResult is not null) { - packageResults.Add(packageResult); + // Count all Vulnerabilities found in osv scan + int vulnerabilityCount = 0; + foreach (Packages osvPackage in osvResult.results[0].packages) { + vulnerabilityCount += osvPackage.vulnerabilities.Count; } + timeSlice.CountTotalFoundVulnerabilities = vulnerabilityCount; + return timeSlice; } - return packageResults; - } - - /// - /// Searches for all node package dependencies of a single node package. - /// - /// Package to search - /// List of all node package dependencies of a single node package. - private List ListSubTreePackages(Package package) { - List resultList = []; - foreach (Package x in package.Dependencies) { - resultList.AddRange(ListSubTreePackages(x)); - } - resultList.Add(package); - return resultList; - } - - /// - /// - /// - /// - /// - private DataTable SearchInMySql(string designation, DateTime commitTime) { - - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - //TODO: Compare Version! - MySqlCommand mySqlCommand = new MySqlCommand($"" + - $"SELECT cve_number, designation, version_affected, full_text " + - $"FROM cve.cve " + - $"WHERE designation LIKE '%| {designation} |%';", connection); + if (F.Exists(dir + "/yarn.lock")) { - //TODO: is Operation.TIme this still needed? - DataTable dataTable = new DataTable(); - using (Operation.Time($"Query-Time for Package \"{designation}\"")) { - // read the result - connection.Open(); - MySqlDataReader reader = mySqlCommand.ExecuteReader(); - dataTable.Load(reader); - connection.Close(); - } - return dataTable; - } - - private bool HasPublishDateTimeBeforeCommitDateTime(DataRow row, DateTime commitDateTime) { - CVEcomp cVEcomp = JsonConvert.DeserializeObject(row["full_text"].ToString()!) ?? new CVEcomp(); - try { - if(cVEcomp.containers.cna.datePublic < commitDateTime) { - return true; + List yarnAllTransitiveDependencies = new List(); + foreach (Y.Child yarnPackage in packageList) { + yarnAllTransitiveDependencies.AddRange(yarnPackage.children); } - return false; - - } catch { - return false; + timeSlice.CountTransitiveDependencies = yarnAllTransitiveDependencies.Count; + timeSlice.CountUniqueTransitiveDependencies = YarnGetUniquePackagesFromList(yarnAllTransitiveDependencies).Count; + + //timeSlice.CountKnownDirectVulnerabilities + //timeSlice.CountToDateDirectVulnerabilities + //timeSlice.CountKnownTransitiveVulnerabilities + //timeSlice.CountToDateTransitiveVulnerabilities + //timeSlice.CountKnownUniqueTransitiveVulnerabilities + //timeSlice.CountToDateUniqueTransitiveVulnerabilities + //timeSlice.CountTotalFoundVulnerabilities } - } + // Yarn stuff + // TODO: ANALYSE ANGULAR!! - private DateTime GetCommitDateTime(string guid) { - return GetTagDateTime(guid); } - - /// - /// Compares node package dependencies with cve data. - /// - /// Package to search for cve tracked dependencies. - /// List of CveResult data. - /// NodePackageResult with all dependencies and status if it is a cve tracked dependency. - private PackageResult? CheckVulnerabilities(Package package, List cveData) { - PackageResult packageResult = new PackageResult() { - Name = "", - isCveTracked = false + private MPP ExtractDependencyInfoNpm(JsonProperty dependency) { + MPP package = new MPP { + Name = dependency.Name }; - foreach (Package x in package.Dependencies) { - PackageResult? temp = CheckVulnerabilities(x, cveData); - if (temp is not null) { - packageResult.Dependencies.Add(temp); - } + if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && + versionElement.ValueKind == JsonValueKind.String) { + package.Version = versionElement.GetString() ?? ""; } - foreach (CveResult x in cveData) { // check - if (x.Designation.Equals(package.Name)) { - packageResult.isCveTracked = true; - packageResult.CvssV31 = x.CvssV31; - packageResult.Description = x.Description; + if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && + subDependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { + MPP subPackage = ExtractDependencyInfoNpm(subDependency); + package.Dependencies.Add(subPackage); } } - if (packageResult.isCveTracked == false && !DepCheck(packageResult)) { - return null; - } - packageResult.Name = package.Name; - packageResult.Version = package.Version; - return packageResult; + return package; } - /// - /// If Package is cve tracked, return true. Check all dependencies recursively. - /// - /// - /// True if any dependency is tracked. False if no dependencies are tracked. - private bool DepCheck(PackageResult package) { - foreach (PackageResult packageResult in package.Dependencies) { - bool isTracked = DepCheck(packageResult); - if (isTracked) { - goto isTrue; - } + private Y.Child ExtractDependencyInfoYarn(JsonProperty dependency) { + string version = dependency.Name[0..(dependency.Name.LastIndexOf('@') + 1)]; + if (version[0] == '~' || version[0] == '^') { + version = version[1..version.Length]; } - if (package.isCveTracked) { - return true; - } - else { - return false; - } - isTrue: - return true; - } - - #endregion - - #region GenerateSimpleReportLine - - private SimpleReportLine GenerateSimpleReportLine(List releaseVulnerabilitiesList, List currentVulnerabilitiesList, string projectUrl, string tag, DateTime commitDateTime) { - SimpleReportLine simpleReportLine = new SimpleReportLine(); - // Tag and URL - simpleReportLine.ProjectUrl = projectUrl; - simpleReportLine.Tag = tag; - // Num of Dependencies - simpleReportLine.TotalReleaseDirectDependencies = releaseVulnerabilitiesList.Count; - simpleReportLine.TotalReleaseDirectAndTransitiveDependencies = CountDirectAndTransitiveDependencies(releaseVulnerabilitiesList); - simpleReportLine.TotalCurrentDirectDependencies = currentVulnerabilitiesList.Count; - simpleReportLine.TotalCurrentDirectAndTransitiveDependencies = CountDirectAndTransitiveDependencies(currentVulnerabilitiesList); - // Num of Vulnerabilities - simpleReportLine.TotalReleaseDirectVulnerabilities = CountDirectVulnerabilities(releaseVulnerabilitiesList); - simpleReportLine.TotalReleaseDirectAndTransitiveVulnerabilities = CountDirectAndTransitiveVulnerabilities(releaseVulnerabilitiesList); - simpleReportLine.TotalCurrentDirectVulnerabilities = CountDirectVulnerabilities(currentVulnerabilitiesList); - simpleReportLine.TotalCurrentDirectAndTransitiveVulnerabilities = CountDirectAndTransitiveVulnerabilities(currentVulnerabilitiesList); - // Other Metrics - simpleReportLine.releaseVulnerabilitiesDepth = GetTransitiveVulnerabilitiesDepth(releaseVulnerabilitiesList); - simpleReportLine.releaseHighestDirectScore = GetHighestDirectScore(releaseVulnerabilitiesList); - simpleReportLine.currentHighestDirectScore = GetHighestDirectScore(currentVulnerabilitiesList); - simpleReportLine.releaseHighestDirectSeverity = GetHighestDirectSeverity(releaseVulnerabilitiesList); - simpleReportLine.currentHighestDirectSeverity = GetHighestDirectSeverity(currentVulnerabilitiesList); - simpleReportLine.releaseHighestTransitiveScore = GetHighestTransitiveScore(releaseVulnerabilitiesList); - simpleReportLine.currentHighestTransitiveScore = GetHighestTransitiveScore(currentVulnerabilitiesList); - simpleReportLine.releaseDateTime = commitDateTime; - return simpleReportLine; - } - - /// - /// - /// - /// - /// - /// - private int CountDirectAndTransitiveDependencies(List packageResults, int count = 0) { - foreach (PackageResult packageResult in packageResults) { - if(packageResult.Dependencies.Count > 0) { - count += CountDirectAndTransitiveDependencies(packageResult.Dependencies); + Y.Child childDependency = new Y.Child { + name = dependency.Name, + version = version + }; + if (dependency.Value.TryGetProperty("children", out JsonElement childrenElement) && + childrenElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty child in childrenElement.EnumerateObject()) { + Y.Child subChildDependency = ExtractDependencyInfoYarn(child); + childDependency.children.Add(subChildDependency); } - count += 1; } - return count; + return childDependency; } - /// - /// - /// - /// - /// - private int CountDirectVulnerabilities(List packageResults) { - int count = 0; - foreach (PackageResult packageResult in packageResults) { - if (packageResult.isCveTracked) { - count += 1; - } + private List TransitiveDependencies(List packages) { + if (!packages.Any()) { + return []; } - return count; - } + List transitiveDependencies = new List(); - /// - /// - /// - /// - /// - /// - private int CountDirectAndTransitiveVulnerabilities(List packageResults, int count = 0) { - foreach (PackageResult packageResult in packageResults) { - if (packageResult.Dependencies.Count > 0) { - count += CountDirectAndTransitiveDependencies(packageResult.Dependencies); - } - if (packageResult.isCveTracked) { - count += 1; - } + foreach (MPP package in packages) { + transitiveDependencies.Add(package); + transitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); } - return count; + return transitiveDependencies; } - /// - /// - /// - /// - /// - /// - private List GetTransitiveVulnerabilitiesDepth(List packageResults, int depth = 0) { - List partitionedDepthList= []; - foreach(PackageResult packageResult in packageResults) { - if (packageResult.isCveTracked) { - partitionedDepthList.Add(depth); - } - if(packageResult.Dependencies is not null) { - partitionedDepthList.AddRange(GetTransitiveVulnerabilitiesDepth(packageResult.Dependencies, depth + 1)); - } + private List YarnTransitiveDependencies(List yarnTransitiveDependencies) { + if (!yarnTransitiveDependencies.Any()) { + return []; } - return partitionedDepthList; - } + List children = new List(); - /// - /// - /// - /// - /// - private double GetHighestDirectScore(List packageResults) { - double highestScore = 0.0; - foreach (PackageResult packageResult in packageResults) { - if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseScore != -1 && packageResult.CvssV31.baseScore > highestScore) { - highestScore = packageResult.CvssV31.baseScore; - } + foreach (Y.Child child in yarnTransitiveDependencies) { + children.Add(child); + children.AddRange(YarnTransitiveDependencies(child.children)); } - return highestScore; + return children; } - /// - /// - /// - /// - /// - private string GetHighestDirectSeverity(List packageResults) { - string highestSeverity = ""; - foreach (PackageResult packageResult in packageResults) { - if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseSeverity is not null && packageResult.CvssV31.baseSeverity != "HIGH") { - return packageResult.CvssV31.baseSeverity; - } - if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseSeverity == "MEDIUM" ) { - highestSeverity = "MEDIUM"; - continue; + private DateTime OldestPublishedVulnerabilityDateTime(List vulnerabilities) { + DateTime oldestPublishedVulnerabilityDateTime = DateTime.Now; + foreach (Vulnerability vulnerability in vulnerabilities) { + if (vulnerability.published < oldestPublishedVulnerabilityDateTime) { + oldestPublishedVulnerabilityDateTime = vulnerability.published; } - highestSeverity = packageResult.CvssV31.baseSeverity; } - return highestSeverity; + return oldestPublishedVulnerabilityDateTime; } - - /// - /// - /// - /// - /// - /// - private double GetHighestTransitiveScore(List packageResults, double highestTransitiveScore = 0.0) { - foreach (PackageResult packageResult in packageResults) { - if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseScore != -1 && packageResult.CvssV31.baseScore > highestTransitiveScore) { - highestTransitiveScore = packageResult.CvssV31.baseScore; - } - if (packageResult.Dependencies is not null) { - highestTransitiveScore = GetHighestTransitiveScore(packageResult.Dependencies, highestTransitiveScore); + private List GetUniquePackagesFromList(List packages) { + List uniquePackages = new List(); + foreach (MPP package in packages) { + if (!uniquePackages.Exists(pack => pack.Name.Equals(package.Name) && pack.Version.Equals(package.Version))) { + uniquePackages.Add(package); } } - return highestTransitiveScore; - } - - #endregion - - - /// - /// Starts a process that runs a command. - /// - /// Programm used for commands - /// Command used for programm - private void ExecuteCommand(string prog, string command, string dir) { - ProcessStartInfo process = new ProcessStartInfo { - FileName = CLI, - RedirectStandardInput = true, - WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, - }; - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"{prog} {command}"); - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); + return uniquePackages; } - /// - /// - /// - /// - /// - private DateTime GetTagDateTime(string dir) { - ProcessStartInfo process = new ProcessStartInfo { - FileName = CLI, - RedirectStandardInput = true, - WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, - RedirectStandardOutput = true, - UseShellExecute = false, - }; - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"git log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\""); - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); - - string stringTagDateTime = runProcess.StandardOutput.ReadToEnd(); - if (CLI.Equals("cmd")) { - int length = "0000-00-00T00:00:00".Length; - int startIndex = stringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; - stringTagDateTime = stringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; + private List YarnGetUniquePackagesFromList(List packages) { + List uniquePackages = new List(); + foreach (Y.Child package in packages) { + if (!uniquePackages.Exists(pack => pack.name.Equals(package.name) && pack.version.Equals(package.version))) { + uniquePackages.Add(package); + } } - - return DateTime.Parse(stringTagDateTime); + return uniquePackages; } #endregion } diff --git a/code/AmIVulnerable/AmIVulnerable/Dockerfile b/code/AmIVulnerable/AmIVulnerable/Dockerfile index 31f061a..6896de0 100644 --- a/code/AmIVulnerable/AmIVulnerable/Dockerfile +++ b/code/AmIVulnerable/AmIVulnerable/Dockerfile @@ -19,18 +19,21 @@ RUN dotnet build AmIVulnerable/AmIVulnerable.csproj -c Release -o /app/build FROM build AS publish RUN dotnet publish AmIVulnerable/AmIVulnerable.csproj -c Release -o /app/publish /p:UseAppHost=false -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final +FROM golang:latest as gof +RUN go install github.com/google/osv-scanner/cmd/osv-scanner@v1 + +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS aspnetFinal WORKDIR /app COPY AmIVulnerable/Controllers/Views /app/Controllers/Views COPY --from=publish /root/.dotnet/corefx/cryptography/x509stores/my/* /root/.dotnet/corefx/cryptography/x509stores/my/ COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "AmIVulnerable.dll"] -# Install NodeJS and git +# Install NodeJS, git RUN apt-get update RUN apt-get install -y curl gnupg RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - RUN apt-get install -y nodejs git EXPOSE 80 -EXPOSE 443 +EXPOSE 443 \ No newline at end of file diff --git a/code/AmIVulnerable/AmIVulnerable/Log/Logs20240620.txt b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240620.txt new file mode 100644 index 0000000..2651125 --- /dev/null +++ b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240620.txt @@ -0,0 +1,4927 @@ +2024-06-20 17:02:49.407 +02:00 [INF] TaskDuration completed in 2730.5 ms +2024-06-20 17:02:59.906 +02:00 [INF] TaskDuration completed in 2463.8 ms +2024-06-20 17:03:47.059 +02:00 [INF] TaskDuration completed in 4557.1 ms +2024-06-20 19:47:44.399 +02:00 [INF] Query-Time for Package "@commitlint/types" completed in 10.9 ms +2024-06-20 19:47:44.419 +02:00 [INF] Query-Time for Package "chalk" completed in 3.5 ms +2024-06-20 19:47:44.422 +02:00 [INF] Query-Time for Package "@commitlint/format" completed in 2.5 ms +2024-06-20 19:47:44.427 +02:00 [INF] Query-Time for Package "semver" completed in 4.4 ms +2024-06-20 19:47:44.542 +02:00 [INF] Query-Time for Package "@commitlint/is-ignored" completed in 3.6 ms +2024-06-20 19:47:44.545 +02:00 [INF] Query-Time for Package "compare-func" completed in 2.7 ms +2024-06-20 19:47:44.547 +02:00 [INF] Query-Time for Package "conventional-changelog-angular" completed in 2.0 ms +2024-06-20 19:47:44.549 +02:00 [INF] Query-Time for Package "text-extensions" completed in 2.0 ms +2024-06-20 19:47:44.551 +02:00 [INF] Query-Time for Package "is-text-path" completed in 1.8 ms +2024-06-20 19:47:44.553 +02:00 [INF] Query-Time for Package "jsonparse" completed in 1.8 ms +2024-06-20 19:47:44.555 +02:00 [INF] Query-Time for Package "through" completed in 1.7 ms +2024-06-20 19:47:44.557 +02:00 [INF] Query-Time for Package "JSONStream" completed in 1.8 ms +2024-06-20 19:47:44.559 +02:00 [INF] Query-Time for Package "meow" completed in 1.8 ms +2024-06-20 19:47:44.561 +02:00 [INF] Query-Time for Package "split2" completed in 1.9 ms +2024-06-20 19:47:44.563 +02:00 [INF] Query-Time for Package "conventional-commits-parser" completed in 1.8 ms +2024-06-20 19:47:44.565 +02:00 [INF] Query-Time for Package "@commitlint/parse" completed in 1.8 ms +2024-06-20 19:47:44.567 +02:00 [INF] Query-Time for Package "lodash.camelcase" completed in 1.9 ms +2024-06-20 19:47:44.569 +02:00 [INF] Query-Time for Package "lodash.kebabcase" completed in 2.0 ms +2024-06-20 19:47:44.571 +02:00 [INF] Query-Time for Package "lodash.snakecase" completed in 2.0 ms +2024-06-20 19:47:44.573 +02:00 [INF] Query-Time for Package "lodash.startcase" completed in 1.8 ms +2024-06-20 19:47:44.575 +02:00 [INF] Query-Time for Package "lodash.upperfirst" completed in 2.3 ms +2024-06-20 19:47:44.578 +02:00 [INF] Query-Time for Package "@commitlint/ensure" completed in 2.1 ms +2024-06-20 19:47:44.580 +02:00 [INF] Query-Time for Package "@commitlint/message" completed in 2.4 ms +2024-06-20 19:47:44.584 +02:00 [INF] Query-Time for Package "@commitlint/to-lines" completed in 3.1 ms +2024-06-20 19:47:44.587 +02:00 [INF] Query-Time for Package "execa" completed in 2.9 ms +2024-06-20 19:47:44.590 +02:00 [INF] Query-Time for Package "@commitlint/rules" completed in 2.6 ms +2024-06-20 19:47:44.593 +02:00 [INF] Query-Time for Package "@commitlint/lint" completed in 2.8 ms +2024-06-20 19:47:44.595 +02:00 [INF] Query-Time for Package "fast-deep-equal" completed in 2.6 ms +2024-06-20 19:47:44.598 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 2.1 ms +2024-06-20 19:47:44.600 +02:00 [INF] Query-Time for Package "require-from-string" completed in 2.5 ms +2024-06-20 19:47:44.603 +02:00 [INF] Query-Time for Package "uri-js" completed in 2.3 ms +2024-06-20 19:47:44.607 +02:00 [INF] Query-Time for Package "ajv" completed in 3.4 ms +2024-06-20 19:47:44.611 +02:00 [INF] Query-Time for Package "@commitlint/config-validator" completed in 3.8 ms +2024-06-20 19:47:44.614 +02:00 [INF] Query-Time for Package "@commitlint/execute-rule" completed in 3.3 ms +2024-06-20 19:47:44.617 +02:00 [INF] Query-Time for Package "import-fresh" completed in 2.4 ms +2024-06-20 19:47:44.620 +02:00 [INF] Query-Time for Package "lodash.mergewith" completed in 3.3 ms +2024-06-20 19:47:44.623 +02:00 [INF] Query-Time for Package "resolve-from" completed in 2.3 ms +2024-06-20 19:47:44.626 +02:00 [INF] Query-Time for Package "resolve-global" completed in 2.3 ms +2024-06-20 19:47:44.628 +02:00 [INF] Query-Time for Package "@commitlint/resolve-extends" completed in 1.9 ms +2024-06-20 19:47:44.630 +02:00 [INF] Query-Time for Package "@types/node" completed in 1.9 ms +2024-06-20 19:47:44.632 +02:00 [INF] Query-Time for Package "cosmiconfig" completed in 1.9 ms +2024-06-20 19:47:44.634 +02:00 [INF] Query-Time for Package "ts-node" completed in 2.1 ms +2024-06-20 19:47:44.636 +02:00 [INF] Query-Time for Package "typescript" completed in 2.0 ms +2024-06-20 19:47:44.638 +02:00 [INF] Query-Time for Package "cosmiconfig-typescript-loader" completed in 1.7 ms +2024-06-20 19:47:44.640 +02:00 [INF] Query-Time for Package "js-yaml" completed in 1.8 ms +2024-06-20 19:47:44.642 +02:00 [INF] Query-Time for Package "@babel/code-frame" completed in 2.1 ms +2024-06-20 19:47:44.644 +02:00 [INF] Query-Time for Package "is-arrayish" completed in 1.9 ms +2024-06-20 19:47:44.646 +02:00 [INF] Query-Time for Package "error-ex" completed in 1.8 ms +2024-06-20 19:47:44.648 +02:00 [INF] Query-Time for Package "json-parse-even-better-errors" completed in 1.8 ms +2024-06-20 19:47:44.650 +02:00 [INF] Query-Time for Package "lines-and-columns" completed in 2.1 ms +2024-06-20 19:47:44.653 +02:00 [INF] Query-Time for Package "parse-json" completed in 2.0 ms +2024-06-20 19:47:44.654 +02:00 [INF] Query-Time for Package "path-type" completed in 1.8 ms +2024-06-20 19:47:44.656 +02:00 [INF] Query-Time for Package "lodash.isplainobject" completed in 1.8 ms +2024-06-20 19:47:44.658 +02:00 [INF] Query-Time for Package "lodash.merge" completed in 1.7 ms +2024-06-20 19:47:44.660 +02:00 [INF] Query-Time for Package "lodash.uniq" completed in 1.8 ms +2024-06-20 19:47:44.662 +02:00 [INF] Query-Time for Package "@jridgewell/resolve-uri" completed in 1.8 ms +2024-06-20 19:47:44.664 +02:00 [INF] Query-Time for Package "@jridgewell/sourcemap-codec" completed in 2.1 ms +2024-06-20 19:47:44.667 +02:00 [INF] Query-Time for Package "@jridgewell/trace-mapping" completed in 2.1 ms +2024-06-20 19:47:44.669 +02:00 [INF] Query-Time for Package "@cspotcode/source-map-support" completed in 1.8 ms +2024-06-20 19:47:44.671 +02:00 [INF] Query-Time for Package "@swc/core" completed in 1.9 ms +2024-06-20 19:47:44.673 +02:00 [INF] Query-Time for Package "@swc/wasm" completed in 1.7 ms +2024-06-20 19:47:44.675 +02:00 [INF] Query-Time for Package "@tsconfig/node10" completed in 2.0 ms +2024-06-20 19:47:44.677 +02:00 [INF] Query-Time for Package "@tsconfig/node12" completed in 2.0 ms +2024-06-20 19:47:44.679 +02:00 [INF] Query-Time for Package "@tsconfig/node14" completed in 2.0 ms +2024-06-20 19:47:44.681 +02:00 [INF] Query-Time for Package "@tsconfig/node16" completed in 1.9 ms +2024-06-20 19:47:44.683 +02:00 [INF] Query-Time for Package "acorn-walk" completed in 2.0 ms +2024-06-20 19:47:44.686 +02:00 [INF] Query-Time for Package "acorn" completed in 2.1 ms +2024-06-20 19:47:44.688 +02:00 [INF] Query-Time for Package "arg" completed in 1.8 ms +2024-06-20 19:47:44.689 +02:00 [INF] Query-Time for Package "create-require" completed in 1.8 ms +2024-06-20 19:47:44.691 +02:00 [INF] Query-Time for Package "diff" completed in 1.9 ms +2024-06-20 19:47:44.693 +02:00 [INF] Query-Time for Package "make-error" completed in 1.9 ms +2024-06-20 19:47:44.696 +02:00 [INF] Query-Time for Package "v8-compile-cache-lib" completed in 1.9 ms +2024-06-20 19:47:44.697 +02:00 [INF] Query-Time for Package "yn" completed in 1.8 ms +2024-06-20 19:47:44.700 +02:00 [INF] Query-Time for Package "@commitlint/load" completed in 2.1 ms +2024-06-20 19:47:44.702 +02:00 [INF] Query-Time for Package "find-up" completed in 2.1 ms +2024-06-20 19:47:44.704 +02:00 [INF] Query-Time for Package "@commitlint/top-level" completed in 1.9 ms +2024-06-20 19:47:44.706 +02:00 [INF] Query-Time for Package "graceful-fs" completed in 1.9 ms +2024-06-20 19:47:44.708 +02:00 [INF] Query-Time for Package "universalify" completed in 1.7 ms +2024-06-20 19:47:44.710 +02:00 [INF] Query-Time for Package "jsonfile" completed in 1.9 ms +2024-06-20 19:47:44.714 +02:00 [INF] Query-Time for Package "fs-extra" completed in 3.4 ms +2024-06-20 19:47:44.717 +02:00 [INF] Query-Time for Package "dargs" completed in 2.7 ms +2024-06-20 19:47:44.726 +02:00 [INF] Query-Time for Package "lodash" completed in 9.3 ms +2024-06-20 19:47:44.732 +02:00 [INF] Query-Time for Package "@types/minimist" completed in 3.8 ms +2024-06-20 19:47:44.735 +02:00 [INF] Query-Time for Package "camelcase" completed in 2.8 ms +2024-06-20 19:47:44.737 +02:00 [INF] Query-Time for Package "map-obj" completed in 2.2 ms +2024-06-20 19:47:44.740 +02:00 [INF] Query-Time for Package "quick-lru" completed in 2.2 ms +2024-06-20 19:47:44.742 +02:00 [INF] Query-Time for Package "camelcase-keys" completed in 2.4 ms +2024-06-20 19:47:44.745 +02:00 [INF] Query-Time for Package "decamelize" completed in 2.8 ms +2024-06-20 19:47:44.748 +02:00 [INF] Query-Time for Package "map-obj" completed in 2.2 ms +2024-06-20 19:47:44.750 +02:00 [INF] Query-Time for Package "decamelize-keys" completed in 2.0 ms +2024-06-20 19:47:44.752 +02:00 [INF] Query-Time for Package "hard-rejection" completed in 1.9 ms +2024-06-20 19:47:44.754 +02:00 [INF] Query-Time for Package "arrify" completed in 1.8 ms +2024-06-20 19:47:44.756 +02:00 [INF] Query-Time for Package "is-plain-obj" completed in 1.8 ms +2024-06-20 19:47:44.758 +02:00 [INF] Query-Time for Package "kind-of" completed in 2.0 ms +2024-06-20 19:47:44.760 +02:00 [INF] Query-Time for Package "minimist-options" completed in 1.9 ms +2024-06-20 19:47:44.762 +02:00 [INF] Query-Time for Package "lru-cache" completed in 1.8 ms +2024-06-20 19:47:44.764 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 2.2 ms +2024-06-20 19:47:44.766 +02:00 [INF] Query-Time for Package "is-core-module" completed in 1.9 ms +2024-06-20 19:47:44.768 +02:00 [INF] Query-Time for Package "spdx-expression-parse" completed in 1.8 ms +2024-06-20 19:47:44.770 +02:00 [INF] Query-Time for Package "spdx-license-ids" completed in 1.8 ms +2024-06-20 19:47:44.772 +02:00 [INF] Query-Time for Package "spdx-correct" completed in 1.8 ms +2024-06-20 19:47:44.774 +02:00 [INF] Query-Time for Package "spdx-exceptions" completed in 1.9 ms +2024-06-20 19:47:44.776 +02:00 [INF] Query-Time for Package "validate-npm-package-license" completed in 1.8 ms +2024-06-20 19:47:44.778 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 1.7 ms +2024-06-20 19:47:44.780 +02:00 [INF] Query-Time for Package "p-try" completed in 1.7 ms +2024-06-20 19:47:44.782 +02:00 [INF] Query-Time for Package "p-limit" completed in 1.7 ms +2024-06-20 19:47:44.784 +02:00 [INF] Query-Time for Package "p-locate" completed in 1.7 ms +2024-06-20 19:47:44.786 +02:00 [INF] Query-Time for Package "locate-path" completed in 1.7 ms +2024-06-20 19:47:44.787 +02:00 [INF] Query-Time for Package "path-exists" completed in 1.8 ms +2024-06-20 19:47:44.790 +02:00 [INF] Query-Time for Package "find-up" completed in 2.1 ms +2024-06-20 19:47:44.792 +02:00 [INF] Query-Time for Package "@types/normalize-package-data" completed in 2.2 ms +2024-06-20 19:47:44.795 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 2.9 ms +2024-06-20 19:47:44.798 +02:00 [INF] Query-Time for Package "resolve" completed in 2.1 ms +2024-06-20 19:47:44.801 +02:00 [INF] Query-Time for Package "semver" completed in 2.7 ms +2024-06-20 19:47:44.804 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 2.3 ms +2024-06-20 19:47:44.806 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.9 ms +2024-06-20 19:47:44.808 +02:00 [INF] Query-Time for Package "read-pkg" completed in 1.9 ms +2024-06-20 19:47:44.810 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.9 ms +2024-06-20 19:47:44.812 +02:00 [INF] Query-Time for Package "read-pkg-up" completed in 1.8 ms +2024-06-20 19:47:44.814 +02:00 [INF] Query-Time for Package "indent-string" completed in 1.7 ms +2024-06-20 19:47:44.815 +02:00 [INF] Query-Time for Package "min-indent" completed in 1.7 ms +2024-06-20 19:47:44.817 +02:00 [INF] Query-Time for Package "strip-indent" completed in 1.7 ms +2024-06-20 19:47:44.819 +02:00 [INF] Query-Time for Package "redent" completed in 1.8 ms +2024-06-20 19:47:44.821 +02:00 [INF] Query-Time for Package "trim-newlines" completed in 1.9 ms +2024-06-20 19:47:44.823 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.7 ms +2024-06-20 19:47:44.826 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 2.4 ms +2024-06-20 19:47:44.828 +02:00 [INF] Query-Time for Package "inherits" completed in 1.9 ms +2024-06-20 19:47:44.830 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 1.9 ms +2024-06-20 19:47:44.832 +02:00 [INF] Query-Time for Package "string_decoder" completed in 1.7 ms +2024-06-20 19:47:44.834 +02:00 [INF] Query-Time for Package "util-deprecate" completed in 2.2 ms +2024-06-20 19:47:44.836 +02:00 [INF] Query-Time for Package "readable-stream" completed in 1.9 ms +2024-06-20 19:47:44.838 +02:00 [INF] Query-Time for Package "through2" completed in 1.7 ms +2024-06-20 19:47:44.840 +02:00 [INF] Query-Time for Package "git-raw-commits" completed in 2.2 ms +2024-06-20 19:47:44.843 +02:00 [INF] Query-Time for Package "minimist" completed in 2.5 ms +2024-06-20 19:47:44.845 +02:00 [INF] Query-Time for Package "@commitlint/read" completed in 1.9 ms +2024-06-20 19:47:44.847 +02:00 [INF] Query-Time for Package "cross-spawn" completed in 1.8 ms +2024-06-20 19:47:44.849 +02:00 [INF] Query-Time for Package "get-stream" completed in 1.8 ms +2024-06-20 19:47:44.851 +02:00 [INF] Query-Time for Package "human-signals" completed in 1.8 ms +2024-06-20 19:47:44.853 +02:00 [INF] Query-Time for Package "is-stream" completed in 2.0 ms +2024-06-20 19:47:44.855 +02:00 [INF] Query-Time for Package "merge-stream" completed in 1.8 ms +2024-06-20 19:47:44.857 +02:00 [INF] Query-Time for Package "path-key" completed in 1.8 ms +2024-06-20 19:47:44.859 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 1.7 ms +2024-06-20 19:47:44.861 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 1.8 ms +2024-06-20 19:47:44.862 +02:00 [INF] Query-Time for Package "onetime" completed in 1.6 ms +2024-06-20 19:47:44.864 +02:00 [INF] Query-Time for Package "signal-exit" completed in 1.8 ms +2024-06-20 19:47:44.866 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 1.8 ms +2024-06-20 19:47:44.868 +02:00 [INF] Query-Time for Package "lodash.isfunction" completed in 1.8 ms +2024-06-20 19:47:44.871 +02:00 [INF] Query-Time for Package "ini" completed in 2.5 ms +2024-06-20 19:47:44.873 +02:00 [INF] Query-Time for Package "global-dirs" completed in 1.7 ms +2024-06-20 19:47:44.875 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 1.7 ms +2024-06-20 19:47:44.877 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 2.0 ms +2024-06-20 19:47:44.879 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 1.9 ms +2024-06-20 19:47:44.881 +02:00 [INF] Query-Time for Package "string-width" completed in 2.0 ms +2024-06-20 19:47:44.883 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.8 ms +2024-06-20 19:47:44.885 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 1.8 ms +2024-06-20 19:47:44.887 +02:00 [INF] Query-Time for Package "cliui" completed in 2.0 ms +2024-06-20 19:47:44.890 +02:00 [INF] Query-Time for Package "escalade" completed in 2.2 ms +2024-06-20 19:47:44.892 +02:00 [INF] Query-Time for Package "get-caller-file" completed in 2.5 ms +2024-06-20 19:47:44.895 +02:00 [INF] Query-Time for Package "require-directory" completed in 2.5 ms +2024-06-20 19:47:44.898 +02:00 [INF] Query-Time for Package "y18n" completed in 2.6 ms +2024-06-20 19:47:44.901 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 2.6 ms +2024-06-20 19:47:44.904 +02:00 [INF] Query-Time for Package "yargs" completed in 2.3 ms +2024-06-20 19:47:44.906 +02:00 [INF] Query-Time for Package "@commitlint/cli" completed in 2.6 ms +2024-06-20 19:47:44.909 +02:00 [INF] Query-Time for Package "array-ify" completed in 2.3 ms +2024-06-20 19:47:44.911 +02:00 [INF] Query-Time for Package "is-obj" completed in 2.4 ms +2024-06-20 19:47:44.914 +02:00 [INF] Query-Time for Package "dot-prop" completed in 2.3 ms +2024-06-20 19:47:44.916 +02:00 [INF] Query-Time for Package "conventional-changelog-conventionalcommits" completed in 2.0 ms +2024-06-20 19:47:44.918 +02:00 [INF] Query-Time for Package "@commitlint/config-conventional" completed in 1.9 ms +2024-06-20 19:47:44.921 +02:00 [INF] Query-Time for Package "@types/estree" completed in 1.9 ms +2024-06-20 19:47:44.922 +02:00 [INF] Query-Time for Package "@types/json-schema" completed in 1.8 ms +2024-06-20 19:47:44.925 +02:00 [INF] Query-Time for Package "@types/eslint" completed in 1.9 ms +2024-06-20 19:47:44.927 +02:00 [INF] Query-Time for Package "jest-get-type" completed in 1.9 ms +2024-06-20 19:47:44.929 +02:00 [INF] Query-Time for Package "@jest/expect-utils" completed in 1.8 ms +2024-06-20 19:47:44.931 +02:00 [INF] Query-Time for Package "diff-sequences" completed in 2.1 ms +2024-06-20 19:47:44.933 +02:00 [INF] Query-Time for Package "pretty-format" completed in 2.0 ms +2024-06-20 19:47:44.935 +02:00 [INF] Query-Time for Package "jest-diff" completed in 1.9 ms +2024-06-20 19:47:44.937 +02:00 [INF] Query-Time for Package "jest-matcher-utils" completed in 1.9 ms +2024-06-20 19:47:44.940 +02:00 [INF] Query-Time for Package "@babel/helper-validator-identifier" completed in 2.4 ms +2024-06-20 19:47:44.942 +02:00 [INF] Query-Time for Package "color-name" completed in 2.4 ms +2024-06-20 19:47:44.944 +02:00 [INF] Query-Time for Package "color-convert" completed in 2.0 ms +2024-06-20 19:47:44.947 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.3 ms +2024-06-20 19:47:44.949 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.2 ms +2024-06-20 19:47:44.951 +02:00 [INF] Query-Time for Package "has-flag" completed in 1.9 ms +2024-06-20 19:47:44.953 +02:00 [INF] Query-Time for Package "supports-color" completed in 1.8 ms +2024-06-20 19:47:44.956 +02:00 [INF] Query-Time for Package "chalk" completed in 2.3 ms +2024-06-20 19:47:44.958 +02:00 [INF] Query-Time for Package "js-tokens" completed in 2.3 ms +2024-06-20 19:47:44.960 +02:00 [INF] Query-Time for Package "@babel/highlight" completed in 2.1 ms +2024-06-20 19:47:44.962 +02:00 [INF] Query-Time for Package "@jest/schemas" completed in 2.1 ms +2024-06-20 19:47:44.965 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-coverage" completed in 2.1 ms +2024-06-20 19:47:44.967 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-report" completed in 2.0 ms +2024-06-20 19:47:44.969 +02:00 [INF] Query-Time for Package "@types/istanbul-reports" completed in 1.8 ms +2024-06-20 19:47:44.971 +02:00 [INF] Query-Time for Package "@types/yargs-parser" completed in 1.8 ms +2024-06-20 19:47:44.973 +02:00 [INF] Query-Time for Package "@types/yargs" completed in 1.7 ms +2024-06-20 19:47:44.974 +02:00 [INF] Query-Time for Package "@jest/types" completed in 1.7 ms +2024-06-20 19:47:44.977 +02:00 [INF] Query-Time for Package "@types/stack-utils" completed in 2.0 ms +2024-06-20 19:47:44.979 +02:00 [INF] Query-Time for Package "micromatch" completed in 1.8 ms +2024-06-20 19:47:44.980 +02:00 [INF] Query-Time for Package "slash" completed in 1.8 ms +2024-06-20 19:47:44.982 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 1.8 ms +2024-06-20 19:47:44.984 +02:00 [INF] Query-Time for Package "stack-utils" completed in 1.8 ms +2024-06-20 19:47:44.986 +02:00 [INF] Query-Time for Package "jest-message-util" completed in 2.1 ms +2024-06-20 19:47:44.988 +02:00 [INF] Query-Time for Package "ci-info" completed in 1.9 ms +2024-06-20 19:47:44.991 +02:00 [INF] Query-Time for Package "picomatch" completed in 2.1 ms +2024-06-20 19:47:44.993 +02:00 [INF] Query-Time for Package "jest-util" completed in 2.0 ms +2024-06-20 19:47:44.995 +02:00 [INF] Query-Time for Package "expect" completed in 1.9 ms +2024-06-20 19:47:44.997 +02:00 [INF] Query-Time for Package "@sinclair/typebox" completed in 2.0 ms +2024-06-20 19:47:44.999 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.0 ms +2024-06-20 19:47:45.001 +02:00 [INF] Query-Time for Package "react-is" completed in 1.9 ms +2024-06-20 19:47:45.004 +02:00 [INF] Query-Time for Package "@types/jest" completed in 2.0 ms +2024-06-20 19:47:45.006 +02:00 [INF] Query-Time for Package "@eslint-community/regexpp" completed in 2.7 ms +2024-06-20 19:47:45.010 +02:00 [INF] Query-Time for Package "@typescript-eslint/parser" completed in 2.9 ms +2024-06-20 19:47:45.012 +02:00 [INF] Query-Time for Package "@typescript-eslint/types" completed in 1.9 ms +2024-06-20 19:47:45.014 +02:00 [INF] Query-Time for Package "@typescript-eslint/visitor-keys" completed in 2.0 ms +2024-06-20 19:47:45.016 +02:00 [INF] Query-Time for Package "@typescript-eslint/scope-manager" completed in 1.9 ms +2024-06-20 19:47:45.018 +02:00 [INF] Query-Time for Package "@typescript-eslint/typescript-estree" completed in 2.1 ms +2024-06-20 19:47:45.020 +02:00 [INF] Query-Time for Package "@typescript-eslint/utils" completed in 2.1 ms +2024-06-20 19:47:45.024 +02:00 [INF] Query-Time for Package "debug" completed in 3.0 ms +2024-06-20 19:47:45.027 +02:00 [INF] Query-Time for Package "eslint" completed in 2.2 ms +2024-06-20 19:47:45.030 +02:00 [INF] Query-Time for Package "ts-api-utils" completed in 2.0 ms +2024-06-20 19:47:45.031 +02:00 [INF] Query-Time for Package "@typescript-eslint/type-utils" completed in 1.8 ms +2024-06-20 19:47:45.034 +02:00 [INF] Query-Time for Package "@eslint-community/eslint-utils" completed in 1.9 ms +2024-06-20 19:47:45.035 +02:00 [INF] Query-Time for Package "@types/semver" completed in 1.7 ms +2024-06-20 19:47:45.037 +02:00 [INF] Query-Time for Package "eslint-visitor-keys" completed in 1.7 ms +2024-06-20 19:47:45.040 +02:00 [INF] Query-Time for Package "ms" completed in 2.5 ms +2024-06-20 19:47:45.042 +02:00 [INF] Query-Time for Package "graphemer" completed in 2.0 ms +2024-06-20 19:47:45.044 +02:00 [INF] Query-Time for Package "ignore" completed in 1.8 ms +2024-06-20 19:47:45.046 +02:00 [INF] Query-Time for Package "natural-compare" completed in 1.9 ms +2024-06-20 19:47:45.048 +02:00 [INF] Query-Time for Package "yallist" completed in 2.0 ms +2024-06-20 19:47:45.051 +02:00 [INF] Query-Time for Package "@typescript-eslint/eslint-plugin" completed in 2.0 ms +2024-06-20 19:47:45.053 +02:00 [INF] Query-Time for Package "array-union" completed in 1.9 ms +2024-06-20 19:47:45.054 +02:00 [INF] Query-Time for Package "dir-glob" completed in 1.8 ms +2024-06-20 19:47:45.056 +02:00 [INF] Query-Time for Package "@nodelib/fs.stat" completed in 1.8 ms +2024-06-20 19:47:45.058 +02:00 [INF] Query-Time for Package "@nodelib/fs.walk" completed in 1.8 ms +2024-06-20 19:47:45.060 +02:00 [INF] Query-Time for Package "is-glob" completed in 1.9 ms +2024-06-20 19:47:45.063 +02:00 [INF] Query-Time for Package "glob-parent" completed in 2.4 ms +2024-06-20 19:47:45.065 +02:00 [INF] Query-Time for Package "merge2" completed in 1.9 ms +2024-06-20 19:47:45.068 +02:00 [INF] Query-Time for Package "fast-glob" completed in 2.0 ms +2024-06-20 19:47:45.070 +02:00 [INF] Query-Time for Package "globby" completed in 2.1 ms +2024-06-20 19:47:45.072 +02:00 [INF] Query-Time for Package "confusing-browser-globals" completed in 2.4 ms +2024-06-20 19:47:45.075 +02:00 [INF] Query-Time for Package "eslint-plugin-import" completed in 2.0 ms +2024-06-20 19:47:45.077 +02:00 [INF] Query-Time for Package "function-bind" completed in 2.3 ms +2024-06-20 19:47:45.079 +02:00 [INF] Query-Time for Package "get-intrinsic" completed in 2.3 ms +2024-06-20 19:47:45.082 +02:00 [INF] Query-Time for Package "call-bind" completed in 2.4 ms +2024-06-20 19:47:45.085 +02:00 [INF] Query-Time for Package "gopd" completed in 2.2 ms +2024-06-20 19:47:45.087 +02:00 [INF] Query-Time for Package "has-property-descriptors" completed in 2.0 ms +2024-06-20 19:47:45.089 +02:00 [INF] Query-Time for Package "define-data-property" completed in 2.2 ms +2024-06-20 19:47:45.091 +02:00 [INF] Query-Time for Package "object-keys" completed in 1.9 ms +2024-06-20 19:47:45.093 +02:00 [INF] Query-Time for Package "define-properties" completed in 2.0 ms +2024-06-20 19:47:45.096 +02:00 [INF] Query-Time for Package "has-symbols" completed in 2.1 ms +2024-06-20 19:47:45.097 +02:00 [INF] Query-Time for Package "object.assign" completed in 1.8 ms +2024-06-20 19:47:45.100 +02:00 [INF] Query-Time for Package "is-array-buffer" completed in 2.0 ms +2024-06-20 19:47:45.102 +02:00 [INF] Query-Time for Package "array-buffer-byte-length" completed in 1.9 ms +2024-06-20 19:47:45.104 +02:00 [INF] Query-Time for Package "es-abstract" completed in 1.7 ms +2024-06-20 19:47:45.105 +02:00 [INF] Query-Time for Package "is-shared-array-buffer" completed in 1.8 ms +2024-06-20 19:47:45.107 +02:00 [INF] Query-Time for Package "arraybuffer.prototype.slice" completed in 1.8 ms +2024-06-20 19:47:45.109 +02:00 [INF] Query-Time for Package "available-typed-arrays" completed in 1.9 ms +2024-06-20 19:47:45.111 +02:00 [INF] Query-Time for Package "has-tostringtag" completed in 1.9 ms +2024-06-20 19:47:45.113 +02:00 [INF] Query-Time for Package "has" completed in 1.7 ms +2024-06-20 19:47:45.115 +02:00 [INF] Query-Time for Package "es-set-tostringtag" completed in 1.7 ms +2024-06-20 19:47:45.117 +02:00 [INF] Query-Time for Package "is-callable" completed in 1.8 ms +2024-06-20 19:47:45.119 +02:00 [INF] Query-Time for Package "is-date-object" completed in 1.7 ms +2024-06-20 19:47:45.121 +02:00 [INF] Query-Time for Package "is-symbol" completed in 1.8 ms +2024-06-20 19:47:45.123 +02:00 [INF] Query-Time for Package "es-to-primitive" completed in 1.8 ms +2024-06-20 19:47:45.125 +02:00 [INF] Query-Time for Package "functions-have-names" completed in 2.0 ms +2024-06-20 19:47:45.127 +02:00 [INF] Query-Time for Package "function.prototype.name" completed in 1.9 ms +2024-06-20 19:47:45.129 +02:00 [INF] Query-Time for Package "get-symbol-description" completed in 1.9 ms +2024-06-20 19:47:45.131 +02:00 [INF] Query-Time for Package "globalthis" completed in 1.9 ms +2024-06-20 19:47:45.133 +02:00 [INF] Query-Time for Package "has-proto" completed in 1.8 ms +2024-06-20 19:47:45.135 +02:00 [INF] Query-Time for Package "object-inspect" completed in 1.9 ms +2024-06-20 19:47:45.137 +02:00 [INF] Query-Time for Package "side-channel" completed in 2.0 ms +2024-06-20 19:47:45.140 +02:00 [INF] Query-Time for Package "internal-slot" completed in 2.2 ms +2024-06-20 19:47:45.142 +02:00 [INF] Query-Time for Package "is-typed-array" completed in 2.1 ms +2024-06-20 19:47:45.144 +02:00 [INF] Query-Time for Package "is-negative-zero" completed in 2.0 ms +2024-06-20 19:47:45.146 +02:00 [INF] Query-Time for Package "is-regex" completed in 1.9 ms +2024-06-20 19:47:45.148 +02:00 [INF] Query-Time for Package "is-string" completed in 2.2 ms +2024-06-20 19:47:45.151 +02:00 [INF] Query-Time for Package "which-typed-array" completed in 2.3 ms +2024-06-20 19:47:45.153 +02:00 [INF] Query-Time for Package "is-weakref" completed in 2.1 ms +2024-06-20 19:47:45.156 +02:00 [INF] Query-Time for Package "set-function-name" completed in 2.3 ms +2024-06-20 19:47:45.158 +02:00 [INF] Query-Time for Package "regexp.prototype.flags" completed in 2.1 ms +2024-06-20 19:47:45.160 +02:00 [INF] Query-Time for Package "isarray" completed in 2.4 ms +2024-06-20 19:47:45.163 +02:00 [INF] Query-Time for Package "safe-array-concat" completed in 2.0 ms +2024-06-20 19:47:45.165 +02:00 [INF] Query-Time for Package "safe-regex-test" completed in 2.0 ms +2024-06-20 19:47:45.167 +02:00 [INF] Query-Time for Package "string.prototype.trim" completed in 2.1 ms +2024-06-20 19:47:45.169 +02:00 [INF] Query-Time for Package "string.prototype.trimend" completed in 2.0 ms +2024-06-20 19:47:45.171 +02:00 [INF] Query-Time for Package "string.prototype.trimstart" completed in 1.8 ms +2024-06-20 19:47:45.173 +02:00 [INF] Query-Time for Package "typed-array-buffer" completed in 1.8 ms +2024-06-20 19:47:45.175 +02:00 [INF] Query-Time for Package "for-each" completed in 1.8 ms +2024-06-20 19:47:45.177 +02:00 [INF] Query-Time for Package "typed-array-byte-length" completed in 1.9 ms +2024-06-20 19:47:45.179 +02:00 [INF] Query-Time for Package "typed-array-byte-offset" completed in 1.9 ms +2024-06-20 19:47:45.181 +02:00 [INF] Query-Time for Package "typed-array-length" completed in 2.0 ms +2024-06-20 19:47:45.183 +02:00 [INF] Query-Time for Package "has-bigints" completed in 1.8 ms +2024-06-20 19:47:45.185 +02:00 [INF] Query-Time for Package "is-bigint" completed in 2.0 ms +2024-06-20 19:47:45.187 +02:00 [INF] Query-Time for Package "is-boolean-object" completed in 1.7 ms +2024-06-20 19:47:45.189 +02:00 [INF] Query-Time for Package "is-number-object" completed in 1.8 ms +2024-06-20 19:47:45.191 +02:00 [INF] Query-Time for Package "which-boxed-primitive" completed in 1.8 ms +2024-06-20 19:47:45.193 +02:00 [INF] Query-Time for Package "unbox-primitive" completed in 1.7 ms +2024-06-20 19:47:45.195 +02:00 [INF] Query-Time for Package "object.entries" completed in 1.8 ms +2024-06-20 19:47:45.197 +02:00 [INF] Query-Time for Package "semver" completed in 1.8 ms +2024-06-20 19:47:45.199 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-base" completed in 1.8 ms +2024-06-20 19:47:45.201 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-typescript" completed in 2.0 ms +2024-06-20 19:47:45.203 +02:00 [INF] Query-Time for Package "eslint-config-prettier" completed in 2.0 ms +2024-06-20 19:47:45.205 +02:00 [INF] Query-Time for Package "array-includes" completed in 1.9 ms +2024-06-20 19:47:45.207 +02:00 [INF] Query-Time for Package "es-shim-unscopables" completed in 1.7 ms +2024-06-20 19:47:45.209 +02:00 [INF] Query-Time for Package "array.prototype.findlastindex" completed in 1.9 ms +2024-06-20 19:47:45.211 +02:00 [INF] Query-Time for Package "array.prototype.flat" completed in 1.9 ms +2024-06-20 19:47:45.213 +02:00 [INF] Query-Time for Package "array.prototype.flatmap" completed in 1.7 ms +2024-06-20 19:47:45.215 +02:00 [INF] Query-Time for Package "debug" completed in 1.9 ms +2024-06-20 19:47:45.218 +02:00 [INF] Query-Time for Package "esutils" completed in 2.6 ms +2024-06-20 19:47:45.221 +02:00 [INF] Query-Time for Package "doctrine" completed in 2.7 ms +2024-06-20 19:47:45.224 +02:00 [INF] Query-Time for Package "path-parse" completed in 2.5 ms +2024-06-20 19:47:45.226 +02:00 [INF] Query-Time for Package "supports-preserve-symlinks-flag" completed in 2.1 ms +2024-06-20 19:47:45.228 +02:00 [INF] Query-Time for Package "eslint-import-resolver-node" completed in 2.0 ms +2024-06-20 19:47:45.231 +02:00 [INF] Query-Time for Package "eslint-module-utils" completed in 2.1 ms +2024-06-20 19:47:45.233 +02:00 [INF] Query-Time for Package "is-extglob" completed in 2.3 ms +2024-06-20 19:47:45.235 +02:00 [INF] Query-Time for Package "balanced-match" completed in 1.9 ms +2024-06-20 19:47:45.237 +02:00 [INF] Query-Time for Package "concat-map" completed in 2.1 ms +2024-06-20 19:47:45.239 +02:00 [INF] Query-Time for Package "brace-expansion" completed in 1.9 ms +2024-06-20 19:47:45.242 +02:00 [INF] Query-Time for Package "minimatch" completed in 2.8 ms +2024-06-20 19:47:45.245 +02:00 [INF] Query-Time for Package "object.fromentries" completed in 2.1 ms +2024-06-20 19:47:45.247 +02:00 [INF] Query-Time for Package "object.groupby" completed in 1.8 ms +2024-06-20 19:47:45.249 +02:00 [INF] Query-Time for Package "object.values" completed in 1.8 ms +2024-06-20 19:47:45.251 +02:00 [INF] Query-Time for Package "@types/json5" completed in 1.9 ms +2024-06-20 19:47:45.253 +02:00 [INF] Query-Time for Package "json5" completed in 2.6 ms +2024-06-20 19:47:45.256 +02:00 [INF] Query-Time for Package "strip-bom" completed in 1.9 ms +2024-06-20 19:47:45.258 +02:00 [INF] Query-Time for Package "tsconfig-paths" completed in 1.9 ms +2024-06-20 19:47:45.260 +02:00 [INF] Query-Time for Package "fast-diff" completed in 2.1 ms +2024-06-20 19:47:45.262 +02:00 [INF] Query-Time for Package "prettier-linter-helpers" completed in 1.9 ms +2024-06-20 19:47:45.264 +02:00 [INF] Query-Time for Package "prettier" completed in 1.8 ms +2024-06-20 19:47:45.266 +02:00 [INF] Query-Time for Package "run-applescript" completed in 1.9 ms +2024-06-20 19:47:45.268 +02:00 [INF] Query-Time for Package "bundle-name" completed in 1.9 ms +2024-06-20 19:47:45.270 +02:00 [INF] Query-Time for Package "big-integer" completed in 1.9 ms +2024-06-20 19:47:45.272 +02:00 [INF] Query-Time for Package "bplist-parser" completed in 1.7 ms +2024-06-20 19:47:45.274 +02:00 [INF] Query-Time for Package "untildify" completed in 1.8 ms +2024-06-20 19:47:45.276 +02:00 [INF] Query-Time for Package "default-browser-id" completed in 1.9 ms +2024-06-20 19:47:45.278 +02:00 [INF] Query-Time for Package "human-signals" completed in 1.7 ms +2024-06-20 19:47:45.280 +02:00 [INF] Query-Time for Package "is-stream" completed in 1.9 ms +2024-06-20 19:47:45.282 +02:00 [INF] Query-Time for Package "path-key" completed in 1.9 ms +2024-06-20 19:47:45.284 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 1.8 ms +2024-06-20 19:47:45.286 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 1.8 ms +2024-06-20 19:47:45.288 +02:00 [INF] Query-Time for Package "onetime" completed in 1.8 ms +2024-06-20 19:47:45.290 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 2.0 ms +2024-06-20 19:47:45.292 +02:00 [INF] Query-Time for Package "execa" completed in 1.9 ms +2024-06-20 19:47:45.294 +02:00 [INF] Query-Time for Package "titleize" completed in 1.7 ms +2024-06-20 19:47:45.296 +02:00 [INF] Query-Time for Package "default-browser" completed in 1.8 ms +2024-06-20 19:47:45.297 +02:00 [INF] Query-Time for Package "define-lazy-prop" completed in 1.8 ms +2024-06-20 19:47:45.299 +02:00 [INF] Query-Time for Package "is-docker" completed in 1.8 ms +2024-06-20 19:47:45.302 +02:00 [INF] Query-Time for Package "is-inside-container" completed in 2.1 ms +2024-06-20 19:47:45.304 +02:00 [INF] Query-Time for Package "is-docker" completed in 1.8 ms +2024-06-20 19:47:45.306 +02:00 [INF] Query-Time for Package "is-wsl" completed in 2.2 ms +2024-06-20 19:47:45.308 +02:00 [INF] Query-Time for Package "open" completed in 2.0 ms +2024-06-20 19:47:45.310 +02:00 [INF] Query-Time for Package "picocolors" completed in 2.1 ms +2024-06-20 19:47:45.312 +02:00 [INF] Query-Time for Package "tslib" completed in 2.0 ms +2024-06-20 19:47:45.314 +02:00 [INF] Query-Time for Package "@pkgr/utils" completed in 1.8 ms +2024-06-20 19:47:45.317 +02:00 [INF] Query-Time for Package "synckit" completed in 2.0 ms +2024-06-20 19:47:45.319 +02:00 [INF] Query-Time for Package "eslint-plugin-prettier" completed in 2.1 ms +2024-06-20 19:47:45.321 +02:00 [INF] Query-Time for Package "fast-json-stable-stringify" completed in 2.1 ms +2024-06-20 19:47:45.323 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 1.8 ms +2024-06-20 19:47:45.325 +02:00 [INF] Query-Time for Package "ajv" completed in 1.9 ms +2024-06-20 19:47:45.327 +02:00 [INF] Query-Time for Package "espree" completed in 1.8 ms +2024-06-20 19:47:45.329 +02:00 [INF] Query-Time for Package "globals" completed in 1.8 ms +2024-06-20 19:47:45.331 +02:00 [INF] Query-Time for Package "callsites" completed in 2.0 ms +2024-06-20 19:47:45.333 +02:00 [INF] Query-Time for Package "parent-module" completed in 2.0 ms +2024-06-20 19:47:45.336 +02:00 [INF] Query-Time for Package "resolve-from" completed in 2.2 ms +2024-06-20 19:47:45.338 +02:00 [INF] Query-Time for Package "strip-json-comments" completed in 2.4 ms +2024-06-20 19:47:45.340 +02:00 [INF] Query-Time for Package "@eslint/eslintrc" completed in 2.0 ms +2024-06-20 19:47:45.343 +02:00 [INF] Query-Time for Package "@eslint/js" completed in 2.1 ms +2024-06-20 19:47:45.345 +02:00 [INF] Query-Time for Package "@humanwhocodes/object-schema" completed in 2.0 ms +2024-06-20 19:47:45.347 +02:00 [INF] Query-Time for Package "@humanwhocodes/config-array" completed in 1.8 ms +2024-06-20 19:47:45.349 +02:00 [INF] Query-Time for Package "@humanwhocodes/module-importer" completed in 1.9 ms +2024-06-20 19:47:45.351 +02:00 [INF] Query-Time for Package "queue-microtask" completed in 2.4 ms +2024-06-20 19:47:45.354 +02:00 [INF] Query-Time for Package "run-parallel" completed in 2.5 ms +2024-06-20 19:47:45.357 +02:00 [INF] Query-Time for Package "@nodelib/fs.scandir" completed in 2.3 ms +2024-06-20 19:47:45.360 +02:00 [INF] Query-Time for Package "reusify" completed in 3.0 ms +2024-06-20 19:47:45.363 +02:00 [INF] Query-Time for Package "fastq" completed in 3.0 ms +2024-06-20 19:47:45.367 +02:00 [INF] Query-Time for Package "punycode" completed in 3.5 ms +2024-06-20 19:47:45.370 +02:00 [INF] Query-Time for Package "color-name" completed in 3.4 ms +2024-06-20 19:47:45.373 +02:00 [INF] Query-Time for Package "color-convert" completed in 3.0 ms +2024-06-20 19:47:45.377 +02:00 [INF] Query-Time for Package "has-flag" completed in 2.9 ms +2024-06-20 19:47:45.379 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.6 ms +2024-06-20 19:47:45.383 +02:00 [INF] Query-Time for Package "shebang-regex" completed in 3.0 ms +2024-06-20 19:47:45.386 +02:00 [INF] Query-Time for Package "shebang-command" completed in 3.2 ms +2024-06-20 19:47:45.389 +02:00 [INF] Query-Time for Package "isexe" completed in 3.0 ms +2024-06-20 19:47:45.392 +02:00 [INF] Query-Time for Package "which" completed in 2.6 ms +2024-06-20 19:47:45.394 +02:00 [INF] Query-Time for Package "doctrine" completed in 2.3 ms +2024-06-20 19:47:45.397 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.3 ms +2024-06-20 19:47:45.399 +02:00 [INF] Query-Time for Package "estraverse" completed in 2.2 ms +2024-06-20 19:47:45.402 +02:00 [INF] Query-Time for Package "esrecurse" completed in 2.4 ms +2024-06-20 19:47:45.404 +02:00 [INF] Query-Time for Package "eslint-scope" completed in 2.0 ms +2024-06-20 19:47:45.406 +02:00 [INF] Query-Time for Package "acorn-jsx" completed in 2.0 ms +2024-06-20 19:47:45.408 +02:00 [INF] Query-Time for Package "esquery" completed in 2.1 ms +2024-06-20 19:47:45.411 +02:00 [INF] Query-Time for Package "flatted" completed in 2.2 ms +2024-06-20 19:47:45.413 +02:00 [INF] Query-Time for Package "json-buffer" completed in 2.2 ms +2024-06-20 19:47:45.416 +02:00 [INF] Query-Time for Package "keyv" completed in 2.4 ms +2024-06-20 19:47:45.418 +02:00 [INF] Query-Time for Package "fs.realpath" completed in 2.1 ms +2024-06-20 19:47:45.421 +02:00 [INF] Query-Time for Package "once" completed in 2.7 ms +2024-06-20 19:47:45.423 +02:00 [INF] Query-Time for Package "wrappy" completed in 2.1 ms +2024-06-20 19:47:45.426 +02:00 [INF] Query-Time for Package "inflight" completed in 2.2 ms +2024-06-20 19:47:45.429 +02:00 [INF] Query-Time for Package "path-is-absolute" completed in 3.5 ms +2024-06-20 19:47:45.433 +02:00 [INF] Query-Time for Package "glob" completed in 3.8 ms +2024-06-20 19:47:45.437 +02:00 [INF] Query-Time for Package "rimraf" completed in 3.5 ms +2024-06-20 19:47:45.440 +02:00 [INF] Query-Time for Package "flat-cache" completed in 3.0 ms +2024-06-20 19:47:45.444 +02:00 [INF] Query-Time for Package "file-entry-cache" completed in 3.3 ms +2024-06-20 19:47:45.447 +02:00 [INF] Query-Time for Package "yocto-queue" completed in 2.8 ms +2024-06-20 19:47:45.450 +02:00 [INF] Query-Time for Package "p-limit" completed in 2.6 ms +2024-06-20 19:47:45.452 +02:00 [INF] Query-Time for Package "p-locate" completed in 2.5 ms +2024-06-20 19:47:45.455 +02:00 [INF] Query-Time for Package "locate-path" completed in 2.6 ms +2024-06-20 19:47:45.459 +02:00 [INF] Query-Time for Package "glob-parent" completed in 3.2 ms +2024-06-20 19:47:45.461 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.4 ms +2024-06-20 19:47:45.464 +02:00 [INF] Query-Time for Package "imurmurhash" completed in 2.6 ms +2024-06-20 19:47:45.467 +02:00 [INF] Query-Time for Package "is-path-inside" completed in 2.5 ms +2024-06-20 19:47:45.470 +02:00 [INF] Query-Time for Package "argparse" completed in 2.8 ms +2024-06-20 19:47:45.472 +02:00 [INF] Query-Time for Package "json-stable-stringify-without-jsonify" completed in 2.4 ms +2024-06-20 19:47:45.475 +02:00 [INF] Query-Time for Package "prelude-ls" completed in 2.6 ms +2024-06-20 19:47:45.478 +02:00 [INF] Query-Time for Package "type-check" completed in 2.1 ms +2024-06-20 19:47:45.480 +02:00 [INF] Query-Time for Package "levn" completed in 2.7 ms +2024-06-20 19:47:45.484 +02:00 [INF] Query-Time for Package "@aashutoshrathi/word-wrap" completed in 2.8 ms +2024-06-20 19:47:45.486 +02:00 [INF] Query-Time for Package "deep-is" completed in 2.8 ms +2024-06-20 19:47:45.489 +02:00 [INF] Query-Time for Package "fast-levenshtein" completed in 2.6 ms +2024-06-20 19:47:45.492 +02:00 [INF] Query-Time for Package "optionator" completed in 2.2 ms +2024-06-20 19:47:45.494 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 2.2 ms +2024-06-20 19:47:45.496 +02:00 [INF] Query-Time for Package "text-table" completed in 2.2 ms +2024-06-20 19:47:45.502 +02:00 [INF] Query-Time for Package "husky" completed in 5.6 ms +2024-06-20 19:47:45.505 +02:00 [INF] Query-Time for Package "chalk" completed in 2.8 ms +2024-06-20 19:47:45.508 +02:00 [INF] Query-Time for Package "commander" completed in 2.1 ms +2024-06-20 19:47:45.510 +02:00 [INF] Query-Time for Package "lilconfig" completed in 1.9 ms +2024-06-20 19:47:45.512 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.1 ms +2024-06-20 19:47:45.514 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 1.8 ms +2024-06-20 19:47:45.516 +02:00 [INF] Query-Time for Package "slice-ansi" completed in 1.8 ms +2024-06-20 19:47:45.518 +02:00 [INF] Query-Time for Package "eastasianwidth" completed in 2.0 ms +2024-06-20 19:47:45.520 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 2.0 ms +2024-06-20 19:47:45.522 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 2.1 ms +2024-06-20 19:47:45.525 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.1 ms +2024-06-20 19:47:45.527 +02:00 [INF] Query-Time for Package "string-width" completed in 1.9 ms +2024-06-20 19:47:45.529 +02:00 [INF] Query-Time for Package "cli-truncate" completed in 2.0 ms +2024-06-20 19:47:45.531 +02:00 [INF] Query-Time for Package "colorette" completed in 1.9 ms +2024-06-20 19:47:45.533 +02:00 [INF] Query-Time for Package "enquirer" completed in 2.1 ms +2024-06-20 19:47:45.535 +02:00 [INF] Query-Time for Package "eventemitter3" completed in 2.2 ms +2024-06-20 19:47:45.538 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.0 ms +2024-06-20 19:47:45.540 +02:00 [INF] Query-Time for Package "ansi-escapes" completed in 2.0 ms +2024-06-20 19:47:45.542 +02:00 [INF] Query-Time for Package "restore-cursor" completed in 2.2 ms +2024-06-20 19:47:45.544 +02:00 [INF] Query-Time for Package "cli-cursor" completed in 2.1 ms +2024-06-20 19:47:45.547 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 2.0 ms +2024-06-20 19:47:45.549 +02:00 [INF] Query-Time for Package "log-update" completed in 2.4 ms +2024-06-20 19:47:45.552 +02:00 [INF] Query-Time for Package "rfdc" completed in 2.2 ms +2024-06-20 19:47:45.554 +02:00 [INF] Query-Time for Package "listr2" completed in 2.1 ms +2024-06-20 19:47:45.556 +02:00 [INF] Query-Time for Package "is-number" completed in 1.9 ms +2024-06-20 19:47:45.558 +02:00 [INF] Query-Time for Package "to-regex-range" completed in 1.7 ms +2024-06-20 19:47:45.559 +02:00 [INF] Query-Time for Package "fill-range" completed in 1.8 ms +2024-06-20 19:47:45.561 +02:00 [INF] Query-Time for Package "braces" completed in 1.8 ms +2024-06-20 19:47:45.563 +02:00 [INF] Query-Time for Package "pidtree" completed in 1.9 ms +2024-06-20 19:47:45.565 +02:00 [INF] Query-Time for Package "string-argv" completed in 1.9 ms +2024-06-20 19:47:45.568 +02:00 [INF] Query-Time for Package "yaml" completed in 2.0 ms +2024-06-20 19:47:45.570 +02:00 [INF] Query-Time for Package "lint-staged" completed in 2.0 ms +2024-06-20 19:48:58.619 +02:00 [INF] Query-Time for Package "async" completed in 4.5 ms +2024-06-20 19:48:58.622 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 3.3 ms +2024-06-20 19:48:58.625 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.5 ms +2024-06-20 19:48:58.628 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 3.2 ms +2024-06-20 19:48:58.633 +02:00 [INF] Query-Time for Package "has-ansi" completed in 4.2 ms +2024-06-20 19:48:58.637 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 3.8 ms +2024-06-20 19:48:58.640 +02:00 [INF] Query-Time for Package "supports-color" completed in 3.5 ms +2024-06-20 19:48:58.644 +02:00 [INF] Query-Time for Package "chalk" completed in 3.5 ms +2024-06-20 19:48:58.647 +02:00 [INF] Query-Time for Package "aws-sign2" completed in 2.7 ms +2024-06-20 19:48:58.650 +02:00 [INF] Query-Time for Package "core-util-is" completed in 2.6 ms +2024-06-20 19:48:58.652 +02:00 [INF] Query-Time for Package "inherits" completed in 2.6 ms +2024-06-20 19:48:58.655 +02:00 [INF] Query-Time for Package "isarray" completed in 2.2 ms +2024-06-20 19:48:58.658 +02:00 [INF] Query-Time for Package "string_decoder" completed in 3.2 ms +2024-06-20 19:48:58.661 +02:00 [INF] Query-Time for Package "readable-stream" completed in 3.0 ms +2024-06-20 19:48:58.665 +02:00 [INF] Query-Time for Package "bl" completed in 3.6 ms +2024-06-20 19:48:58.669 +02:00 [INF] Query-Time for Package "caseless" completed in 3.2 ms +2024-06-20 19:48:58.672 +02:00 [INF] Query-Time for Package "forever-agent" completed in 3.3 ms +2024-06-20 19:48:58.676 +02:00 [INF] Query-Time for Package "async" completed in 3.0 ms +2024-06-20 19:48:58.679 +02:00 [INF] Query-Time for Package "delayed-stream" completed in 2.9 ms +2024-06-20 19:48:58.681 +02:00 [INF] Query-Time for Package "combined-stream" completed in 2.6 ms +2024-06-20 19:48:58.684 +02:00 [INF] Query-Time for Package "mime" completed in 2.2 ms +2024-06-20 19:48:58.686 +02:00 [INF] Query-Time for Package "form-data" completed in 1.9 ms +2024-06-20 19:48:58.689 +02:00 [INF] Query-Time for Package "hoek" completed in 2.8 ms +2024-06-20 19:48:58.691 +02:00 [INF] Query-Time for Package "boom" completed in 2.1 ms +2024-06-20 19:48:58.693 +02:00 [INF] Query-Time for Package "cryptiles" completed in 2.0 ms +2024-06-20 19:48:58.695 +02:00 [INF] Query-Time for Package "sntp" completed in 2.0 ms +2024-06-20 19:48:58.698 +02:00 [INF] Query-Time for Package "hawk" completed in 2.3 ms +2024-06-20 19:48:58.701 +02:00 [INF] Query-Time for Package "asn1" completed in 2.5 ms +2024-06-20 19:48:58.703 +02:00 [INF] Query-Time for Package "assert-plus" completed in 2.4 ms +2024-06-20 19:48:58.705 +02:00 [INF] Query-Time for Package "ctype" completed in 2.1 ms +2024-06-20 19:48:58.707 +02:00 [INF] Query-Time for Package "http-signature" completed in 1.9 ms +2024-06-20 19:48:58.710 +02:00 [INF] Query-Time for Package "json-stringify-safe" completed in 2.0 ms +2024-06-20 19:48:58.712 +02:00 [INF] Query-Time for Package "mime-types" completed in 2.0 ms +2024-06-20 19:48:58.715 +02:00 [INF] Query-Time for Package "node-uuid" completed in 3.0 ms +2024-06-20 19:48:58.717 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 2.2 ms +2024-06-20 19:48:58.720 +02:00 [INF] Query-Time for Package "qs" completed in 1.9 ms +2024-06-20 19:48:58.722 +02:00 [INF] Query-Time for Package "stringstream" completed in 1.9 ms +2024-06-20 19:48:58.724 +02:00 [INF] Query-Time for Package "tough-cookie" completed in 2.7 ms +2024-06-20 19:48:58.727 +02:00 [INF] Query-Time for Package "tunnel-agent" completed in 2.4 ms +2024-06-20 19:48:58.730 +02:00 [INF] Query-Time for Package "request" completed in 2.4 ms +2024-06-20 19:48:58.732 +02:00 [INF] Query-Time for Package "deep-equal" completed in 2.5 ms +2024-06-20 19:48:58.735 +02:00 [INF] Query-Time for Package "defined" completed in 2.7 ms +2024-06-20 19:48:58.738 +02:00 [INF] Query-Time for Package "jsonify" completed in 2.2 ms +2024-06-20 19:48:58.740 +02:00 [INF] Query-Time for Package "through" completed in 1.9 ms +2024-06-20 19:48:58.742 +02:00 [INF] Query-Time for Package "resumer" completed in 2.4 ms +2024-06-20 19:48:58.745 +02:00 [INF] Query-Time for Package "split" completed in 2.5 ms +2024-06-20 19:48:58.747 +02:00 [INF] Query-Time for Package "duplexer" completed in 2.0 ms +2024-06-20 19:48:58.750 +02:00 [INF] Query-Time for Package "stream-combiner" completed in 2.3 ms +2024-06-20 19:48:58.752 +02:00 [INF] Query-Time for Package "tape" completed in 2.0 ms +2024-06-20 19:48:58.754 +02:00 [INF] Query-Time for Package "urlgrey" completed in 2.0 ms +2024-06-20 19:48:58.756 +02:00 [INF] Query-Time for Package "codecov.io" completed in 2.0 ms +2024-06-20 19:48:58.758 +02:00 [INF] Query-Time for Package "sprintf-js" completed in 1.9 ms +2024-06-20 19:48:58.760 +02:00 [INF] Query-Time for Package "argparse" completed in 2.0 ms +2024-06-20 19:48:58.762 +02:00 [INF] Query-Time for Package "esprima" completed in 2.1 ms +2024-06-20 19:48:58.765 +02:00 [INF] Query-Time for Package "js-yaml" completed in 2.2 ms +2024-06-20 19:48:58.767 +02:00 [INF] Query-Time for Package "lcov-parse" completed in 2.2 ms +2024-06-20 19:48:58.769 +02:00 [INF] Query-Time for Package "log-driver" completed in 2.1 ms +2024-06-20 19:48:58.771 +02:00 [INF] Query-Time for Package "minimist" completed in 2.1 ms +2024-06-20 19:48:58.774 +02:00 [INF] Query-Time for Package "aws-sign2" completed in 2.0 ms +2024-06-20 19:48:58.776 +02:00 [INF] Query-Time for Package "aws4" completed in 2.0 ms +2024-06-20 19:48:58.778 +02:00 [INF] Query-Time for Package "caseless" completed in 2.2 ms +2024-06-20 19:48:58.780 +02:00 [INF] Query-Time for Package "combined-stream" completed in 2.1 ms +2024-06-20 19:48:58.783 +02:00 [INF] Query-Time for Package "extend" completed in 2.5 ms +2024-06-20 19:48:58.785 +02:00 [INF] Query-Time for Package "forever-agent" completed in 2.0 ms +2024-06-20 19:48:58.787 +02:00 [INF] Query-Time for Package "asynckit" completed in 1.8 ms +2024-06-20 19:48:58.789 +02:00 [INF] Query-Time for Package "mime-types" completed in 1.9 ms +2024-06-20 19:48:58.791 +02:00 [INF] Query-Time for Package "form-data" completed in 1.8 ms +2024-06-20 19:48:58.793 +02:00 [INF] Query-Time for Package "commander" completed in 1.9 ms +2024-06-20 19:48:58.795 +02:00 [INF] Query-Time for Package "is-property" completed in 2.1 ms +2024-06-20 19:48:58.798 +02:00 [INF] Query-Time for Package "generate-function" completed in 1.9 ms +2024-06-20 19:48:58.800 +02:00 [INF] Query-Time for Package "generate-object-property" completed in 2.1 ms +2024-06-20 19:48:58.802 +02:00 [INF] Query-Time for Package "is-my-ip-valid" completed in 2.2 ms +2024-06-20 19:48:58.805 +02:00 [INF] Query-Time for Package "jsonpointer" completed in 2.5 ms +2024-06-20 19:48:58.807 +02:00 [INF] Query-Time for Package "xtend" completed in 2.0 ms +2024-06-20 19:48:58.809 +02:00 [INF] Query-Time for Package "is-my-json-valid" completed in 2.1 ms +2024-06-20 19:48:58.812 +02:00 [INF] Query-Time for Package "pinkie" completed in 1.9 ms +2024-06-20 19:48:58.813 +02:00 [INF] Query-Time for Package "pinkie-promise" completed in 1.8 ms +2024-06-20 19:48:58.815 +02:00 [INF] Query-Time for Package "har-validator" completed in 1.9 ms +2024-06-20 19:48:58.817 +02:00 [INF] Query-Time for Package "hoek" completed in 1.8 ms +2024-06-20 19:48:58.819 +02:00 [INF] Query-Time for Package "boom" completed in 1.9 ms +2024-06-20 19:48:58.821 +02:00 [INF] Query-Time for Package "cryptiles" completed in 1.9 ms +2024-06-20 19:48:58.824 +02:00 [INF] Query-Time for Package "sntp" completed in 2.0 ms +2024-06-20 19:48:58.826 +02:00 [INF] Query-Time for Package "hawk" completed in 2.2 ms +2024-06-20 19:48:58.829 +02:00 [INF] Query-Time for Package "assert-plus" completed in 2.3 ms +2024-06-20 19:48:58.831 +02:00 [INF] Query-Time for Package "jsprim" completed in 2.0 ms +2024-06-20 19:48:58.833 +02:00 [INF] Query-Time for Package "sshpk" completed in 2.2 ms +2024-06-20 19:48:58.835 +02:00 [INF] Query-Time for Package "http-signature" completed in 2.0 ms +2024-06-20 19:48:58.838 +02:00 [INF] Query-Time for Package "is-typedarray" completed in 3.1 ms +2024-06-20 19:48:58.842 +02:00 [INF] Query-Time for Package "isstream" completed in 3.6 ms +2024-06-20 19:48:58.846 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 3.4 ms +2024-06-20 19:48:58.849 +02:00 [INF] Query-Time for Package "qs" completed in 3.4 ms +2024-06-20 19:48:58.853 +02:00 [INF] Query-Time for Package "punycode" completed in 3.2 ms +2024-06-20 19:48:58.855 +02:00 [INF] Query-Time for Package "tough-cookie" completed in 2.4 ms +2024-06-20 19:48:58.858 +02:00 [INF] Query-Time for Package "uuid" completed in 2.4 ms +2024-06-20 19:48:58.860 +02:00 [INF] Query-Time for Package "request" completed in 2.1 ms +2024-06-20 19:48:58.862 +02:00 [INF] Query-Time for Package "coveralls" completed in 2.0 ms +2024-06-20 19:48:58.864 +02:00 [INF] Query-Time for Package "curl-amd" completed in 1.9 ms +2024-06-20 19:48:58.867 +02:00 [INF] Query-Time for Package "lodash" completed in 2.5 ms +2024-06-20 19:48:58.870 +02:00 [INF] Query-Time for Package "docdown" completed in 2.5 ms +2024-06-20 19:48:58.875 +02:00 [INF] Query-Time for Package "dojo" completed in 4.1 ms +2024-06-20 19:48:58.879 +02:00 [INF] Query-Time for Package "he" completed in 3.2 ms +2024-06-20 19:48:58.881 +02:00 [INF] Query-Time for Package "mime" completed in 1.8 ms +2024-06-20 19:48:58.883 +02:00 [INF] Query-Time for Package "minimist" completed in 2.0 ms +2024-06-20 19:48:58.885 +02:00 [INF] Query-Time for Package "url-join" completed in 2.2 ms +2024-06-20 19:48:58.888 +02:00 [INF] Query-Time for Package "ecstatic" completed in 2.6 ms +2024-06-20 19:48:58.890 +02:00 [INF] Query-Time for Package "graceful-fs" completed in 1.8 ms +2024-06-20 19:48:58.892 +02:00 [INF] Query-Time for Package "jsonfile" completed in 1.7 ms +2024-06-20 19:48:58.894 +02:00 [INF] Query-Time for Package "klaw" completed in 1.8 ms +2024-06-20 19:48:58.896 +02:00 [INF] Query-Time for Package "path-is-absolute" completed in 1.7 ms +2024-06-20 19:48:58.898 +02:00 [INF] Query-Time for Package "fs.realpath" completed in 1.7 ms +2024-06-20 19:48:58.900 +02:00 [INF] Query-Time for Package "inflight" completed in 2.4 ms +2024-06-20 19:48:58.902 +02:00 [INF] Query-Time for Package "brace-expansion" completed in 2.0 ms +2024-06-20 19:48:58.904 +02:00 [INF] Query-Time for Package "minimatch" completed in 1.9 ms +2024-06-20 19:48:58.907 +02:00 [INF] Query-Time for Package "once" completed in 1.9 ms +2024-06-20 19:48:58.908 +02:00 [INF] Query-Time for Package "glob" completed in 1.7 ms +2024-06-20 19:48:58.910 +02:00 [INF] Query-Time for Package "rimraf" completed in 1.9 ms +2024-06-20 19:48:58.912 +02:00 [INF] Query-Time for Package "fs-extra" completed in 1.9 ms +2024-06-20 19:48:58.914 +02:00 [INF] Query-Time for Package "abbrev" completed in 1.9 ms +2024-06-20 19:48:58.917 +02:00 [INF] Query-Time for Package "esprima" completed in 2.2 ms +2024-06-20 19:48:58.919 +02:00 [INF] Query-Time for Package "estraverse" completed in 1.9 ms +2024-06-20 19:48:58.921 +02:00 [INF] Query-Time for Package "esutils" completed in 2.3 ms +2024-06-20 19:48:58.923 +02:00 [INF] Query-Time for Package "deep-is" completed in 1.7 ms +2024-06-20 19:48:58.925 +02:00 [INF] Query-Time for Package "fast-levenshtein" completed in 1.9 ms +2024-06-20 19:48:58.927 +02:00 [INF] Query-Time for Package "prelude-ls" completed in 1.8 ms +2024-06-20 19:48:58.929 +02:00 [INF] Query-Time for Package "type-check" completed in 1.8 ms +2024-06-20 19:48:58.931 +02:00 [INF] Query-Time for Package "levn" completed in 2.2 ms +2024-06-20 19:48:58.934 +02:00 [INF] Query-Time for Package "wordwrap" completed in 2.4 ms +2024-06-20 19:48:58.936 +02:00 [INF] Query-Time for Package "optionator" completed in 1.9 ms +2024-06-20 19:48:58.938 +02:00 [INF] Query-Time for Package "amdefine" completed in 1.7 ms +2024-06-20 19:48:58.940 +02:00 [INF] Query-Time for Package "source-map" completed in 1.8 ms +2024-06-20 19:48:58.941 +02:00 [INF] Query-Time for Package "escodegen" completed in 1.8 ms +2024-06-20 19:48:58.943 +02:00 [INF] Query-Time for Package "minimatch" completed in 1.8 ms +2024-06-20 19:48:58.946 +02:00 [INF] Query-Time for Package "glob" completed in 2.2 ms +2024-06-20 19:48:58.949 +02:00 [INF] Query-Time for Package "fileset" completed in 2.8 ms +2024-06-20 19:48:58.951 +02:00 [INF] Query-Time for Package "neo-async" completed in 2.1 ms +2024-06-20 19:48:58.953 +02:00 [INF] Query-Time for Package "source-map" completed in 1.8 ms +2024-06-20 19:48:58.955 +02:00 [INF] Query-Time for Package "uglify-js" completed in 1.9 ms +2024-06-20 19:48:58.957 +02:00 [INF] Query-Time for Package "wordwrap" completed in 1.7 ms +2024-06-20 19:48:58.976 +02:00 [INF] Query-Time for Package "handlebars" completed in 19.0 ms +2024-06-20 19:48:58.979 +02:00 [INF] Query-Time for Package "esprima" completed in 3.1 ms +2024-06-20 19:48:58.982 +02:00 [INF] Query-Time for Package "js-yaml" completed in 2.6 ms +2024-06-20 19:48:58.985 +02:00 [INF] Query-Time for Package "mkdirp" completed in 3.2 ms +2024-06-20 19:48:58.988 +02:00 [INF] Query-Time for Package "nopt" completed in 2.2 ms +2024-06-20 19:48:58.990 +02:00 [INF] Query-Time for Package "wrappy" completed in 2.0 ms +2024-06-20 19:48:58.992 +02:00 [INF] Query-Time for Package "resolve" completed in 1.8 ms +2024-06-20 19:48:58.994 +02:00 [INF] Query-Time for Package "has-flag" completed in 2.0 ms +2024-06-20 19:48:58.996 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.5 ms +2024-06-20 19:48:58.999 +02:00 [INF] Query-Time for Package "isexe" completed in 2.9 ms +2024-06-20 19:48:59.002 +02:00 [INF] Query-Time for Package "which" completed in 2.8 ms +2024-06-20 19:48:59.006 +02:00 [INF] Query-Time for Package "istanbul" completed in 3.0 ms +2024-06-20 19:48:59.016 +02:00 [INF] Query-Time for Package "jquery" completed in 9.9 ms +2024-06-20 19:48:59.020 +02:00 [INF] Query-Time for Package "babel-plugin-constant-folding" completed in 3.6 ms +2024-06-20 19:48:59.023 +02:00 [INF] Query-Time for Package "babel-plugin-dead-code-elimination" completed in 2.7 ms +2024-06-20 19:48:59.027 +02:00 [INF] Query-Time for Package "babel-plugin-eval" completed in 3.1 ms +2024-06-20 19:48:59.030 +02:00 [INF] Query-Time for Package "babel-plugin-inline-environment-variables" completed in 3.3 ms +2024-06-20 19:48:59.033 +02:00 [INF] Query-Time for Package "babel-plugin-jscript" completed in 3.2 ms +2024-06-20 19:48:59.036 +02:00 [INF] Query-Time for Package "babel-plugin-member-expression-literals" completed in 2.4 ms +2024-06-20 19:48:59.038 +02:00 [INF] Query-Time for Package "babel-plugin-property-literals" completed in 1.8 ms +2024-06-20 19:48:59.041 +02:00 [INF] Query-Time for Package "babel-plugin-proto-to-assign" completed in 2.6 ms +2024-06-20 19:48:59.044 +02:00 [INF] Query-Time for Package "babel-plugin-react-constant-elements" completed in 3.4 ms +2024-06-20 19:48:59.048 +02:00 [INF] Query-Time for Package "babel-plugin-react-display-name" completed in 3.5 ms +2024-06-20 19:48:59.051 +02:00 [INF] Query-Time for Package "babel-plugin-remove-console" completed in 3.2 ms +2024-06-20 19:48:59.054 +02:00 [INF] Query-Time for Package "babel-plugin-remove-debugger" completed in 2.9 ms +2024-06-20 19:48:59.057 +02:00 [INF] Query-Time for Package "babel-plugin-runtime" completed in 2.4 ms +2024-06-20 19:48:59.060 +02:00 [INF] Query-Time for Package "leven" completed in 2.5 ms +2024-06-20 19:48:59.062 +02:00 [INF] Query-Time for Package "babel-plugin-undeclared-variables-check" completed in 2.1 ms +2024-06-20 19:48:59.064 +02:00 [INF] Query-Time for Package "babel-plugin-undefined-to-void" completed in 2.0 ms +2024-06-20 19:48:59.067 +02:00 [INF] Query-Time for Package "babylon" completed in 2.8 ms +2024-06-20 19:48:59.070 +02:00 [INF] Query-Time for Package "bluebird" completed in 3.1 ms +2024-06-20 19:48:59.073 +02:00 [INF] Query-Time for Package "convert-source-map" completed in 3.2 ms +2024-06-20 19:48:59.077 +02:00 [INF] Query-Time for Package "core-js" completed in 3.4 ms +2024-06-20 19:48:59.081 +02:00 [INF] Query-Time for Package "ms" completed in 3.4 ms +2024-06-20 19:48:59.085 +02:00 [INF] Query-Time for Package "debug" completed in 3.5 ms +2024-06-20 19:48:59.088 +02:00 [INF] Query-Time for Package "get-stdin" completed in 3.2 ms +2024-06-20 19:48:59.092 +02:00 [INF] Query-Time for Package "repeating" completed in 3.6 ms +2024-06-20 19:48:59.096 +02:00 [INF] Query-Time for Package "detect-indent" completed in 3.6 ms +2024-06-20 19:48:59.099 +02:00 [INF] Query-Time for Package "fs-readdir-recursive" completed in 3.3 ms +2024-06-20 19:48:59.103 +02:00 [INF] Query-Time for Package "globals" completed in 3.4 ms +2024-06-20 19:48:59.107 +02:00 [INF] Query-Time for Package "os-tmpdir" completed in 3.4 ms +2024-06-20 19:48:59.110 +02:00 [INF] Query-Time for Package "user-home" completed in 3.5 ms +2024-06-20 19:48:59.114 +02:00 [INF] Query-Time for Package "home-or-tmp" completed in 3.5 ms +2024-06-20 19:48:59.117 +02:00 [INF] Query-Time for Package "is-finite" completed in 3.4 ms +2024-06-20 19:48:59.122 +02:00 [INF] Query-Time for Package "is-integer" completed in 3.9 ms +2024-06-20 19:48:59.125 +02:00 [INF] Query-Time for Package "js-tokens" completed in 3.6 ms +2024-06-20 19:48:59.128 +02:00 [INF] Query-Time for Package "json5" completed in 2.5 ms +2024-06-20 19:48:59.131 +02:00 [INF] Query-Time for Package "object-assign" completed in 3.0 ms +2024-06-20 19:48:59.134 +02:00 [INF] Query-Time for Package "output-file-sync" completed in 2.9 ms +2024-06-20 19:48:59.138 +02:00 [INF] Query-Time for Package "path-exists" completed in 3.1 ms +2024-06-20 19:48:59.141 +02:00 [INF] Query-Time for Package "private" completed in 3.1 ms +2024-06-20 19:48:59.144 +02:00 [INF] Query-Time for Package "acorn" completed in 3.0 ms +2024-06-20 19:48:59.147 +02:00 [INF] Query-Time for Package "defined" completed in 3.1 ms +2024-06-20 19:48:59.151 +02:00 [INF] Query-Time for Package "detective" completed in 3.2 ms +2024-06-20 19:48:59.154 +02:00 [INF] Query-Time for Package "safer-buffer" completed in 2.7 ms +2024-06-20 19:48:59.156 +02:00 [INF] Query-Time for Package "iconv-lite" completed in 2.5 ms +2024-06-20 19:48:59.159 +02:00 [INF] Query-Time for Package "q" completed in 2.4 ms +2024-06-20 19:48:59.162 +02:00 [INF] Query-Time for Package "ast-types" completed in 2.8 ms +2024-06-20 19:48:59.165 +02:00 [INF] Query-Time for Package "esprima" completed in 2.6 ms +2024-06-20 19:48:59.168 +02:00 [INF] Query-Time for Package "source-map" completed in 3.3 ms +2024-06-20 19:48:59.171 +02:00 [INF] Query-Time for Package "recast" completed in 3.0 ms +2024-06-20 19:48:59.174 +02:00 [INF] Query-Time for Package "commoner" completed in 2.6 ms +2024-06-20 19:48:59.176 +02:00 [INF] Query-Time for Package "stable" completed in 2.4 ms +2024-06-20 19:48:59.183 +02:00 [INF] Query-Time for Package "alter" completed in 6.3 ms +2024-06-20 19:48:59.189 +02:00 [INF] Query-Time for Package "ast-traverse" completed in 2.6 ms +2024-06-20 19:48:59.191 +02:00 [INF] Query-Time for Package "breakable" completed in 2.3 ms +2024-06-20 19:48:59.194 +02:00 [INF] Query-Time for Package "esprima-fb" completed in 2.2 ms +2024-06-20 19:48:59.196 +02:00 [INF] Query-Time for Package "simple-fmt" completed in 2.4 ms +2024-06-20 19:48:59.198 +02:00 [INF] Query-Time for Package "simple-is" completed in 2.1 ms +2024-06-20 19:48:59.201 +02:00 [INF] Query-Time for Package "stringmap" completed in 2.3 ms +2024-06-20 19:48:59.203 +02:00 [INF] Query-Time for Package "stringset" completed in 1.9 ms +2024-06-20 19:48:59.205 +02:00 [INF] Query-Time for Package "tryor" completed in 1.9 ms +2024-06-20 19:48:59.207 +02:00 [INF] Query-Time for Package "camelcase" completed in 1.7 ms +2024-06-20 19:48:59.209 +02:00 [INF] Query-Time for Package "center-align" completed in 1.9 ms +2024-06-20 19:48:59.211 +02:00 [INF] Query-Time for Package "right-align" completed in 2.2 ms +2024-06-20 19:48:59.213 +02:00 [INF] Query-Time for Package "wordwrap" completed in 1.7 ms +2024-06-20 19:48:59.215 +02:00 [INF] Query-Time for Package "cliui" completed in 1.8 ms +2024-06-20 19:48:59.217 +02:00 [INF] Query-Time for Package "decamelize" completed in 1.7 ms +2024-06-20 19:48:59.218 +02:00 [INF] Query-Time for Package "invert-kv" completed in 1.7 ms +2024-06-20 19:48:59.221 +02:00 [INF] Query-Time for Package "lcid" completed in 2.0 ms +2024-06-20 19:48:59.223 +02:00 [INF] Query-Time for Package "os-locale" completed in 1.9 ms +2024-06-20 19:48:59.225 +02:00 [INF] Query-Time for Package "window-size" completed in 1.7 ms +2024-06-20 19:48:59.227 +02:00 [INF] Query-Time for Package "y18n" completed in 2.2 ms +2024-06-20 19:48:59.229 +02:00 [INF] Query-Time for Package "yargs" completed in 2.2 ms +2024-06-20 19:48:59.231 +02:00 [INF] Query-Time for Package "defs" completed in 1.8 ms +2024-06-20 19:48:59.234 +02:00 [INF] Query-Time for Package "ast-types" completed in 2.1 ms +2024-06-20 19:48:59.236 +02:00 [INF] Query-Time for Package "recast" completed in 1.9 ms +2024-06-20 19:48:59.237 +02:00 [INF] Query-Time for Package "regenerator" completed in 1.7 ms +2024-06-20 19:48:59.240 +02:00 [INF] Query-Time for Package "regenerate" completed in 2.1 ms +2024-06-20 19:48:59.242 +02:00 [INF] Query-Time for Package "regjsgen" completed in 2.4 ms +2024-06-20 19:48:59.244 +02:00 [INF] Query-Time for Package "jsesc" completed in 1.9 ms +2024-06-20 19:48:59.246 +02:00 [INF] Query-Time for Package "regjsparser" completed in 2.0 ms +2024-06-20 19:48:59.248 +02:00 [INF] Query-Time for Package "regexpu" completed in 1.8 ms +2024-06-20 19:48:59.250 +02:00 [INF] Query-Time for Package "resolve" completed in 1.9 ms +2024-06-20 19:48:59.253 +02:00 [INF] Query-Time for Package "shebang-regex" completed in 2.0 ms +2024-06-20 19:48:59.255 +02:00 [INF] Query-Time for Package "slash" completed in 1.9 ms +2024-06-20 19:48:59.257 +02:00 [INF] Query-Time for Package "source-map" completed in 2.2 ms +2024-06-20 19:48:59.260 +02:00 [INF] Query-Time for Package "source-map-support" completed in 2.8 ms +2024-06-20 19:48:59.263 +02:00 [INF] Query-Time for Package "to-fast-properties" completed in 3.0 ms +2024-06-20 19:48:59.266 +02:00 [INF] Query-Time for Package "trim-right" completed in 2.4 ms +2024-06-20 19:48:59.268 +02:00 [INF] Query-Time for Package "try-resolve" completed in 2.4 ms +2024-06-20 19:48:59.271 +02:00 [INF] Query-Time for Package "babel-core" completed in 2.5 ms +2024-06-20 19:48:59.274 +02:00 [INF] Query-Time for Package "lodash._basecopy" completed in 2.3 ms +2024-06-20 19:48:59.276 +02:00 [INF] Query-Time for Package "lodash.keys" completed in 2.2 ms +2024-06-20 19:48:59.278 +02:00 [INF] Query-Time for Package "lodash._baseassign" completed in 2.3 ms +2024-06-20 19:48:59.280 +02:00 [INF] Query-Time for Package "lodash._bindcallback" completed in 1.9 ms +2024-06-20 19:48:59.282 +02:00 [INF] Query-Time for Package "lodash._isiterateecall" completed in 1.9 ms +2024-06-20 19:48:59.284 +02:00 [INF] Query-Time for Package "lodash.restparam" completed in 2.1 ms +2024-06-20 19:48:59.287 +02:00 [INF] Query-Time for Package "lodash._createassigner" completed in 1.9 ms +2024-06-20 19:48:59.289 +02:00 [INF] Query-Time for Package "lodash._getnative" completed in 2.0 ms +2024-06-20 19:48:59.291 +02:00 [INF] Query-Time for Package "lodash.isarguments" completed in 1.9 ms +2024-06-20 19:48:59.293 +02:00 [INF] Query-Time for Package "lodash.isarray" completed in 1.8 ms +2024-06-20 19:48:59.294 +02:00 [INF] Query-Time for Package "lodash.assign" completed in 1.7 ms +2024-06-20 19:48:59.296 +02:00 [INF] Query-Time for Package "babel-jscs" completed in 1.7 ms +2024-06-20 19:48:59.298 +02:00 [INF] Query-Time for Package "colors" completed in 2.2 ms +2024-06-20 19:48:59.301 +02:00 [INF] Query-Time for Package "cli-table" completed in 2.2 ms +2024-06-20 19:48:59.303 +02:00 [INF] Query-Time for Package "graceful-readlink" completed in 1.9 ms +2024-06-20 19:48:59.305 +02:00 [INF] Query-Time for Package "commander" completed in 1.9 ms +2024-06-20 19:48:59.307 +02:00 [INF] Query-Time for Package "es5-ext" completed in 1.8 ms +2024-06-20 19:48:59.309 +02:00 [INF] Query-Time for Package "type" completed in 1.8 ms +2024-06-20 19:48:59.311 +02:00 [INF] Query-Time for Package "d" completed in 2.0 ms +2024-06-20 19:48:59.313 +02:00 [INF] Query-Time for Package "es6-iterator" completed in 2.0 ms +2024-06-20 19:48:59.315 +02:00 [INF] Query-Time for Package "es6-symbol" completed in 1.9 ms +2024-06-20 19:48:59.317 +02:00 [INF] Query-Time for Package "event-emitter" completed in 1.8 ms +2024-06-20 19:48:59.319 +02:00 [INF] Query-Time for Package "esniff" completed in 2.1 ms +2024-06-20 19:48:59.321 +02:00 [INF] Query-Time for Package "next-tick" completed in 1.8 ms +2024-06-20 19:48:59.323 +02:00 [INF] Query-Time for Package "es6-set" completed in 1.8 ms +2024-06-20 19:48:59.325 +02:00 [INF] Query-Time for Package "ext" completed in 1.8 ms +2024-06-20 19:48:59.327 +02:00 [INF] Query-Time for Package "es6-map" completed in 2.1 ms +2024-06-20 19:48:59.329 +02:00 [INF] Query-Time for Package "es6-weak-map" completed in 1.7 ms +2024-06-20 19:48:59.331 +02:00 [INF] Query-Time for Package "estraverse" completed in 1.8 ms +2024-06-20 19:48:59.333 +02:00 [INF] Query-Time for Package "esrecurse" completed in 2.0 ms +2024-06-20 19:48:59.335 +02:00 [INF] Query-Time for Package "estraverse" completed in 2.1 ms +2024-06-20 19:48:59.337 +02:00 [INF] Query-Time for Package "escope" completed in 2.1 ms +2024-06-20 19:48:59.340 +02:00 [INF] Query-Time for Package "exit" completed in 2.1 ms +2024-06-20 19:48:59.342 +02:00 [INF] Query-Time for Package "minimatch" completed in 1.9 ms +2024-06-20 19:48:59.344 +02:00 [INF] Query-Time for Package "domelementtype" completed in 2.1 ms +2024-06-20 19:48:59.346 +02:00 [INF] Query-Time for Package "domhandler" completed in 1.9 ms +2024-06-20 19:48:59.348 +02:00 [INF] Query-Time for Package "domelementtype" completed in 2.1 ms +2024-06-20 19:48:59.351 +02:00 [INF] Query-Time for Package "entities" completed in 2.2 ms +2024-06-20 19:48:59.353 +02:00 [INF] Query-Time for Package "dom-serializer" completed in 2.1 ms +2024-06-20 19:48:59.355 +02:00 [INF] Query-Time for Package "domutils" completed in 2.4 ms +2024-06-20 19:48:59.357 +02:00 [INF] Query-Time for Package "entities" completed in 2.0 ms +2024-06-20 19:48:59.359 +02:00 [INF] Query-Time for Package "readable-stream" completed in 1.9 ms +2024-06-20 19:48:59.361 +02:00 [INF] Query-Time for Package "htmlparser2" completed in 2.0 ms +2024-06-20 19:48:59.364 +02:00 [INF] Query-Time for Package "inherit" completed in 2.3 ms +2024-06-20 19:48:59.367 +02:00 [INF] Query-Time for Package "js-yaml" completed in 2.7 ms +2024-06-20 19:48:59.369 +02:00 [INF] Query-Time for Package "isarray" completed in 2.1 ms +2024-06-20 19:48:59.371 +02:00 [INF] Query-Time for Package "process-nextick-args" completed in 1.8 ms +2024-06-20 19:48:59.373 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 1.8 ms +2024-06-20 19:48:59.375 +02:00 [INF] Query-Time for Package "string_decoder" completed in 1.7 ms +2024-06-20 19:48:59.377 +02:00 [INF] Query-Time for Package "util-deprecate" completed in 1.9 ms +2024-06-20 19:48:59.379 +02:00 [INF] Query-Time for Package "readable-stream" completed in 2.1 ms +2024-06-20 19:48:59.381 +02:00 [INF] Query-Time for Package "comment-parser" completed in 2.1 ms +2024-06-20 19:48:59.383 +02:00 [INF] Query-Time for Package "jsdoctypeparser" completed in 1.8 ms +2024-06-20 19:48:59.385 +02:00 [INF] Query-Time for Package "jscs-jsdoc" completed in 1.8 ms +2024-06-20 19:48:59.387 +02:00 [INF] Query-Time for Package "jscs-preset-wikimedia" completed in 1.8 ms +2024-06-20 19:48:59.388 +02:00 [INF] Query-Time for Package "JSV" completed in 1.7 ms +2024-06-20 19:48:59.390 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.9 ms +2024-06-20 19:48:59.392 +02:00 [INF] Query-Time for Package "has-color" completed in 1.9 ms +2024-06-20 19:48:59.395 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.0 ms +2024-06-20 19:48:59.397 +02:00 [INF] Query-Time for Package "chalk" completed in 1.9 ms +2024-06-20 19:48:59.400 +02:00 [INF] Query-Time for Package "underscore" completed in 2.8 ms +2024-06-20 19:48:59.403 +02:00 [INF] Query-Time for Package "nomnom" completed in 2.4 ms +2024-06-20 19:48:59.405 +02:00 [INF] Query-Time for Package "jsonlint" completed in 2.0 ms +2024-06-20 19:48:59.407 +02:00 [INF] Query-Time for Package "balanced-match" completed in 1.9 ms +2024-06-20 19:48:59.409 +02:00 [INF] Query-Time for Package "concat-map" completed in 2.1 ms +2024-06-20 19:48:59.412 +02:00 [INF] Query-Time for Package "natural-compare" completed in 2.5 ms +2024-06-20 19:48:59.414 +02:00 [INF] Query-Time for Package "pathval" completed in 2.5 ms +2024-06-20 19:48:59.416 +02:00 [INF] Query-Time for Package "pkginfo" completed in 2.0 ms +2024-06-20 19:48:59.419 +02:00 [INF] Query-Time for Package "mute-stream" completed in 2.1 ms +2024-06-20 19:48:59.421 +02:00 [INF] Query-Time for Package "read" completed in 2.1 ms +2024-06-20 19:48:59.423 +02:00 [INF] Query-Time for Package "revalidator" completed in 1.8 ms +2024-06-20 19:48:59.426 +02:00 [INF] Query-Time for Package "async" completed in 3.0 ms +2024-06-20 19:48:59.442 +02:00 [INF] Query-Time for Package "i" completed in 16.4 ms +2024-06-20 19:48:59.447 +02:00 [INF] Query-Time for Package "ncp" completed in 2.6 ms +2024-06-20 19:48:59.449 +02:00 [INF] Query-Time for Package "utile" completed in 1.9 ms +2024-06-20 19:48:59.451 +02:00 [INF] Query-Time for Package "colors" completed in 2.1 ms +2024-06-20 19:48:59.453 +02:00 [INF] Query-Time for Package "cycle" completed in 1.7 ms +2024-06-20 19:48:59.455 +02:00 [INF] Query-Time for Package "eyes" completed in 2.0 ms +2024-06-20 19:48:59.457 +02:00 [INF] Query-Time for Package "pkginfo" completed in 1.8 ms +2024-06-20 19:48:59.459 +02:00 [INF] Query-Time for Package "stack-trace" completed in 1.9 ms +2024-06-20 19:48:59.461 +02:00 [INF] Query-Time for Package "winston" completed in 1.9 ms +2024-06-20 19:48:59.463 +02:00 [INF] Query-Time for Package "prompt" completed in 1.8 ms +2024-06-20 19:48:59.465 +02:00 [INF] Query-Time for Package "reserved-words" completed in 1.8 ms +2024-06-20 19:48:59.467 +02:00 [INF] Query-Time for Package "function-bind" completed in 2.0 ms +2024-06-20 19:48:59.470 +02:00 [INF] Query-Time for Package "has" completed in 2.2 ms +2024-06-20 19:48:59.472 +02:00 [INF] Query-Time for Package "is-core-module" completed in 2.6 ms +2024-06-20 19:48:59.475 +02:00 [INF] Query-Time for Package "path-parse" completed in 2.6 ms +2024-06-20 19:48:59.478 +02:00 [INF] Query-Time for Package "supports-preserve-symlinks-flag" completed in 3.3 ms +2024-06-20 19:48:59.481 +02:00 [INF] Query-Time for Package "is-utf8" completed in 2.1 ms +2024-06-20 19:48:59.483 +02:00 [INF] Query-Time for Package "strip-bom" completed in 2.1 ms +2024-06-20 19:48:59.485 +02:00 [INF] Query-Time for Package "strip-json-comments" completed in 2.1 ms +2024-06-20 19:48:59.487 +02:00 [INF] Query-Time for Package "to-double-quotes" completed in 2.0 ms +2024-06-20 19:48:59.490 +02:00 [INF] Query-Time for Package "to-single-quotes" completed in 2.3 ms +2024-06-20 19:48:59.492 +02:00 [INF] Query-Time for Package "uuid" completed in 2.0 ms +2024-06-20 19:48:59.494 +02:00 [INF] Query-Time for Package "vow" completed in 1.9 ms +2024-06-20 19:48:59.496 +02:00 [INF] Query-Time for Package "vow-queue" completed in 2.1 ms +2024-06-20 19:48:59.498 +02:00 [INF] Query-Time for Package "vow-fs" completed in 1.9 ms +2024-06-20 19:48:59.501 +02:00 [INF] Query-Time for Package "xmlbuilder" completed in 2.5 ms +2024-06-20 19:48:59.503 +02:00 [INF] Query-Time for Package "jscs" completed in 2.1 ms +2024-06-20 19:48:59.515 +02:00 [INF] Query-Time for Package "platform" completed in 12.4 ms +2024-06-20 19:48:59.519 +02:00 [INF] Query-Time for Package "qunit-extras" completed in 2.3 ms +2024-06-20 19:48:59.521 +02:00 [INF] Query-Time for Package "qunitjs" completed in 2.1 ms +2024-06-20 19:48:59.524 +02:00 [INF] Query-Time for Package "aws-sign2" completed in 2.0 ms +2024-06-20 19:48:59.526 +02:00 [INF] Query-Time for Package "caseless" completed in 2.0 ms +2024-06-20 19:48:59.528 +02:00 [INF] Query-Time for Package "delayed-stream" completed in 1.8 ms +2024-06-20 19:48:59.530 +02:00 [INF] Query-Time for Package "form-data" completed in 2.0 ms +2024-06-20 19:48:59.532 +02:00 [INF] Query-Time for Package "fast-deep-equal" completed in 2.1 ms +2024-06-20 19:48:59.534 +02:00 [INF] Query-Time for Package "fast-json-stable-stringify" completed in 2.1 ms +2024-06-20 19:48:59.536 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 2.3 ms +2024-06-20 19:48:59.539 +02:00 [INF] Query-Time for Package "punycode" completed in 2.2 ms +2024-06-20 19:48:59.541 +02:00 [INF] Query-Time for Package "uri-js" completed in 2.1 ms +2024-06-20 19:48:59.543 +02:00 [INF] Query-Time for Package "ajv" completed in 2.1 ms +2024-06-20 19:48:59.545 +02:00 [INF] Query-Time for Package "har-schema" completed in 2.0 ms +2024-06-20 19:48:59.548 +02:00 [INF] Query-Time for Package "har-validator" completed in 1.9 ms +2024-06-20 19:48:59.550 +02:00 [INF] Query-Time for Package "assert-plus" completed in 2.0 ms +2024-06-20 19:48:59.552 +02:00 [INF] Query-Time for Package "extsprintf" completed in 1.9 ms +2024-06-20 19:48:59.554 +02:00 [INF] Query-Time for Package "json-schema" completed in 2.1 ms +2024-06-20 19:48:59.556 +02:00 [INF] Query-Time for Package "verror" completed in 1.9 ms +2024-06-20 19:48:59.558 +02:00 [INF] Query-Time for Package "asn1" completed in 1.9 ms +2024-06-20 19:48:59.560 +02:00 [INF] Query-Time for Package "tweetnacl" completed in 2.0 ms +2024-06-20 19:48:59.562 +02:00 [INF] Query-Time for Package "bcrypt-pbkdf" completed in 2.0 ms +2024-06-20 19:48:59.564 +02:00 [INF] Query-Time for Package "dashdash" completed in 1.9 ms +2024-06-20 19:48:59.566 +02:00 [INF] Query-Time for Package "jsbn" completed in 2.3 ms +2024-06-20 19:48:59.568 +02:00 [INF] Query-Time for Package "ecc-jsbn" completed in 2.0 ms +2024-06-20 19:48:59.571 +02:00 [INF] Query-Time for Package "getpass" completed in 2.0 ms +2024-06-20 19:48:59.573 +02:00 [INF] Query-Time for Package "http-signature" completed in 2.1 ms +2024-06-20 19:48:59.575 +02:00 [INF] Query-Time for Package "mime-db" completed in 2.0 ms +2024-06-20 19:48:59.577 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 2.3 ms +2024-06-20 19:48:59.579 +02:00 [INF] Query-Time for Package "performance-now" completed in 2.0 ms +2024-06-20 19:48:59.582 +02:00 [INF] Query-Time for Package "qs" completed in 1.9 ms +2024-06-20 19:48:59.583 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 1.8 ms +2024-06-20 19:48:59.586 +02:00 [INF] Query-Time for Package "psl" completed in 2.0 ms +2024-06-20 19:48:59.588 +02:00 [INF] Query-Time for Package "tunnel-agent" completed in 1.9 ms +2024-06-20 19:48:59.590 +02:00 [INF] Query-Time for Package "request" completed in 2.0 ms +2024-06-20 19:48:59.592 +02:00 [INF] Query-Time for Package "requirejs" completed in 2.2 ms +2024-06-20 19:48:59.594 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 2.0 ms +2024-06-20 19:48:59.596 +02:00 [INF] Query-Time for Package "has-ansi" completed in 1.9 ms +2024-06-20 19:48:59.598 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.0 ms +2024-06-20 19:48:59.601 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.1 ms +2024-06-20 19:48:59.603 +02:00 [INF] Query-Time for Package "chalk" completed in 2.0 ms +2024-06-20 19:48:59.605 +02:00 [INF] Query-Time for Package "aws-sign" completed in 2.0 ms +2024-06-20 19:48:59.607 +02:00 [INF] Query-Time for Package "cookie-jar" completed in 1.9 ms +2024-06-20 19:48:59.609 +02:00 [INF] Query-Time for Package "form-data" completed in 2.1 ms +2024-06-20 19:48:59.611 +02:00 [INF] Query-Time for Package "hoek" completed in 2.1 ms +2024-06-20 19:48:59.614 +02:00 [INF] Query-Time for Package "hawk" completed in 2.2 ms +2024-06-20 19:48:59.616 +02:00 [INF] Query-Time for Package "assert-plus" completed in 2.0 ms +2024-06-20 19:48:59.618 +02:00 [INF] Query-Time for Package "ctype" completed in 1.9 ms +2024-06-20 19:48:59.620 +02:00 [INF] Query-Time for Package "http-signature" completed in 1.9 ms +2024-06-20 19:48:59.622 +02:00 [INF] Query-Time for Package "json-stringify-safe" completed in 2.2 ms +2024-06-20 19:48:59.624 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 2.3 ms +2024-06-20 19:48:59.627 +02:00 [INF] Query-Time for Package "qs" completed in 2.0 ms +2024-06-20 19:48:59.629 +02:00 [INF] Query-Time for Package "tunnel-agent" completed in 2.0 ms +2024-06-20 19:48:59.631 +02:00 [INF] Query-Time for Package "request" completed in 2.0 ms +2024-06-20 19:48:59.633 +02:00 [INF] Query-Time for Package "split" completed in 2.1 ms +2024-06-20 19:48:59.635 +02:00 [INF] Query-Time for Package "sauce-tunnel" completed in 2.1 ms +2024-06-20 19:48:59.637 +02:00 [INF] Query-Time for Package "uglify-to-browserify" completed in 2.1 ms +2024-06-20 19:48:59.640 +02:00 [INF] Query-Time for Package "is-buffer" completed in 2.1 ms +2024-06-20 19:48:59.642 +02:00 [INF] Query-Time for Package "kind-of" completed in 2.5 ms +2024-06-20 19:48:59.645 +02:00 [INF] Query-Time for Package "longest" completed in 2.2 ms +2024-06-20 19:48:59.647 +02:00 [INF] Query-Time for Package "repeat-string" completed in 2.1 ms +2024-06-20 19:48:59.649 +02:00 [INF] Query-Time for Package "align-text" completed in 2.2 ms +2024-06-20 19:48:59.651 +02:00 [INF] Query-Time for Package "lazy-cache" completed in 2.1 ms +2024-06-20 19:48:59.654 +02:00 [INF] Query-Time for Package "window-size" completed in 2.2 ms +2024-06-20 19:48:59.656 +02:00 [INF] Query-Time for Package "yargs" completed in 2.0 ms +2024-06-20 19:48:59.658 +02:00 [INF] Query-Time for Package "uglify-js" completed in 2.1 ms +2024-06-20 19:48:59.660 +02:00 [INF] Query-Time for Package "acorn" completed in 2.1 ms +2024-06-20 19:48:59.662 +02:00 [INF] Query-Time for Package "clone" completed in 2.1 ms +2024-06-20 19:48:59.665 +02:00 [INF] Query-Time for Package "memory-fs" completed in 2.1 ms +2024-06-20 19:48:59.667 +02:00 [INF] Query-Time for Package "tapable" completed in 2.4 ms +2024-06-20 19:48:59.670 +02:00 [INF] Query-Time for Package "enhanced-resolve" completed in 2.3 ms +2024-06-20 19:48:59.672 +02:00 [INF] Query-Time for Package "interpret" completed in 2.2 ms +2024-06-20 19:48:59.674 +02:00 [INF] Query-Time for Package "big.js" completed in 2.0 ms +2024-06-20 19:48:59.676 +02:00 [INF] Query-Time for Package "emojis-list" completed in 2.3 ms +2024-06-20 19:48:59.679 +02:00 [INF] Query-Time for Package "json5" completed in 2.2 ms +2024-06-20 19:48:59.681 +02:00 [INF] Query-Time for Package "loader-utils" completed in 2.2 ms +2024-06-20 19:48:59.684 +02:00 [INF] Query-Time for Package "prr" completed in 2.5 ms +2024-06-20 19:48:59.687 +02:00 [INF] Query-Time for Package "errno" completed in 3.2 ms +2024-06-20 19:48:59.691 +02:00 [INF] Query-Time for Package "memory-fs" completed in 3.4 ms +2024-06-20 19:48:59.694 +02:00 [INF] Query-Time for Package "get-intrinsic" completed in 2.8 ms +2024-06-20 19:48:59.696 +02:00 [INF] Query-Time for Package "es-define-property" completed in 2.6 ms +2024-06-20 19:48:59.699 +02:00 [INF] Query-Time for Package "es-errors" completed in 2.4 ms +2024-06-20 19:48:59.702 +02:00 [INF] Query-Time for Package "has-proto" completed in 2.9 ms +2024-06-20 19:48:59.704 +02:00 [INF] Query-Time for Package "has-symbols" completed in 2.2 ms +2024-06-20 19:48:59.707 +02:00 [INF] Query-Time for Package "hasown" completed in 2.1 ms +2024-06-20 19:48:59.709 +02:00 [INF] Query-Time for Package "define-data-property" completed in 2.2 ms +2024-06-20 19:48:59.711 +02:00 [INF] Query-Time for Package "gopd" completed in 2.0 ms +2024-06-20 19:48:59.713 +02:00 [INF] Query-Time for Package "has-property-descriptors" completed in 2.2 ms +2024-06-20 19:48:59.717 +02:00 [INF] Query-Time for Package "set-function-length" completed in 3.2 ms +2024-06-20 19:48:59.720 +02:00 [INF] Query-Time for Package "call-bind" completed in 3.0 ms +2024-06-20 19:48:59.722 +02:00 [INF] Query-Time for Package "object-keys" completed in 2.1 ms +2024-06-20 19:48:59.724 +02:00 [INF] Query-Time for Package "define-properties" completed in 2.2 ms +2024-06-20 19:48:59.727 +02:00 [INF] Query-Time for Package "object.assign" completed in 2.2 ms +2024-06-20 19:48:59.730 +02:00 [INF] Query-Time for Package "util" completed in 2.9 ms +2024-06-20 19:48:59.732 +02:00 [INF] Query-Time for Package "assert" completed in 2.2 ms +2024-06-20 19:48:59.735 +02:00 [INF] Query-Time for Package "pako" completed in 2.4 ms +2024-06-20 19:48:59.737 +02:00 [INF] Query-Time for Package "browserify-zlib" completed in 2.1 ms +2024-06-20 19:48:59.739 +02:00 [INF] Query-Time for Package "base64-js" completed in 2.1 ms +2024-06-20 19:48:59.742 +02:00 [INF] Query-Time for Package "ieee754" completed in 2.3 ms +2024-06-20 19:48:59.744 +02:00 [INF] Query-Time for Package "buffer" completed in 2.3 ms +2024-06-20 19:48:59.746 +02:00 [INF] Query-Time for Package "console-browserify" completed in 2.2 ms +2024-06-20 19:48:59.749 +02:00 [INF] Query-Time for Package "constants-browserify" completed in 2.2 ms +2024-06-20 19:48:59.751 +02:00 [INF] Query-Time for Package "browserify-aes" completed in 2.5 ms +2024-06-20 19:48:59.753 +02:00 [INF] Query-Time for Package "pbkdf2-compat" completed in 2.1 ms +2024-06-20 19:48:59.756 +02:00 [INF] Query-Time for Package "ripemd160" completed in 2.6 ms +2024-06-20 19:48:59.758 +02:00 [INF] Query-Time for Package "sha.js" completed in 2.0 ms +2024-06-20 19:48:59.761 +02:00 [INF] Query-Time for Package "crypto-browserify" completed in 2.4 ms +2024-06-20 19:48:59.763 +02:00 [INF] Query-Time for Package "domain-browser" completed in 2.0 ms +2024-06-20 19:48:59.765 +02:00 [INF] Query-Time for Package "events" completed in 1.9 ms +2024-06-20 19:48:59.767 +02:00 [INF] Query-Time for Package "https-browserify" completed in 1.9 ms +2024-06-20 19:48:59.769 +02:00 [INF] Query-Time for Package "os-browserify" completed in 1.9 ms +2024-06-20 19:48:59.771 +02:00 [INF] Query-Time for Package "path-browserify" completed in 1.9 ms +2024-06-20 19:48:59.773 +02:00 [INF] Query-Time for Package "process" completed in 1.8 ms +2024-06-20 19:48:59.775 +02:00 [INF] Query-Time for Package "querystring-es3" completed in 1.9 ms +2024-06-20 19:48:59.777 +02:00 [INF] Query-Time for Package "stream-browserify" completed in 2.2 ms +2024-06-20 19:48:59.779 +02:00 [INF] Query-Time for Package "builtin-status-codes" completed in 1.9 ms +2024-06-20 19:48:59.781 +02:00 [INF] Query-Time for Package "to-arraybuffer" completed in 1.8 ms +2024-06-20 19:48:59.783 +02:00 [INF] Query-Time for Package "stream-http" completed in 1.6 ms +2024-06-20 19:48:59.785 +02:00 [INF] Query-Time for Package "setimmediate" completed in 1.7 ms +2024-06-20 19:48:59.787 +02:00 [INF] Query-Time for Package "timers-browserify" completed in 1.8 ms +2024-06-20 19:48:59.788 +02:00 [INF] Query-Time for Package "tty-browserify" completed in 1.6 ms +2024-06-20 19:48:59.790 +02:00 [INF] Query-Time for Package "object-inspect" completed in 1.8 ms +2024-06-20 19:48:59.792 +02:00 [INF] Query-Time for Package "side-channel" completed in 1.9 ms +2024-06-20 19:48:59.794 +02:00 [INF] Query-Time for Package "qs" completed in 1.7 ms +2024-06-20 19:48:59.796 +02:00 [INF] Query-Time for Package "url" completed in 1.6 ms +2024-06-20 19:48:59.797 +02:00 [INF] Query-Time for Package "inherits" completed in 1.6 ms +2024-06-20 19:48:59.799 +02:00 [INF] Query-Time for Package "indexof" completed in 1.8 ms +2024-06-20 19:48:59.801 +02:00 [INF] Query-Time for Package "vm-browserify" completed in 1.8 ms +2024-06-20 19:48:59.803 +02:00 [INF] Query-Time for Package "node-libs-browser" completed in 1.8 ms +2024-06-20 19:48:59.805 +02:00 [INF] Query-Time for Package "minimist" completed in 1.9 ms +2024-06-20 19:48:59.807 +02:00 [INF] Query-Time for Package "optimist" completed in 1.9 ms +2024-06-20 19:48:59.809 +02:00 [INF] Query-Time for Package "uglify-js" completed in 2.1 ms +2024-06-20 19:48:59.811 +02:00 [INF] Query-Time for Package "arr-flatten" completed in 1.9 ms +2024-06-20 19:48:59.813 +02:00 [INF] Query-Time for Package "arr-diff" completed in 1.7 ms +2024-06-20 19:48:59.815 +02:00 [INF] Query-Time for Package "array-unique" completed in 1.8 ms +2024-06-20 19:48:59.817 +02:00 [INF] Query-Time for Package "is-number" completed in 1.8 ms +2024-06-20 19:48:59.819 +02:00 [INF] Query-Time for Package "isobject" completed in 1.8 ms +2024-06-20 19:48:59.821 +02:00 [INF] Query-Time for Package "is-number" completed in 1.9 ms +2024-06-20 19:48:59.823 +02:00 [INF] Query-Time for Package "kind-of" completed in 2.0 ms +2024-06-20 19:48:59.825 +02:00 [INF] Query-Time for Package "math-random" completed in 2.2 ms +2024-06-20 19:48:59.828 +02:00 [INF] Query-Time for Package "randomatic" completed in 2.0 ms +2024-06-20 19:48:59.830 +02:00 [INF] Query-Time for Package "repeat-element" completed in 2.2 ms +2024-06-20 19:48:59.832 +02:00 [INF] Query-Time for Package "fill-range" completed in 2.0 ms +2024-06-20 19:48:59.834 +02:00 [INF] Query-Time for Package "expand-range" completed in 2.3 ms +2024-06-20 19:48:59.836 +02:00 [INF] Query-Time for Package "preserve" completed in 1.9 ms +2024-06-20 19:48:59.839 +02:00 [INF] Query-Time for Package "braces" completed in 2.6 ms +2024-06-20 19:48:59.841 +02:00 [INF] Query-Time for Package "is-posix-bracket" completed in 2.2 ms +2024-06-20 19:48:59.843 +02:00 [INF] Query-Time for Package "expand-brackets" completed in 2.1 ms +2024-06-20 19:48:59.846 +02:00 [INF] Query-Time for Package "is-extglob" completed in 1.9 ms +2024-06-20 19:48:59.847 +02:00 [INF] Query-Time for Package "extglob" completed in 1.8 ms +2024-06-20 19:48:59.849 +02:00 [INF] Query-Time for Package "filename-regex" completed in 1.9 ms +2024-06-20 19:48:59.851 +02:00 [INF] Query-Time for Package "is-glob" completed in 1.8 ms +2024-06-20 19:48:59.854 +02:00 [INF] Query-Time for Package "normalize-path" completed in 2.2 ms +2024-06-20 19:48:59.856 +02:00 [INF] Query-Time for Package "for-in" completed in 1.9 ms +2024-06-20 19:48:59.858 +02:00 [INF] Query-Time for Package "for-own" completed in 2.2 ms +2024-06-20 19:48:59.860 +02:00 [INF] Query-Time for Package "is-extendable" completed in 2.1 ms +2024-06-20 19:48:59.862 +02:00 [INF] Query-Time for Package "object.omit" completed in 1.9 ms +2024-06-20 19:48:59.864 +02:00 [INF] Query-Time for Package "glob-parent" completed in 1.9 ms +2024-06-20 19:48:59.866 +02:00 [INF] Query-Time for Package "glob-base" completed in 1.9 ms +2024-06-20 19:48:59.868 +02:00 [INF] Query-Time for Package "is-dotfile" completed in 1.9 ms +2024-06-20 19:48:59.870 +02:00 [INF] Query-Time for Package "parse-glob" completed in 1.8 ms +2024-06-20 19:48:59.872 +02:00 [INF] Query-Time for Package "is-primitive" completed in 1.7 ms +2024-06-20 19:48:59.874 +02:00 [INF] Query-Time for Package "is-equal-shallow" completed in 1.7 ms +2024-06-20 19:48:59.876 +02:00 [INF] Query-Time for Package "regex-cache" completed in 1.9 ms +2024-06-20 19:48:59.878 +02:00 [INF] Query-Time for Package "micromatch" completed in 1.8 ms +2024-06-20 19:48:59.879 +02:00 [INF] Query-Time for Package "remove-trailing-separator" completed in 1.7 ms +2024-06-20 19:48:59.881 +02:00 [INF] Query-Time for Package "anymatch" completed in 1.9 ms +2024-06-20 19:48:59.884 +02:00 [INF] Query-Time for Package "async-each" completed in 2.0 ms +2024-06-20 19:48:59.886 +02:00 [INF] Query-Time for Package "fsevents" completed in 2.0 ms +2024-06-20 19:48:59.888 +02:00 [INF] Query-Time for Package "binary-extensions" completed in 1.7 ms +2024-06-20 19:48:59.889 +02:00 [INF] Query-Time for Package "is-binary-path" completed in 1.8 ms +2024-06-20 19:48:59.891 +02:00 [INF] Query-Time for Package "arr-diff" completed in 1.6 ms +2024-06-20 19:48:59.893 +02:00 [INF] Query-Time for Package "array-unique" completed in 1.8 ms +2024-06-20 19:48:59.895 +02:00 [INF] Query-Time for Package "extend-shallow" completed in 1.7 ms +2024-06-20 19:48:59.897 +02:00 [INF] Query-Time for Package "is-number" completed in 1.6 ms +2024-06-20 19:48:59.899 +02:00 [INF] Query-Time for Package "to-regex-range" completed in 1.9 ms +2024-06-20 19:48:59.902 +02:00 [INF] Query-Time for Package "fill-range" completed in 2.9 ms +2024-06-20 19:48:59.905 +02:00 [INF] Query-Time for Package "isobject" completed in 3.1 ms +2024-06-20 19:48:59.908 +02:00 [INF] Query-Time for Package "is-descriptor" completed in 2.6 ms +2024-06-20 19:48:59.910 +02:00 [INF] Query-Time for Package "define-property" completed in 2.5 ms +2024-06-20 19:48:59.913 +02:00 [INF] Query-Time for Package "snapdragon-util" completed in 2.4 ms +2024-06-20 19:48:59.916 +02:00 [INF] Query-Time for Package "snapdragon-node" completed in 2.7 ms +2024-06-20 19:49:00.092 +02:00 [INF] Query-Time for Package "snapdragon" completed in 176.7 ms +2024-06-20 19:49:00.152 +02:00 [INF] Query-Time for Package "extend-shallow" completed in 3.2 ms +2024-06-20 19:49:00.154 +02:00 [INF] Query-Time for Package "split-string" completed in 2.0 ms +2024-06-20 19:49:00.156 +02:00 [INF] Query-Time for Package "to-regex" completed in 1.8 ms +2024-06-20 19:49:00.157 +02:00 [INF] Query-Time for Package "braces" completed in 1.7 ms +2024-06-20 19:49:00.159 +02:00 [INF] Query-Time for Package "is-accessor-descriptor" completed in 1.9 ms +2024-06-20 19:49:00.161 +02:00 [INF] Query-Time for Package "is-data-descriptor" completed in 1.8 ms +2024-06-20 19:49:00.163 +02:00 [INF] Query-Time for Package "define-property" completed in 1.7 ms +2024-06-20 19:49:00.165 +02:00 [INF] Query-Time for Package "assign-symbols" completed in 1.8 ms +2024-06-20 19:49:00.167 +02:00 [INF] Query-Time for Package "is-plain-object" completed in 2.1 ms +2024-06-20 19:49:00.169 +02:00 [INF] Query-Time for Package "is-extendable" completed in 2.1 ms +2024-06-20 19:49:00.171 +02:00 [INF] Query-Time for Package "is-descriptor" completed in 1.7 ms +2024-06-20 19:49:00.173 +02:00 [INF] Query-Time for Package "define-property" completed in 1.7 ms +2024-06-20 19:49:00.175 +02:00 [INF] Query-Time for Package "posix-character-classes" completed in 1.8 ms +2024-06-20 19:49:00.177 +02:00 [INF] Query-Time for Package "regex-not" completed in 1.9 ms +2024-06-20 19:49:00.179 +02:00 [INF] Query-Time for Package "expand-brackets" completed in 1.9 ms +2024-06-20 19:49:00.181 +02:00 [INF] Query-Time for Package "fragment-cache" completed in 1.8 ms +2024-06-20 19:49:00.183 +02:00 [INF] Query-Time for Package "extglob" completed in 1.6 ms +2024-06-20 19:49:00.184 +02:00 [INF] Query-Time for Package "map-cache" completed in 1.7 ms +2024-06-20 19:49:00.186 +02:00 [INF] Query-Time for Package "is-windows" completed in 1.7 ms +2024-06-20 19:49:00.188 +02:00 [INF] Query-Time for Package "object.pick" completed in 1.5 ms +2024-06-20 19:49:00.191 +02:00 [INF] Query-Time for Package "nanomatch" completed in 3.3 ms +2024-06-20 19:49:00.194 +02:00 [INF] Query-Time for Package "ret" completed in 3.1 ms +2024-06-20 19:49:00.197 +02:00 [INF] Query-Time for Package "safe-regex" completed in 2.2 ms +2024-06-20 19:49:00.199 +02:00 [INF] Query-Time for Package "object-visit" completed in 2.0 ms +2024-06-20 19:49:00.201 +02:00 [INF] Query-Time for Package "map-visit" completed in 2.2 ms +2024-06-20 19:49:00.203 +02:00 [INF] Query-Time for Package "collection-visit" completed in 1.8 ms +2024-06-20 19:49:00.205 +02:00 [INF] Query-Time for Package "component-emitter" completed in 2.1 ms +2024-06-20 19:49:00.207 +02:00 [INF] Query-Time for Package "get-value" completed in 1.8 ms +2024-06-20 19:49:00.209 +02:00 [INF] Query-Time for Package "kind-of" completed in 1.9 ms +2024-06-20 19:49:00.211 +02:00 [INF] Query-Time for Package "has-values" completed in 1.6 ms +2024-06-20 19:49:00.213 +02:00 [INF] Query-Time for Package "has-value" completed in 1.5 ms +2024-06-20 19:49:00.215 +02:00 [INF] Query-Time for Package "set-value" completed in 2.4 ms +2024-06-20 19:49:00.217 +02:00 [INF] Query-Time for Package "to-object-path" completed in 1.6 ms +2024-06-20 19:49:00.219 +02:00 [INF] Query-Time for Package "arr-union" completed in 1.8 ms +2024-06-20 19:49:00.221 +02:00 [INF] Query-Time for Package "union-value" completed in 1.6 ms +2024-06-20 19:49:00.222 +02:00 [INF] Query-Time for Package "has-values" completed in 1.6 ms +2024-06-20 19:49:00.224 +02:00 [INF] Query-Time for Package "has-value" completed in 1.6 ms +2024-06-20 19:49:00.226 +02:00 [INF] Query-Time for Package "unset-value" completed in 1.6 ms +2024-06-20 19:49:00.227 +02:00 [INF] Query-Time for Package "cache-base" completed in 1.7 ms +2024-06-20 19:49:00.229 +02:00 [INF] Query-Time for Package "copy-descriptor" completed in 1.8 ms +2024-06-20 19:49:00.231 +02:00 [INF] Query-Time for Package "object-copy" completed in 1.7 ms +2024-06-20 19:49:00.233 +02:00 [INF] Query-Time for Package "static-extend" completed in 2.0 ms +2024-06-20 19:49:00.235 +02:00 [INF] Query-Time for Package "class-utils" completed in 1.9 ms +2024-06-20 19:49:00.237 +02:00 [INF] Query-Time for Package "mixin-deep" completed in 1.9 ms +2024-06-20 19:49:00.239 +02:00 [INF] Query-Time for Package "pascalcase" completed in 1.8 ms +2024-06-20 19:49:00.241 +02:00 [INF] Query-Time for Package "base" completed in 1.9 ms +2024-06-20 19:49:00.243 +02:00 [INF] Query-Time for Package "atob" completed in 1.7 ms +2024-06-20 19:49:00.245 +02:00 [INF] Query-Time for Package "decode-uri-component" completed in 1.8 ms +2024-06-20 19:49:00.247 +02:00 [INF] Query-Time for Package "resolve-url" completed in 1.7 ms +2024-06-20 19:49:00.248 +02:00 [INF] Query-Time for Package "source-map-url" completed in 1.6 ms +2024-06-20 19:49:00.250 +02:00 [INF] Query-Time for Package "urix" completed in 1.7 ms +2024-06-20 19:49:00.252 +02:00 [INF] Query-Time for Package "source-map-resolve" completed in 2.1 ms +2024-06-20 19:49:00.254 +02:00 [INF] Query-Time for Package "use" completed in 2.1 ms +2024-06-20 19:49:00.256 +02:00 [INF] Query-Time for Package "micromatch" completed in 1.7 ms +2024-06-20 19:49:00.258 +02:00 [INF] Query-Time for Package "readdirp" completed in 1.9 ms +2024-06-20 19:49:00.260 +02:00 [INF] Query-Time for Package "chokidar" completed in 1.6 ms +2024-06-20 19:49:00.262 +02:00 [INF] Query-Time for Package "watchpack" completed in 1.6 ms +2024-06-20 19:49:00.263 +02:00 [INF] Query-Time for Package "source-list-map" completed in 1.5 ms +2024-06-20 19:49:00.265 +02:00 [INF] Query-Time for Package "source-map" completed in 1.6 ms +2024-06-20 19:49:00.267 +02:00 [INF] Query-Time for Package "webpack-core" completed in 1.8 ms +2024-06-20 19:49:00.269 +02:00 [INF] Query-Time for Package "webpack" completed in 2.0 ms +2024-06-20 19:54:39.607 +02:00 [INF] Query-Time for Package "@commitlint/types" completed in 32.7 ms +2024-06-20 19:54:39.637 +02:00 [INF] Query-Time for Package "chalk" completed in 4.8 ms +2024-06-20 19:54:39.640 +02:00 [INF] Query-Time for Package "@commitlint/format" completed in 2.5 ms +2024-06-20 19:54:39.643 +02:00 [INF] Query-Time for Package "semver" completed in 3.3 ms +2024-06-20 19:54:39.745 +02:00 [INF] Query-Time for Package "@commitlint/is-ignored" completed in 3.3 ms +2024-06-20 19:54:39.747 +02:00 [INF] Query-Time for Package "compare-func" completed in 2.3 ms +2024-06-20 19:54:39.750 +02:00 [INF] Query-Time for Package "conventional-changelog-angular" completed in 2.0 ms +2024-06-20 19:54:39.752 +02:00 [INF] Query-Time for Package "text-extensions" completed in 1.8 ms +2024-06-20 19:54:39.754 +02:00 [INF] Query-Time for Package "is-text-path" completed in 1.8 ms +2024-06-20 19:54:39.756 +02:00 [INF] Query-Time for Package "jsonparse" completed in 2.1 ms +2024-06-20 19:54:39.758 +02:00 [INF] Query-Time for Package "through" completed in 1.9 ms +2024-06-20 19:54:39.760 +02:00 [INF] Query-Time for Package "JSONStream" completed in 2.3 ms +2024-06-20 19:54:39.763 +02:00 [INF] Query-Time for Package "meow" completed in 2.8 ms +2024-06-20 19:54:39.767 +02:00 [INF] Query-Time for Package "split2" completed in 3.5 ms +2024-06-20 19:54:39.770 +02:00 [INF] Query-Time for Package "conventional-commits-parser" completed in 3.0 ms +2024-06-20 19:54:39.774 +02:00 [INF] Query-Time for Package "@commitlint/parse" completed in 3.2 ms +2024-06-20 19:54:39.776 +02:00 [INF] Query-Time for Package "lodash.camelcase" completed in 2.3 ms +2024-06-20 19:54:39.779 +02:00 [INF] Query-Time for Package "lodash.kebabcase" completed in 2.1 ms +2024-06-20 19:54:39.781 +02:00 [INF] Query-Time for Package "lodash.snakecase" completed in 1.9 ms +2024-06-20 19:54:39.783 +02:00 [INF] Query-Time for Package "lodash.startcase" completed in 2.0 ms +2024-06-20 19:54:39.785 +02:00 [INF] Query-Time for Package "lodash.upperfirst" completed in 2.0 ms +2024-06-20 19:54:39.788 +02:00 [INF] Query-Time for Package "@commitlint/ensure" completed in 2.3 ms +2024-06-20 19:54:39.790 +02:00 [INF] Query-Time for Package "@commitlint/message" completed in 2.3 ms +2024-06-20 19:54:39.793 +02:00 [INF] Query-Time for Package "@commitlint/to-lines" completed in 2.3 ms +2024-06-20 19:54:39.795 +02:00 [INF] Query-Time for Package "execa" completed in 2.1 ms +2024-06-20 19:54:39.798 +02:00 [INF] Query-Time for Package "@commitlint/rules" completed in 2.1 ms +2024-06-20 19:54:39.800 +02:00 [INF] Query-Time for Package "@commitlint/lint" completed in 2.3 ms +2024-06-20 19:54:39.802 +02:00 [INF] Query-Time for Package "fast-deep-equal" completed in 2.0 ms +2024-06-20 19:54:39.804 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 1.9 ms +2024-06-20 19:54:39.806 +02:00 [INF] Query-Time for Package "require-from-string" completed in 1.9 ms +2024-06-20 19:54:39.808 +02:00 [INF] Query-Time for Package "uri-js" completed in 1.9 ms +2024-06-20 19:54:39.811 +02:00 [INF] Query-Time for Package "ajv" completed in 2.0 ms +2024-06-20 19:54:39.813 +02:00 [INF] Query-Time for Package "@commitlint/config-validator" completed in 1.9 ms +2024-06-20 19:54:39.814 +02:00 [INF] Query-Time for Package "@commitlint/execute-rule" completed in 1.7 ms +2024-06-20 19:54:39.817 +02:00 [INF] Query-Time for Package "import-fresh" completed in 1.9 ms +2024-06-20 19:54:39.819 +02:00 [INF] Query-Time for Package "lodash.mergewith" completed in 1.9 ms +2024-06-20 19:54:39.821 +02:00 [INF] Query-Time for Package "resolve-from" completed in 1.8 ms +2024-06-20 19:54:39.823 +02:00 [INF] Query-Time for Package "resolve-global" completed in 1.9 ms +2024-06-20 19:54:39.824 +02:00 [INF] Query-Time for Package "@commitlint/resolve-extends" completed in 1.8 ms +2024-06-20 19:54:39.826 +02:00 [INF] Query-Time for Package "@types/node" completed in 1.7 ms +2024-06-20 19:54:39.828 +02:00 [INF] Query-Time for Package "cosmiconfig" completed in 1.8 ms +2024-06-20 19:54:39.830 +02:00 [INF] Query-Time for Package "ts-node" completed in 1.9 ms +2024-06-20 19:54:39.832 +02:00 [INF] Query-Time for Package "typescript" completed in 1.9 ms +2024-06-20 19:54:39.834 +02:00 [INF] Query-Time for Package "cosmiconfig-typescript-loader" completed in 1.9 ms +2024-06-20 19:54:39.836 +02:00 [INF] Query-Time for Package "js-yaml" completed in 1.8 ms +2024-06-20 19:54:39.838 +02:00 [INF] Query-Time for Package "@babel/code-frame" completed in 1.8 ms +2024-06-20 19:54:39.841 +02:00 [INF] Query-Time for Package "is-arrayish" completed in 2.2 ms +2024-06-20 19:54:39.844 +02:00 [INF] Query-Time for Package "error-ex" completed in 2.9 ms +2024-06-20 19:54:39.846 +02:00 [INF] Query-Time for Package "json-parse-even-better-errors" completed in 2.6 ms +2024-06-20 19:54:39.849 +02:00 [INF] Query-Time for Package "lines-and-columns" completed in 2.6 ms +2024-06-20 19:54:39.852 +02:00 [INF] Query-Time for Package "parse-json" completed in 2.6 ms +2024-06-20 19:54:39.854 +02:00 [INF] Query-Time for Package "path-type" completed in 2.2 ms +2024-06-20 19:54:39.857 +02:00 [INF] Query-Time for Package "lodash.isplainobject" completed in 2.2 ms +2024-06-20 19:54:39.860 +02:00 [INF] Query-Time for Package "lodash.merge" completed in 2.5 ms +2024-06-20 19:54:39.863 +02:00 [INF] Query-Time for Package "lodash.uniq" completed in 2.7 ms +2024-06-20 19:54:39.865 +02:00 [INF] Query-Time for Package "@jridgewell/resolve-uri" completed in 2.4 ms +2024-06-20 19:54:39.868 +02:00 [INF] Query-Time for Package "@jridgewell/sourcemap-codec" completed in 2.6 ms +2024-06-20 19:54:39.871 +02:00 [INF] Query-Time for Package "@jridgewell/trace-mapping" completed in 2.4 ms +2024-06-20 19:54:39.873 +02:00 [INF] Query-Time for Package "@cspotcode/source-map-support" completed in 2.1 ms +2024-06-20 19:54:39.875 +02:00 [INF] Query-Time for Package "@swc/core" completed in 2.0 ms +2024-06-20 19:54:39.878 +02:00 [INF] Query-Time for Package "@swc/wasm" completed in 2.7 ms +2024-06-20 19:54:39.880 +02:00 [INF] Query-Time for Package "@tsconfig/node10" completed in 2.2 ms +2024-06-20 19:54:39.883 +02:00 [INF] Query-Time for Package "@tsconfig/node12" completed in 2.2 ms +2024-06-20 19:54:39.885 +02:00 [INF] Query-Time for Package "@tsconfig/node14" completed in 2.0 ms +2024-06-20 19:54:39.887 +02:00 [INF] Query-Time for Package "@tsconfig/node16" completed in 2.0 ms +2024-06-20 19:54:39.889 +02:00 [INF] Query-Time for Package "acorn-walk" completed in 2.1 ms +2024-06-20 19:54:39.892 +02:00 [INF] Query-Time for Package "acorn" completed in 2.2 ms +2024-06-20 19:54:39.894 +02:00 [INF] Query-Time for Package "arg" completed in 2.2 ms +2024-06-20 19:54:39.896 +02:00 [INF] Query-Time for Package "create-require" completed in 2.1 ms +2024-06-20 19:54:39.899 +02:00 [INF] Query-Time for Package "diff" completed in 2.1 ms +2024-06-20 19:54:39.901 +02:00 [INF] Query-Time for Package "make-error" completed in 2.2 ms +2024-06-20 19:54:39.903 +02:00 [INF] Query-Time for Package "v8-compile-cache-lib" completed in 2.0 ms +2024-06-20 19:54:39.905 +02:00 [INF] Query-Time for Package "yn" completed in 1.9 ms +2024-06-20 19:54:39.907 +02:00 [INF] Query-Time for Package "@commitlint/load" completed in 2.1 ms +2024-06-20 19:54:39.910 +02:00 [INF] Query-Time for Package "find-up" completed in 2.3 ms +2024-06-20 19:54:39.912 +02:00 [INF] Query-Time for Package "@commitlint/top-level" completed in 2.0 ms +2024-06-20 19:54:39.914 +02:00 [INF] Query-Time for Package "graceful-fs" completed in 2.0 ms +2024-06-20 19:54:39.916 +02:00 [INF] Query-Time for Package "universalify" completed in 1.9 ms +2024-06-20 19:54:39.919 +02:00 [INF] Query-Time for Package "jsonfile" completed in 2.0 ms +2024-06-20 19:54:39.921 +02:00 [INF] Query-Time for Package "fs-extra" completed in 1.9 ms +2024-06-20 19:54:39.923 +02:00 [INF] Query-Time for Package "dargs" completed in 2.1 ms +2024-06-20 19:54:39.926 +02:00 [INF] Query-Time for Package "lodash" completed in 2.6 ms +2024-06-20 19:54:39.930 +02:00 [INF] Query-Time for Package "@types/minimist" completed in 2.3 ms +2024-06-20 19:54:39.932 +02:00 [INF] Query-Time for Package "camelcase" completed in 2.3 ms +2024-06-20 19:54:39.934 +02:00 [INF] Query-Time for Package "map-obj" completed in 2.1 ms +2024-06-20 19:54:39.937 +02:00 [INF] Query-Time for Package "quick-lru" completed in 2.1 ms +2024-06-20 19:54:39.939 +02:00 [INF] Query-Time for Package "camelcase-keys" completed in 2.3 ms +2024-06-20 19:54:39.941 +02:00 [INF] Query-Time for Package "decamelize" completed in 1.9 ms +2024-06-20 19:54:39.943 +02:00 [INF] Query-Time for Package "map-obj" completed in 1.9 ms +2024-06-20 19:54:39.945 +02:00 [INF] Query-Time for Package "decamelize-keys" completed in 1.7 ms +2024-06-20 19:54:39.947 +02:00 [INF] Query-Time for Package "hard-rejection" completed in 1.8 ms +2024-06-20 19:54:39.949 +02:00 [INF] Query-Time for Package "arrify" completed in 2.0 ms +2024-06-20 19:54:39.952 +02:00 [INF] Query-Time for Package "is-plain-obj" completed in 2.0 ms +2024-06-20 19:54:39.954 +02:00 [INF] Query-Time for Package "kind-of" completed in 2.0 ms +2024-06-20 19:54:39.956 +02:00 [INF] Query-Time for Package "minimist-options" completed in 1.8 ms +2024-06-20 19:54:39.957 +02:00 [INF] Query-Time for Package "lru-cache" completed in 1.7 ms +2024-06-20 19:54:39.959 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 1.9 ms +2024-06-20 19:54:39.962 +02:00 [INF] Query-Time for Package "is-core-module" completed in 1.8 ms +2024-06-20 19:54:39.964 +02:00 [INF] Query-Time for Package "spdx-expression-parse" completed in 1.7 ms +2024-06-20 19:54:39.965 +02:00 [INF] Query-Time for Package "spdx-license-ids" completed in 1.8 ms +2024-06-20 19:54:39.968 +02:00 [INF] Query-Time for Package "spdx-correct" completed in 2.3 ms +2024-06-20 19:54:39.971 +02:00 [INF] Query-Time for Package "spdx-exceptions" completed in 2.5 ms +2024-06-20 19:54:39.974 +02:00 [INF] Query-Time for Package "validate-npm-package-license" completed in 2.8 ms +2024-06-20 19:54:39.977 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 2.7 ms +2024-06-20 19:54:39.979 +02:00 [INF] Query-Time for Package "p-try" completed in 2.4 ms +2024-06-20 19:54:39.981 +02:00 [INF] Query-Time for Package "p-limit" completed in 1.9 ms +2024-06-20 19:54:39.984 +02:00 [INF] Query-Time for Package "p-locate" completed in 2.2 ms +2024-06-20 19:54:39.986 +02:00 [INF] Query-Time for Package "locate-path" completed in 2.1 ms +2024-06-20 19:54:39.989 +02:00 [INF] Query-Time for Package "path-exists" completed in 2.5 ms +2024-06-20 19:54:39.992 +02:00 [INF] Query-Time for Package "find-up" completed in 2.8 ms +2024-06-20 19:54:39.994 +02:00 [INF] Query-Time for Package "@types/normalize-package-data" completed in 2.3 ms +2024-06-20 19:54:39.997 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 2.3 ms +2024-06-20 19:54:40.000 +02:00 [INF] Query-Time for Package "resolve" completed in 3.1 ms +2024-06-20 19:54:40.003 +02:00 [INF] Query-Time for Package "semver" completed in 2.6 ms +2024-06-20 19:54:40.006 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 2.2 ms +2024-06-20 19:54:40.008 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.4 ms +2024-06-20 19:54:40.011 +02:00 [INF] Query-Time for Package "read-pkg" completed in 2.2 ms +2024-06-20 19:54:40.013 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.8 ms +2024-06-20 19:54:40.015 +02:00 [INF] Query-Time for Package "read-pkg-up" completed in 1.8 ms +2024-06-20 19:54:40.017 +02:00 [INF] Query-Time for Package "indent-string" completed in 1.8 ms +2024-06-20 19:54:40.019 +02:00 [INF] Query-Time for Package "min-indent" completed in 1.8 ms +2024-06-20 19:54:40.021 +02:00 [INF] Query-Time for Package "strip-indent" completed in 2.0 ms +2024-06-20 19:54:40.023 +02:00 [INF] Query-Time for Package "redent" completed in 1.8 ms +2024-06-20 19:54:40.025 +02:00 [INF] Query-Time for Package "trim-newlines" completed in 1.9 ms +2024-06-20 19:54:40.027 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.9 ms +2024-06-20 19:54:40.029 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 2.3 ms +2024-06-20 19:54:40.032 +02:00 [INF] Query-Time for Package "inherits" completed in 2.0 ms +2024-06-20 19:54:40.034 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 1.9 ms +2024-06-20 19:54:40.035 +02:00 [INF] Query-Time for Package "string_decoder" completed in 1.8 ms +2024-06-20 19:54:40.037 +02:00 [INF] Query-Time for Package "util-deprecate" completed in 1.8 ms +2024-06-20 19:54:40.039 +02:00 [INF] Query-Time for Package "readable-stream" completed in 1.9 ms +2024-06-20 19:54:40.041 +02:00 [INF] Query-Time for Package "through2" completed in 1.9 ms +2024-06-20 19:54:40.043 +02:00 [INF] Query-Time for Package "git-raw-commits" completed in 2.0 ms +2024-06-20 19:54:40.046 +02:00 [INF] Query-Time for Package "minimist" completed in 2.0 ms +2024-06-20 19:54:40.048 +02:00 [INF] Query-Time for Package "@commitlint/read" completed in 2.0 ms +2024-06-20 19:54:40.050 +02:00 [INF] Query-Time for Package "cross-spawn" completed in 1.9 ms +2024-06-20 19:54:40.052 +02:00 [INF] Query-Time for Package "get-stream" completed in 1.9 ms +2024-06-20 19:54:40.054 +02:00 [INF] Query-Time for Package "human-signals" completed in 1.8 ms +2024-06-20 19:54:40.056 +02:00 [INF] Query-Time for Package "is-stream" completed in 1.9 ms +2024-06-20 19:54:40.058 +02:00 [INF] Query-Time for Package "merge-stream" completed in 2.1 ms +2024-06-20 19:54:40.061 +02:00 [INF] Query-Time for Package "path-key" completed in 2.2 ms +2024-06-20 19:54:40.062 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 1.8 ms +2024-06-20 19:54:40.064 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 1.8 ms +2024-06-20 19:54:40.066 +02:00 [INF] Query-Time for Package "onetime" completed in 1.9 ms +2024-06-20 19:54:40.068 +02:00 [INF] Query-Time for Package "signal-exit" completed in 1.9 ms +2024-06-20 19:54:40.071 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 2.3 ms +2024-06-20 19:54:40.073 +02:00 [INF] Query-Time for Package "lodash.isfunction" completed in 2.0 ms +2024-06-20 19:54:40.075 +02:00 [INF] Query-Time for Package "ini" completed in 2.2 ms +2024-06-20 19:54:40.078 +02:00 [INF] Query-Time for Package "global-dirs" completed in 2.0 ms +2024-06-20 19:54:40.080 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 1.8 ms +2024-06-20 19:54:40.082 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 1.7 ms +2024-06-20 19:54:40.084 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 1.8 ms +2024-06-20 19:54:40.085 +02:00 [INF] Query-Time for Package "string-width" completed in 1.7 ms +2024-06-20 19:54:40.087 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.7 ms +2024-06-20 19:54:40.089 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 1.8 ms +2024-06-20 19:54:40.091 +02:00 [INF] Query-Time for Package "cliui" completed in 1.9 ms +2024-06-20 19:54:40.093 +02:00 [INF] Query-Time for Package "escalade" completed in 1.8 ms +2024-06-20 19:54:40.095 +02:00 [INF] Query-Time for Package "get-caller-file" completed in 1.8 ms +2024-06-20 19:54:40.097 +02:00 [INF] Query-Time for Package "require-directory" completed in 1.8 ms +2024-06-20 19:54:40.099 +02:00 [INF] Query-Time for Package "y18n" completed in 2.0 ms +2024-06-20 19:54:40.102 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 2.2 ms +2024-06-20 19:54:40.104 +02:00 [INF] Query-Time for Package "yargs" completed in 1.9 ms +2024-06-20 19:54:40.106 +02:00 [INF] Query-Time for Package "@commitlint/cli" completed in 2.0 ms +2024-06-20 19:54:40.108 +02:00 [INF] Query-Time for Package "array-ify" completed in 2.0 ms +2024-06-20 19:54:40.110 +02:00 [INF] Query-Time for Package "is-obj" completed in 1.8 ms +2024-06-20 19:54:40.112 +02:00 [INF] Query-Time for Package "dot-prop" completed in 1.9 ms +2024-06-20 19:54:40.115 +02:00 [INF] Query-Time for Package "conventional-changelog-conventionalcommits" completed in 1.8 ms +2024-06-20 19:54:40.117 +02:00 [INF] Query-Time for Package "@commitlint/config-conventional" completed in 1.7 ms +2024-06-20 19:54:40.118 +02:00 [INF] Query-Time for Package "@types/estree" completed in 1.8 ms +2024-06-20 19:54:40.120 +02:00 [INF] Query-Time for Package "@types/json-schema" completed in 1.8 ms +2024-06-20 19:54:40.122 +02:00 [INF] Query-Time for Package "@types/eslint" completed in 1.9 ms +2024-06-20 19:54:40.124 +02:00 [INF] Query-Time for Package "jest-get-type" completed in 1.9 ms +2024-06-20 19:54:40.126 +02:00 [INF] Query-Time for Package "@jest/expect-utils" completed in 1.9 ms +2024-06-20 19:54:40.129 +02:00 [INF] Query-Time for Package "diff-sequences" completed in 2.1 ms +2024-06-20 19:54:40.131 +02:00 [INF] Query-Time for Package "pretty-format" completed in 2.0 ms +2024-06-20 19:54:40.133 +02:00 [INF] Query-Time for Package "jest-diff" completed in 2.0 ms +2024-06-20 19:54:40.135 +02:00 [INF] Query-Time for Package "jest-matcher-utils" completed in 2.2 ms +2024-06-20 19:54:40.138 +02:00 [INF] Query-Time for Package "@babel/helper-validator-identifier" completed in 2.2 ms +2024-06-20 19:54:40.140 +02:00 [INF] Query-Time for Package "color-name" completed in 1.9 ms +2024-06-20 19:54:40.142 +02:00 [INF] Query-Time for Package "color-convert" completed in 2.0 ms +2024-06-20 19:54:40.144 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.0 ms +2024-06-20 19:54:40.146 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.1 ms +2024-06-20 19:54:40.149 +02:00 [INF] Query-Time for Package "has-flag" completed in 2.2 ms +2024-06-20 19:54:40.151 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.2 ms +2024-06-20 19:54:40.153 +02:00 [INF] Query-Time for Package "chalk" completed in 2.0 ms +2024-06-20 19:54:40.155 +02:00 [INF] Query-Time for Package "js-tokens" completed in 1.9 ms +2024-06-20 19:54:40.157 +02:00 [INF] Query-Time for Package "@babel/highlight" completed in 1.8 ms +2024-06-20 19:54:40.159 +02:00 [INF] Query-Time for Package "@jest/schemas" completed in 1.9 ms +2024-06-20 19:54:40.161 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-coverage" completed in 1.9 ms +2024-06-20 19:54:40.163 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-report" completed in 1.8 ms +2024-06-20 19:54:40.166 +02:00 [INF] Query-Time for Package "@types/istanbul-reports" completed in 2.5 ms +2024-06-20 19:54:40.169 +02:00 [INF] Query-Time for Package "@types/yargs-parser" completed in 2.3 ms +2024-06-20 19:54:40.171 +02:00 [INF] Query-Time for Package "@types/yargs" completed in 2.0 ms +2024-06-20 19:54:40.173 +02:00 [INF] Query-Time for Package "@jest/types" completed in 1.7 ms +2024-06-20 19:54:40.175 +02:00 [INF] Query-Time for Package "@types/stack-utils" completed in 1.9 ms +2024-06-20 19:54:40.177 +02:00 [INF] Query-Time for Package "micromatch" completed in 1.8 ms +2024-06-20 19:54:40.178 +02:00 [INF] Query-Time for Package "slash" completed in 1.7 ms +2024-06-20 19:54:40.181 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.2 ms +2024-06-20 19:54:40.184 +02:00 [INF] Query-Time for Package "stack-utils" completed in 2.7 ms +2024-06-20 19:54:40.187 +02:00 [INF] Query-Time for Package "jest-message-util" completed in 3.0 ms +2024-06-20 19:54:40.190 +02:00 [INF] Query-Time for Package "ci-info" completed in 2.6 ms +2024-06-20 19:54:40.192 +02:00 [INF] Query-Time for Package "picomatch" completed in 2.2 ms +2024-06-20 19:54:40.194 +02:00 [INF] Query-Time for Package "jest-util" completed in 1.9 ms +2024-06-20 19:54:40.197 +02:00 [INF] Query-Time for Package "expect" completed in 2.3 ms +2024-06-20 19:54:40.199 +02:00 [INF] Query-Time for Package "@sinclair/typebox" completed in 2.2 ms +2024-06-20 19:54:40.202 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.4 ms +2024-06-20 19:54:40.204 +02:00 [INF] Query-Time for Package "react-is" completed in 1.8 ms +2024-06-20 19:54:40.206 +02:00 [INF] Query-Time for Package "@types/jest" completed in 2.0 ms +2024-06-20 19:54:40.208 +02:00 [INF] Query-Time for Package "@eslint-community/regexpp" completed in 2.0 ms +2024-06-20 19:54:40.210 +02:00 [INF] Query-Time for Package "@typescript-eslint/parser" completed in 2.2 ms +2024-06-20 19:54:40.212 +02:00 [INF] Query-Time for Package "@typescript-eslint/types" completed in 1.9 ms +2024-06-20 19:54:40.214 +02:00 [INF] Query-Time for Package "@typescript-eslint/visitor-keys" completed in 1.7 ms +2024-06-20 19:54:40.216 +02:00 [INF] Query-Time for Package "@typescript-eslint/scope-manager" completed in 1.7 ms +2024-06-20 19:54:40.218 +02:00 [INF] Query-Time for Package "@typescript-eslint/typescript-estree" completed in 1.7 ms +2024-06-20 19:54:40.220 +02:00 [INF] Query-Time for Package "@typescript-eslint/utils" completed in 1.7 ms +2024-06-20 19:54:40.221 +02:00 [INF] Query-Time for Package "debug" completed in 1.8 ms +2024-06-20 19:54:40.225 +02:00 [INF] Query-Time for Package "eslint" completed in 2.1 ms +2024-06-20 19:54:40.227 +02:00 [INF] Query-Time for Package "ts-api-utils" completed in 2.2 ms +2024-06-20 19:54:40.230 +02:00 [INF] Query-Time for Package "@typescript-eslint/type-utils" completed in 2.0 ms +2024-06-20 19:54:40.232 +02:00 [INF] Query-Time for Package "@eslint-community/eslint-utils" completed in 1.8 ms +2024-06-20 19:54:40.234 +02:00 [INF] Query-Time for Package "@types/semver" completed in 1.9 ms +2024-06-20 19:54:40.236 +02:00 [INF] Query-Time for Package "eslint-visitor-keys" completed in 1.8 ms +2024-06-20 19:54:40.238 +02:00 [INF] Query-Time for Package "ms" completed in 1.9 ms +2024-06-20 19:54:40.240 +02:00 [INF] Query-Time for Package "graphemer" completed in 1.8 ms +2024-06-20 19:54:40.242 +02:00 [INF] Query-Time for Package "ignore" completed in 2.5 ms +2024-06-20 19:54:40.245 +02:00 [INF] Query-Time for Package "natural-compare" completed in 2.1 ms +2024-06-20 19:54:40.247 +02:00 [INF] Query-Time for Package "yallist" completed in 1.9 ms +2024-06-20 19:54:40.249 +02:00 [INF] Query-Time for Package "@typescript-eslint/eslint-plugin" completed in 1.9 ms +2024-06-20 19:54:40.251 +02:00 [INF] Query-Time for Package "array-union" completed in 2.0 ms +2024-06-20 19:54:40.253 +02:00 [INF] Query-Time for Package "dir-glob" completed in 1.9 ms +2024-06-20 19:54:40.255 +02:00 [INF] Query-Time for Package "@nodelib/fs.stat" completed in 1.9 ms +2024-06-20 19:54:40.257 +02:00 [INF] Query-Time for Package "@nodelib/fs.walk" completed in 1.8 ms +2024-06-20 19:54:40.259 +02:00 [INF] Query-Time for Package "is-glob" completed in 1.7 ms +2024-06-20 19:54:40.261 +02:00 [INF] Query-Time for Package "glob-parent" completed in 1.9 ms +2024-06-20 19:54:40.263 +02:00 [INF] Query-Time for Package "merge2" completed in 1.8 ms +2024-06-20 19:54:40.265 +02:00 [INF] Query-Time for Package "fast-glob" completed in 1.8 ms +2024-06-20 19:54:40.267 +02:00 [INF] Query-Time for Package "globby" completed in 2.2 ms +2024-06-20 19:54:40.269 +02:00 [INF] Query-Time for Package "confusing-browser-globals" completed in 2.0 ms +2024-06-20 19:54:40.271 +02:00 [INF] Query-Time for Package "eslint-plugin-import" completed in 1.8 ms +2024-06-20 19:54:40.274 +02:00 [INF] Query-Time for Package "function-bind" completed in 2.2 ms +2024-06-20 19:54:40.276 +02:00 [INF] Query-Time for Package "get-intrinsic" completed in 2.3 ms +2024-06-20 19:54:40.279 +02:00 [INF] Query-Time for Package "call-bind" completed in 2.4 ms +2024-06-20 19:54:40.281 +02:00 [INF] Query-Time for Package "gopd" completed in 2.0 ms +2024-06-20 19:54:40.283 +02:00 [INF] Query-Time for Package "has-property-descriptors" completed in 2.2 ms +2024-06-20 19:54:40.285 +02:00 [INF] Query-Time for Package "define-data-property" completed in 2.0 ms +2024-06-20 19:54:40.288 +02:00 [INF] Query-Time for Package "object-keys" completed in 2.4 ms +2024-06-20 19:54:40.291 +02:00 [INF] Query-Time for Package "define-properties" completed in 2.7 ms +2024-06-20 19:54:40.293 +02:00 [INF] Query-Time for Package "has-symbols" completed in 2.2 ms +2024-06-20 19:54:40.296 +02:00 [INF] Query-Time for Package "object.assign" completed in 2.3 ms +2024-06-20 19:54:40.298 +02:00 [INF] Query-Time for Package "is-array-buffer" completed in 2.2 ms +2024-06-20 19:54:40.301 +02:00 [INF] Query-Time for Package "array-buffer-byte-length" completed in 2.3 ms +2024-06-20 19:54:40.303 +02:00 [INF] Query-Time for Package "es-abstract" completed in 2.6 ms +2024-06-20 19:54:40.306 +02:00 [INF] Query-Time for Package "is-shared-array-buffer" completed in 2.3 ms +2024-06-20 19:54:40.309 +02:00 [INF] Query-Time for Package "arraybuffer.prototype.slice" completed in 2.6 ms +2024-06-20 19:54:40.311 +02:00 [INF] Query-Time for Package "available-typed-arrays" completed in 2.4 ms +2024-06-20 19:54:40.313 +02:00 [INF] Query-Time for Package "has-tostringtag" completed in 1.9 ms +2024-06-20 19:54:40.315 +02:00 [INF] Query-Time for Package "has" completed in 1.9 ms +2024-06-20 19:54:40.318 +02:00 [INF] Query-Time for Package "es-set-tostringtag" completed in 2.4 ms +2024-06-20 19:54:40.321 +02:00 [INF] Query-Time for Package "is-callable" completed in 2.7 ms +2024-06-20 19:54:40.323 +02:00 [INF] Query-Time for Package "is-date-object" completed in 2.3 ms +2024-06-20 19:54:40.325 +02:00 [INF] Query-Time for Package "is-symbol" completed in 2.1 ms +2024-06-20 19:54:40.328 +02:00 [INF] Query-Time for Package "es-to-primitive" completed in 1.9 ms +2024-06-20 19:54:40.330 +02:00 [INF] Query-Time for Package "functions-have-names" completed in 2.0 ms +2024-06-20 19:54:40.332 +02:00 [INF] Query-Time for Package "function.prototype.name" completed in 2.2 ms +2024-06-20 19:54:40.335 +02:00 [INF] Query-Time for Package "get-symbol-description" completed in 2.9 ms +2024-06-20 19:54:40.337 +02:00 [INF] Query-Time for Package "globalthis" completed in 2.0 ms +2024-06-20 19:54:40.340 +02:00 [INF] Query-Time for Package "has-proto" completed in 2.0 ms +2024-06-20 19:54:40.342 +02:00 [INF] Query-Time for Package "object-inspect" completed in 2.2 ms +2024-06-20 19:54:40.344 +02:00 [INF] Query-Time for Package "side-channel" completed in 2.1 ms +2024-06-20 19:54:40.346 +02:00 [INF] Query-Time for Package "internal-slot" completed in 1.9 ms +2024-06-20 19:54:40.349 +02:00 [INF] Query-Time for Package "is-typed-array" completed in 2.1 ms +2024-06-20 19:54:40.351 +02:00 [INF] Query-Time for Package "is-negative-zero" completed in 2.5 ms +2024-06-20 19:54:40.354 +02:00 [INF] Query-Time for Package "is-regex" completed in 2.3 ms +2024-06-20 19:54:40.356 +02:00 [INF] Query-Time for Package "is-string" completed in 2.0 ms +2024-06-20 19:54:40.358 +02:00 [INF] Query-Time for Package "which-typed-array" completed in 1.9 ms +2024-06-20 19:54:40.360 +02:00 [INF] Query-Time for Package "is-weakref" completed in 2.1 ms +2024-06-20 19:54:40.363 +02:00 [INF] Query-Time for Package "set-function-name" completed in 2.2 ms +2024-06-20 19:54:40.365 +02:00 [INF] Query-Time for Package "regexp.prototype.flags" completed in 2.1 ms +2024-06-20 19:54:40.367 +02:00 [INF] Query-Time for Package "isarray" completed in 2.1 ms +2024-06-20 19:54:40.369 +02:00 [INF] Query-Time for Package "safe-array-concat" completed in 2.1 ms +2024-06-20 19:54:40.372 +02:00 [INF] Query-Time for Package "safe-regex-test" completed in 2.0 ms +2024-06-20 19:54:40.374 +02:00 [INF] Query-Time for Package "string.prototype.trim" completed in 1.8 ms +2024-06-20 19:54:40.376 +02:00 [INF] Query-Time for Package "string.prototype.trimend" completed in 2.0 ms +2024-06-20 19:54:40.378 +02:00 [INF] Query-Time for Package "string.prototype.trimstart" completed in 1.8 ms +2024-06-20 19:54:40.380 +02:00 [INF] Query-Time for Package "typed-array-buffer" completed in 2.5 ms +2024-06-20 19:54:40.383 +02:00 [INF] Query-Time for Package "for-each" completed in 2.1 ms +2024-06-20 19:54:40.385 +02:00 [INF] Query-Time for Package "typed-array-byte-length" completed in 2.0 ms +2024-06-20 19:54:40.387 +02:00 [INF] Query-Time for Package "typed-array-byte-offset" completed in 2.0 ms +2024-06-20 19:54:40.389 +02:00 [INF] Query-Time for Package "typed-array-length" completed in 2.1 ms +2024-06-20 19:54:40.391 +02:00 [INF] Query-Time for Package "has-bigints" completed in 2.2 ms +2024-06-20 19:54:40.394 +02:00 [INF] Query-Time for Package "is-bigint" completed in 2.1 ms +2024-06-20 19:54:40.397 +02:00 [INF] Query-Time for Package "is-boolean-object" completed in 2.6 ms +2024-06-20 19:54:40.401 +02:00 [INF] Query-Time for Package "is-number-object" completed in 4.1 ms +2024-06-20 19:54:40.405 +02:00 [INF] Query-Time for Package "which-boxed-primitive" completed in 4.2 ms +2024-06-20 19:54:40.409 +02:00 [INF] Query-Time for Package "unbox-primitive" completed in 3.0 ms +2024-06-20 19:54:40.412 +02:00 [INF] Query-Time for Package "object.entries" completed in 2.8 ms +2024-06-20 19:54:40.414 +02:00 [INF] Query-Time for Package "semver" completed in 2.4 ms +2024-06-20 19:54:40.417 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-base" completed in 2.1 ms +2024-06-20 19:54:40.419 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-typescript" completed in 2.1 ms +2024-06-20 19:54:40.421 +02:00 [INF] Query-Time for Package "eslint-config-prettier" completed in 2.1 ms +2024-06-20 19:54:40.424 +02:00 [INF] Query-Time for Package "array-includes" completed in 2.3 ms +2024-06-20 19:54:40.426 +02:00 [INF] Query-Time for Package "es-shim-unscopables" completed in 2.6 ms +2024-06-20 19:54:40.429 +02:00 [INF] Query-Time for Package "array.prototype.findlastindex" completed in 2.3 ms +2024-06-20 19:54:40.431 +02:00 [INF] Query-Time for Package "array.prototype.flat" completed in 2.1 ms +2024-06-20 19:54:40.434 +02:00 [INF] Query-Time for Package "array.prototype.flatmap" completed in 2.2 ms +2024-06-20 19:54:40.436 +02:00 [INF] Query-Time for Package "debug" completed in 2.1 ms +2024-06-20 19:54:40.438 +02:00 [INF] Query-Time for Package "esutils" completed in 2.0 ms +2024-06-20 19:54:40.441 +02:00 [INF] Query-Time for Package "doctrine" completed in 2.0 ms +2024-06-20 19:54:40.443 +02:00 [INF] Query-Time for Package "path-parse" completed in 2.0 ms +2024-06-20 19:54:40.445 +02:00 [INF] Query-Time for Package "supports-preserve-symlinks-flag" completed in 1.8 ms +2024-06-20 19:54:40.447 +02:00 [INF] Query-Time for Package "eslint-import-resolver-node" completed in 1.9 ms +2024-06-20 19:54:40.449 +02:00 [INF] Query-Time for Package "eslint-module-utils" completed in 1.8 ms +2024-06-20 19:54:40.451 +02:00 [INF] Query-Time for Package "is-extglob" completed in 1.7 ms +2024-06-20 19:54:40.453 +02:00 [INF] Query-Time for Package "balanced-match" completed in 1.7 ms +2024-06-20 19:54:40.455 +02:00 [INF] Query-Time for Package "concat-map" completed in 1.7 ms +2024-06-20 19:54:40.457 +02:00 [INF] Query-Time for Package "brace-expansion" completed in 2.0 ms +2024-06-20 19:54:40.459 +02:00 [INF] Query-Time for Package "minimatch" completed in 2.1 ms +2024-06-20 19:54:40.461 +02:00 [INF] Query-Time for Package "object.fromentries" completed in 2.0 ms +2024-06-20 19:54:40.463 +02:00 [INF] Query-Time for Package "object.groupby" completed in 1.9 ms +2024-06-20 19:54:40.465 +02:00 [INF] Query-Time for Package "object.values" completed in 1.8 ms +2024-06-20 19:54:40.467 +02:00 [INF] Query-Time for Package "@types/json5" completed in 1.9 ms +2024-06-20 19:54:40.469 +02:00 [INF] Query-Time for Package "json5" completed in 1.8 ms +2024-06-20 19:54:40.472 +02:00 [INF] Query-Time for Package "strip-bom" completed in 2.1 ms +2024-06-20 19:54:40.474 +02:00 [INF] Query-Time for Package "tsconfig-paths" completed in 1.9 ms +2024-06-20 19:54:40.476 +02:00 [INF] Query-Time for Package "fast-diff" completed in 2.0 ms +2024-06-20 19:54:40.478 +02:00 [INF] Query-Time for Package "prettier-linter-helpers" completed in 2.0 ms +2024-06-20 19:54:40.480 +02:00 [INF] Query-Time for Package "prettier" completed in 1.8 ms +2024-06-20 19:54:40.482 +02:00 [INF] Query-Time for Package "run-applescript" completed in 1.8 ms +2024-06-20 19:54:40.484 +02:00 [INF] Query-Time for Package "bundle-name" completed in 1.8 ms +2024-06-20 19:54:40.486 +02:00 [INF] Query-Time for Package "big-integer" completed in 1.9 ms +2024-06-20 19:54:40.488 +02:00 [INF] Query-Time for Package "bplist-parser" completed in 1.8 ms +2024-06-20 19:54:40.490 +02:00 [INF] Query-Time for Package "untildify" completed in 1.9 ms +2024-06-20 19:54:40.492 +02:00 [INF] Query-Time for Package "default-browser-id" completed in 1.8 ms +2024-06-20 19:54:40.494 +02:00 [INF] Query-Time for Package "human-signals" completed in 1.7 ms +2024-06-20 19:54:40.496 +02:00 [INF] Query-Time for Package "is-stream" completed in 1.8 ms +2024-06-20 19:54:40.498 +02:00 [INF] Query-Time for Package "path-key" completed in 1.8 ms +2024-06-20 19:54:40.500 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 2.0 ms +2024-06-20 19:54:40.502 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 1.9 ms +2024-06-20 19:54:40.504 +02:00 [INF] Query-Time for Package "onetime" completed in 1.8 ms +2024-06-20 19:54:40.506 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 1.7 ms +2024-06-20 19:54:40.508 +02:00 [INF] Query-Time for Package "execa" completed in 1.8 ms +2024-06-20 19:54:40.510 +02:00 [INF] Query-Time for Package "titleize" completed in 1.9 ms +2024-06-20 19:54:40.511 +02:00 [INF] Query-Time for Package "default-browser" completed in 1.7 ms +2024-06-20 19:54:40.513 +02:00 [INF] Query-Time for Package "define-lazy-prop" completed in 1.8 ms +2024-06-20 19:54:40.515 +02:00 [INF] Query-Time for Package "is-docker" completed in 1.7 ms +2024-06-20 19:54:40.517 +02:00 [INF] Query-Time for Package "is-inside-container" completed in 2.0 ms +2024-06-20 19:54:40.519 +02:00 [INF] Query-Time for Package "is-docker" completed in 1.8 ms +2024-06-20 19:54:40.521 +02:00 [INF] Query-Time for Package "is-wsl" completed in 1.7 ms +2024-06-20 19:54:40.523 +02:00 [INF] Query-Time for Package "open" completed in 1.6 ms +2024-06-20 19:54:40.525 +02:00 [INF] Query-Time for Package "picocolors" completed in 1.7 ms +2024-06-20 19:54:40.527 +02:00 [INF] Query-Time for Package "tslib" completed in 2.6 ms +2024-06-20 19:54:40.530 +02:00 [INF] Query-Time for Package "@pkgr/utils" completed in 2.5 ms +2024-06-20 19:54:40.533 +02:00 [INF] Query-Time for Package "synckit" completed in 2.5 ms +2024-06-20 19:54:40.536 +02:00 [INF] Query-Time for Package "eslint-plugin-prettier" completed in 2.3 ms +2024-06-20 19:54:40.538 +02:00 [INF] Query-Time for Package "fast-json-stable-stringify" completed in 2.6 ms +2024-06-20 19:54:40.541 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 2.3 ms +2024-06-20 19:54:40.543 +02:00 [INF] Query-Time for Package "ajv" completed in 2.2 ms +2024-06-20 19:54:40.545 +02:00 [INF] Query-Time for Package "espree" completed in 2.1 ms +2024-06-20 19:54:40.548 +02:00 [INF] Query-Time for Package "globals" completed in 2.4 ms +2024-06-20 19:54:40.551 +02:00 [INF] Query-Time for Package "callsites" completed in 2.7 ms +2024-06-20 19:54:40.553 +02:00 [INF] Query-Time for Package "parent-module" completed in 2.2 ms +2024-06-20 19:54:40.555 +02:00 [INF] Query-Time for Package "resolve-from" completed in 2.0 ms +2024-06-20 19:54:40.558 +02:00 [INF] Query-Time for Package "strip-json-comments" completed in 2.1 ms +2024-06-20 19:54:40.560 +02:00 [INF] Query-Time for Package "@eslint/eslintrc" completed in 2.2 ms +2024-06-20 19:54:40.563 +02:00 [INF] Query-Time for Package "@eslint/js" completed in 2.8 ms +2024-06-20 19:54:40.566 +02:00 [INF] Query-Time for Package "@humanwhocodes/object-schema" completed in 2.5 ms +2024-06-20 19:54:40.569 +02:00 [INF] Query-Time for Package "@humanwhocodes/config-array" completed in 3.3 ms +2024-06-20 19:54:40.574 +02:00 [INF] Query-Time for Package "@humanwhocodes/module-importer" completed in 4.2 ms +2024-06-20 19:54:40.579 +02:00 [INF] Query-Time for Package "queue-microtask" completed in 4.6 ms +2024-06-20 19:54:40.583 +02:00 [INF] Query-Time for Package "run-parallel" completed in 4.1 ms +2024-06-20 19:54:40.588 +02:00 [INF] Query-Time for Package "@nodelib/fs.scandir" completed in 5.0 ms +2024-06-20 19:54:40.593 +02:00 [INF] Query-Time for Package "reusify" completed in 4.2 ms +2024-06-20 19:54:40.597 +02:00 [INF] Query-Time for Package "fastq" completed in 3.9 ms +2024-06-20 19:54:40.601 +02:00 [INF] Query-Time for Package "punycode" completed in 4.3 ms +2024-06-20 19:54:40.606 +02:00 [INF] Query-Time for Package "color-name" completed in 4.0 ms +2024-06-20 19:54:40.611 +02:00 [INF] Query-Time for Package "color-convert" completed in 4.8 ms +2024-06-20 19:54:40.616 +02:00 [INF] Query-Time for Package "has-flag" completed in 4.9 ms +2024-06-20 19:54:40.620 +02:00 [INF] Query-Time for Package "supports-color" completed in 4.3 ms +2024-06-20 19:54:40.625 +02:00 [INF] Query-Time for Package "shebang-regex" completed in 4.7 ms +2024-06-20 19:54:40.629 +02:00 [INF] Query-Time for Package "shebang-command" completed in 3.5 ms +2024-06-20 19:54:40.632 +02:00 [INF] Query-Time for Package "isexe" completed in 3.2 ms +2024-06-20 19:54:40.635 +02:00 [INF] Query-Time for Package "which" completed in 3.2 ms +2024-06-20 19:54:40.639 +02:00 [INF] Query-Time for Package "doctrine" completed in 3.0 ms +2024-06-20 19:54:40.642 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 3.4 ms +2024-06-20 19:54:40.645 +02:00 [INF] Query-Time for Package "estraverse" completed in 2.9 ms +2024-06-20 19:54:40.647 +02:00 [INF] Query-Time for Package "esrecurse" completed in 2.0 ms +2024-06-20 19:54:40.650 +02:00 [INF] Query-Time for Package "eslint-scope" completed in 2.1 ms +2024-06-20 19:54:40.652 +02:00 [INF] Query-Time for Package "acorn-jsx" completed in 2.6 ms +2024-06-20 19:54:40.655 +02:00 [INF] Query-Time for Package "esquery" completed in 2.2 ms +2024-06-20 19:54:40.658 +02:00 [INF] Query-Time for Package "flatted" completed in 2.8 ms +2024-06-20 19:54:40.660 +02:00 [INF] Query-Time for Package "json-buffer" completed in 2.2 ms +2024-06-20 19:54:40.663 +02:00 [INF] Query-Time for Package "keyv" completed in 2.2 ms +2024-06-20 19:54:40.666 +02:00 [INF] Query-Time for Package "fs.realpath" completed in 2.9 ms +2024-06-20 19:54:40.669 +02:00 [INF] Query-Time for Package "once" completed in 2.7 ms +2024-06-20 19:54:40.672 +02:00 [INF] Query-Time for Package "wrappy" completed in 2.7 ms +2024-06-20 19:54:40.674 +02:00 [INF] Query-Time for Package "inflight" completed in 2.0 ms +2024-06-20 19:54:40.677 +02:00 [INF] Query-Time for Package "path-is-absolute" completed in 3.0 ms +2024-06-20 19:54:40.679 +02:00 [INF] Query-Time for Package "glob" completed in 2.2 ms +2024-06-20 19:54:40.682 +02:00 [INF] Query-Time for Package "rimraf" completed in 2.8 ms +2024-06-20 19:54:40.685 +02:00 [INF] Query-Time for Package "flat-cache" completed in 2.1 ms +2024-06-20 19:54:40.687 +02:00 [INF] Query-Time for Package "file-entry-cache" completed in 2.3 ms +2024-06-20 19:54:40.690 +02:00 [INF] Query-Time for Package "yocto-queue" completed in 2.3 ms +2024-06-20 19:54:40.692 +02:00 [INF] Query-Time for Package "p-limit" completed in 2.4 ms +2024-06-20 19:54:40.695 +02:00 [INF] Query-Time for Package "p-locate" completed in 2.4 ms +2024-06-20 19:54:40.697 +02:00 [INF] Query-Time for Package "locate-path" completed in 1.9 ms +2024-06-20 19:54:40.700 +02:00 [INF] Query-Time for Package "glob-parent" completed in 2.8 ms +2024-06-20 19:54:40.703 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.2 ms +2024-06-20 19:54:40.705 +02:00 [INF] Query-Time for Package "imurmurhash" completed in 1.9 ms +2024-06-20 19:54:40.707 +02:00 [INF] Query-Time for Package "is-path-inside" completed in 2.4 ms +2024-06-20 19:54:40.709 +02:00 [INF] Query-Time for Package "argparse" completed in 2.1 ms +2024-06-20 19:54:40.712 +02:00 [INF] Query-Time for Package "json-stable-stringify-without-jsonify" completed in 2.8 ms +2024-06-20 19:54:40.715 +02:00 [INF] Query-Time for Package "prelude-ls" completed in 2.3 ms +2024-06-20 19:54:40.717 +02:00 [INF] Query-Time for Package "type-check" completed in 2.3 ms +2024-06-20 19:54:40.720 +02:00 [INF] Query-Time for Package "levn" completed in 2.1 ms +2024-06-20 19:54:40.722 +02:00 [INF] Query-Time for Package "@aashutoshrathi/word-wrap" completed in 1.9 ms +2024-06-20 19:54:40.724 +02:00 [INF] Query-Time for Package "deep-is" completed in 2.1 ms +2024-06-20 19:54:40.726 +02:00 [INF] Query-Time for Package "fast-levenshtein" completed in 2.0 ms +2024-06-20 19:54:40.728 +02:00 [INF] Query-Time for Package "optionator" completed in 1.8 ms +2024-06-20 19:54:40.731 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 2.5 ms +2024-06-20 19:54:40.733 +02:00 [INF] Query-Time for Package "text-table" completed in 1.9 ms +2024-06-20 19:54:40.735 +02:00 [INF] Query-Time for Package "husky" completed in 2.1 ms +2024-06-20 19:54:40.738 +02:00 [INF] Query-Time for Package "chalk" completed in 2.3 ms +2024-06-20 19:54:40.740 +02:00 [INF] Query-Time for Package "commander" completed in 2.1 ms +2024-06-20 19:54:40.743 +02:00 [INF] Query-Time for Package "lilconfig" completed in 2.7 ms +2024-06-20 19:54:40.745 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.1 ms +2024-06-20 19:54:40.748 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 2.5 ms +2024-06-20 19:54:40.750 +02:00 [INF] Query-Time for Package "slice-ansi" completed in 2.3 ms +2024-06-20 19:54:40.753 +02:00 [INF] Query-Time for Package "eastasianwidth" completed in 2.6 ms +2024-06-20 19:54:40.756 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 2.4 ms +2024-06-20 19:54:40.757 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 1.8 ms +2024-06-20 19:54:40.760 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.2 ms +2024-06-20 19:54:40.762 +02:00 [INF] Query-Time for Package "string-width" completed in 2.5 ms +2024-06-20 19:54:40.765 +02:00 [INF] Query-Time for Package "cli-truncate" completed in 1.9 ms +2024-06-20 19:54:40.767 +02:00 [INF] Query-Time for Package "colorette" completed in 2.6 ms +2024-06-20 19:54:40.769 +02:00 [INF] Query-Time for Package "enquirer" completed in 2.0 ms +2024-06-20 19:54:40.772 +02:00 [INF] Query-Time for Package "eventemitter3" completed in 2.1 ms +2024-06-20 19:54:40.774 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.1 ms +2024-06-20 19:54:40.776 +02:00 [INF] Query-Time for Package "ansi-escapes" completed in 2.3 ms +2024-06-20 19:54:40.779 +02:00 [INF] Query-Time for Package "restore-cursor" completed in 2.7 ms +2024-06-20 19:54:40.782 +02:00 [INF] Query-Time for Package "cli-cursor" completed in 2.2 ms +2024-06-20 19:54:40.784 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 2.3 ms +2024-06-20 19:54:40.786 +02:00 [INF] Query-Time for Package "log-update" completed in 1.9 ms +2024-06-20 19:54:40.788 +02:00 [INF] Query-Time for Package "rfdc" completed in 1.8 ms +2024-06-20 19:54:40.791 +02:00 [INF] Query-Time for Package "listr2" completed in 2.4 ms +2024-06-20 19:54:40.793 +02:00 [INF] Query-Time for Package "is-number" completed in 2.0 ms +2024-06-20 19:54:40.795 +02:00 [INF] Query-Time for Package "to-regex-range" completed in 1.8 ms +2024-06-20 19:54:40.797 +02:00 [INF] Query-Time for Package "fill-range" completed in 2.1 ms +2024-06-20 19:54:40.799 +02:00 [INF] Query-Time for Package "braces" completed in 1.9 ms +2024-06-20 19:54:40.801 +02:00 [INF] Query-Time for Package "pidtree" completed in 2.0 ms +2024-06-20 19:54:40.804 +02:00 [INF] Query-Time for Package "string-argv" completed in 2.2 ms +2024-06-20 19:54:40.806 +02:00 [INF] Query-Time for Package "yaml" completed in 1.9 ms +2024-06-20 19:54:40.808 +02:00 [INF] Query-Time for Package "lint-staged" completed in 2.1 ms +2024-06-20 20:09:33.219 +02:00 [INF] Query-Time for Package "@commitlint/types" completed in 30.4 ms +2024-06-20 20:09:33.244 +02:00 [INF] Query-Time for Package "chalk" completed in 4.5 ms +2024-06-20 20:09:33.247 +02:00 [INF] Query-Time for Package "@commitlint/format" completed in 2.4 ms +2024-06-20 20:09:33.250 +02:00 [INF] Query-Time for Package "semver" completed in 3.6 ms +2024-06-20 20:09:33.353 +02:00 [INF] Query-Time for Package "@commitlint/is-ignored" completed in 2.9 ms +2024-06-20 20:09:33.356 +02:00 [INF] Query-Time for Package "compare-func" completed in 2.5 ms +2024-06-20 20:09:33.359 +02:00 [INF] Query-Time for Package "conventional-changelog-angular" completed in 2.2 ms +2024-06-20 20:09:33.361 +02:00 [INF] Query-Time for Package "text-extensions" completed in 2.2 ms +2024-06-20 20:09:33.363 +02:00 [INF] Query-Time for Package "is-text-path" completed in 2.2 ms +2024-06-20 20:09:33.365 +02:00 [INF] Query-Time for Package "jsonparse" completed in 2.0 ms +2024-06-20 20:09:33.368 +02:00 [INF] Query-Time for Package "through" completed in 2.3 ms +2024-06-20 20:09:33.371 +02:00 [INF] Query-Time for Package "JSONStream" completed in 2.5 ms +2024-06-20 20:09:33.373 +02:00 [INF] Query-Time for Package "meow" completed in 2.3 ms +2024-06-20 20:09:33.376 +02:00 [INF] Query-Time for Package "split2" completed in 2.8 ms +2024-06-20 20:09:33.380 +02:00 [INF] Query-Time for Package "conventional-commits-parser" completed in 3.5 ms +2024-06-20 20:09:33.384 +02:00 [INF] Query-Time for Package "@commitlint/parse" completed in 3.4 ms +2024-06-20 20:09:33.387 +02:00 [INF] Query-Time for Package "lodash.camelcase" completed in 3.4 ms +2024-06-20 20:09:33.391 +02:00 [INF] Query-Time for Package "lodash.kebabcase" completed in 3.2 ms +2024-06-20 20:09:33.394 +02:00 [INF] Query-Time for Package "lodash.snakecase" completed in 3.0 ms +2024-06-20 20:09:33.396 +02:00 [INF] Query-Time for Package "lodash.startcase" completed in 2.1 ms +2024-06-20 20:09:33.399 +02:00 [INF] Query-Time for Package "lodash.upperfirst" completed in 2.7 ms +2024-06-20 20:09:33.402 +02:00 [INF] Query-Time for Package "@commitlint/ensure" completed in 2.6 ms +2024-06-20 20:09:33.405 +02:00 [INF] Query-Time for Package "@commitlint/message" completed in 2.2 ms +2024-06-20 20:09:33.407 +02:00 [INF] Query-Time for Package "@commitlint/to-lines" completed in 2.3 ms +2024-06-20 20:09:33.410 +02:00 [INF] Query-Time for Package "execa" completed in 2.5 ms +2024-06-20 20:09:33.412 +02:00 [INF] Query-Time for Package "@commitlint/rules" completed in 2.4 ms +2024-06-20 20:09:33.415 +02:00 [INF] Query-Time for Package "@commitlint/lint" completed in 2.3 ms +2024-06-20 20:09:33.417 +02:00 [INF] Query-Time for Package "fast-deep-equal" completed in 2.3 ms +2024-06-20 20:09:33.420 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 2.2 ms +2024-06-20 20:09:33.422 +02:00 [INF] Query-Time for Package "require-from-string" completed in 2.4 ms +2024-06-20 20:09:33.425 +02:00 [INF] Query-Time for Package "uri-js" completed in 2.4 ms +2024-06-20 20:09:33.427 +02:00 [INF] Query-Time for Package "ajv" completed in 2.2 ms +2024-06-20 20:09:33.430 +02:00 [INF] Query-Time for Package "@commitlint/config-validator" completed in 2.7 ms +2024-06-20 20:09:33.433 +02:00 [INF] Query-Time for Package "@commitlint/execute-rule" completed in 2.2 ms +2024-06-20 20:09:33.435 +02:00 [INF] Query-Time for Package "import-fresh" completed in 2.2 ms +2024-06-20 20:09:33.438 +02:00 [INF] Query-Time for Package "lodash.mergewith" completed in 2.2 ms +2024-06-20 20:09:33.440 +02:00 [INF] Query-Time for Package "resolve-from" completed in 2.1 ms +2024-06-20 20:09:33.442 +02:00 [INF] Query-Time for Package "resolve-global" completed in 2.2 ms +2024-06-20 20:09:33.444 +02:00 [INF] Query-Time for Package "@commitlint/resolve-extends" completed in 2.0 ms +2024-06-20 20:09:33.447 +02:00 [INF] Query-Time for Package "@types/node" completed in 2.3 ms +2024-06-20 20:09:33.449 +02:00 [INF] Query-Time for Package "cosmiconfig" completed in 2.1 ms +2024-06-20 20:09:33.452 +02:00 [INF] Query-Time for Package "ts-node" completed in 2.4 ms +2024-06-20 20:09:33.454 +02:00 [INF] Query-Time for Package "typescript" completed in 2.1 ms +2024-06-20 20:09:33.456 +02:00 [INF] Query-Time for Package "cosmiconfig-typescript-loader" completed in 2.0 ms +2024-06-20 20:09:33.459 +02:00 [INF] Query-Time for Package "js-yaml" completed in 2.1 ms +2024-06-20 20:09:33.461 +02:00 [INF] Query-Time for Package "@babel/code-frame" completed in 2.6 ms +2024-06-20 20:09:33.464 +02:00 [INF] Query-Time for Package "is-arrayish" completed in 2.1 ms +2024-06-20 20:09:33.466 +02:00 [INF] Query-Time for Package "error-ex" completed in 2.1 ms +2024-06-20 20:09:33.468 +02:00 [INF] Query-Time for Package "json-parse-even-better-errors" completed in 2.4 ms +2024-06-20 20:09:33.471 +02:00 [INF] Query-Time for Package "lines-and-columns" completed in 2.1 ms +2024-06-20 20:09:33.473 +02:00 [INF] Query-Time for Package "parse-json" completed in 2.1 ms +2024-06-20 20:09:33.475 +02:00 [INF] Query-Time for Package "path-type" completed in 2.0 ms +2024-06-20 20:09:33.478 +02:00 [INF] Query-Time for Package "lodash.isplainobject" completed in 2.6 ms +2024-06-20 20:09:33.480 +02:00 [INF] Query-Time for Package "lodash.merge" completed in 2.1 ms +2024-06-20 20:09:33.482 +02:00 [INF] Query-Time for Package "lodash.uniq" completed in 1.9 ms +2024-06-20 20:09:33.485 +02:00 [INF] Query-Time for Package "@jridgewell/resolve-uri" completed in 2.0 ms +2024-06-20 20:09:33.487 +02:00 [INF] Query-Time for Package "@jridgewell/sourcemap-codec" completed in 1.8 ms +2024-06-20 20:09:33.489 +02:00 [INF] Query-Time for Package "@jridgewell/trace-mapping" completed in 1.9 ms +2024-06-20 20:09:33.493 +02:00 [INF] Query-Time for Package "@cspotcode/source-map-support" completed in 4.0 ms +2024-06-20 20:09:33.495 +02:00 [INF] Query-Time for Package "@swc/core" completed in 2.3 ms +2024-06-20 20:09:33.497 +02:00 [INF] Query-Time for Package "@swc/wasm" completed in 2.0 ms +2024-06-20 20:09:33.500 +02:00 [INF] Query-Time for Package "@tsconfig/node10" completed in 2.0 ms +2024-06-20 20:09:33.502 +02:00 [INF] Query-Time for Package "@tsconfig/node12" completed in 2.1 ms +2024-06-20 20:09:33.504 +02:00 [INF] Query-Time for Package "@tsconfig/node14" completed in 2.3 ms +2024-06-20 20:09:33.507 +02:00 [INF] Query-Time for Package "@tsconfig/node16" completed in 2.2 ms +2024-06-20 20:09:33.509 +02:00 [INF] Query-Time for Package "acorn-walk" completed in 2.3 ms +2024-06-20 20:09:33.511 +02:00 [INF] Query-Time for Package "acorn" completed in 1.8 ms +2024-06-20 20:09:33.513 +02:00 [INF] Query-Time for Package "arg" completed in 1.8 ms +2024-06-20 20:09:33.515 +02:00 [INF] Query-Time for Package "create-require" completed in 1.8 ms +2024-06-20 20:09:33.517 +02:00 [INF] Query-Time for Package "diff" completed in 1.9 ms +2024-06-20 20:09:33.519 +02:00 [INF] Query-Time for Package "make-error" completed in 1.8 ms +2024-06-20 20:09:33.522 +02:00 [INF] Query-Time for Package "v8-compile-cache-lib" completed in 2.4 ms +2024-06-20 20:09:33.524 +02:00 [INF] Query-Time for Package "yn" completed in 1.9 ms +2024-06-20 20:09:33.526 +02:00 [INF] Query-Time for Package "@commitlint/load" completed in 1.7 ms +2024-06-20 20:09:33.528 +02:00 [INF] Query-Time for Package "find-up" completed in 1.8 ms +2024-06-20 20:09:33.530 +02:00 [INF] Query-Time for Package "@commitlint/top-level" completed in 2.0 ms +2024-06-20 20:09:33.532 +02:00 [INF] Query-Time for Package "graceful-fs" completed in 2.0 ms +2024-06-20 20:09:33.534 +02:00 [INF] Query-Time for Package "universalify" completed in 2.2 ms +2024-06-20 20:09:33.537 +02:00 [INF] Query-Time for Package "jsonfile" completed in 2.0 ms +2024-06-20 20:09:33.539 +02:00 [INF] Query-Time for Package "fs-extra" completed in 2.6 ms +2024-06-20 20:09:33.542 +02:00 [INF] Query-Time for Package "dargs" completed in 2.1 ms +2024-06-20 20:09:33.544 +02:00 [INF] Query-Time for Package "lodash" completed in 2.8 ms +2024-06-20 20:09:33.549 +02:00 [INF] Query-Time for Package "@types/minimist" completed in 2.6 ms +2024-06-20 20:09:33.551 +02:00 [INF] Query-Time for Package "camelcase" completed in 2.1 ms +2024-06-20 20:09:33.553 +02:00 [INF] Query-Time for Package "map-obj" completed in 1.9 ms +2024-06-20 20:09:33.555 +02:00 [INF] Query-Time for Package "quick-lru" completed in 1.7 ms +2024-06-20 20:09:33.557 +02:00 [INF] Query-Time for Package "camelcase-keys" completed in 2.1 ms +2024-06-20 20:09:33.560 +02:00 [INF] Query-Time for Package "decamelize" completed in 2.3 ms +2024-06-20 20:09:33.562 +02:00 [INF] Query-Time for Package "map-obj" completed in 2.1 ms +2024-06-20 20:09:33.564 +02:00 [INF] Query-Time for Package "decamelize-keys" completed in 1.8 ms +2024-06-20 20:09:33.566 +02:00 [INF] Query-Time for Package "hard-rejection" completed in 2.1 ms +2024-06-20 20:09:33.568 +02:00 [INF] Query-Time for Package "arrify" completed in 2.1 ms +2024-06-20 20:09:33.571 +02:00 [INF] Query-Time for Package "is-plain-obj" completed in 2.0 ms +2024-06-20 20:09:33.573 +02:00 [INF] Query-Time for Package "kind-of" completed in 1.8 ms +2024-06-20 20:09:33.575 +02:00 [INF] Query-Time for Package "minimist-options" completed in 2.0 ms +2024-06-20 20:09:33.577 +02:00 [INF] Query-Time for Package "lru-cache" completed in 2.1 ms +2024-06-20 20:09:33.584 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 7.2 ms +2024-06-20 20:09:33.588 +02:00 [INF] Query-Time for Package "is-core-module" completed in 3.3 ms +2024-06-20 20:09:33.591 +02:00 [INF] Query-Time for Package "spdx-expression-parse" completed in 2.4 ms +2024-06-20 20:09:33.593 +02:00 [INF] Query-Time for Package "spdx-license-ids" completed in 2.1 ms +2024-06-20 20:09:33.595 +02:00 [INF] Query-Time for Package "spdx-correct" completed in 1.9 ms +2024-06-20 20:09:33.598 +02:00 [INF] Query-Time for Package "spdx-exceptions" completed in 2.2 ms +2024-06-20 20:09:33.602 +02:00 [INF] Query-Time for Package "validate-npm-package-license" completed in 3.6 ms +2024-06-20 20:09:33.606 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 3.8 ms +2024-06-20 20:09:33.609 +02:00 [INF] Query-Time for Package "p-try" completed in 3.4 ms +2024-06-20 20:09:33.613 +02:00 [INF] Query-Time for Package "p-limit" completed in 3.0 ms +2024-06-20 20:09:33.615 +02:00 [INF] Query-Time for Package "p-locate" completed in 2.1 ms +2024-06-20 20:09:33.617 +02:00 [INF] Query-Time for Package "locate-path" completed in 1.9 ms +2024-06-20 20:09:33.619 +02:00 [INF] Query-Time for Package "path-exists" completed in 2.0 ms +2024-06-20 20:09:33.621 +02:00 [INF] Query-Time for Package "find-up" completed in 1.9 ms +2024-06-20 20:09:33.623 +02:00 [INF] Query-Time for Package "@types/normalize-package-data" completed in 1.7 ms +2024-06-20 20:09:33.625 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 1.9 ms +2024-06-20 20:09:33.627 +02:00 [INF] Query-Time for Package "resolve" completed in 1.8 ms +2024-06-20 20:09:33.629 +02:00 [INF] Query-Time for Package "semver" completed in 1.8 ms +2024-06-20 20:09:33.631 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 1.9 ms +2024-06-20 20:09:33.634 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.1 ms +2024-06-20 20:09:33.635 +02:00 [INF] Query-Time for Package "read-pkg" completed in 1.7 ms +2024-06-20 20:09:33.637 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.7 ms +2024-06-20 20:09:33.639 +02:00 [INF] Query-Time for Package "read-pkg-up" completed in 1.7 ms +2024-06-20 20:09:33.641 +02:00 [INF] Query-Time for Package "indent-string" completed in 1.9 ms +2024-06-20 20:09:33.643 +02:00 [INF] Query-Time for Package "min-indent" completed in 2.2 ms +2024-06-20 20:09:33.645 +02:00 [INF] Query-Time for Package "strip-indent" completed in 1.8 ms +2024-06-20 20:09:33.647 +02:00 [INF] Query-Time for Package "redent" completed in 1.6 ms +2024-06-20 20:09:33.649 +02:00 [INF] Query-Time for Package "trim-newlines" completed in 1.8 ms +2024-06-20 20:09:33.651 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.8 ms +2024-06-20 20:09:33.653 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 1.9 ms +2024-06-20 20:09:33.655 +02:00 [INF] Query-Time for Package "inherits" completed in 1.9 ms +2024-06-20 20:09:33.657 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 1.7 ms +2024-06-20 20:09:33.659 +02:00 [INF] Query-Time for Package "string_decoder" completed in 1.9 ms +2024-06-20 20:09:33.661 +02:00 [INF] Query-Time for Package "util-deprecate" completed in 2.0 ms +2024-06-20 20:09:33.663 +02:00 [INF] Query-Time for Package "readable-stream" completed in 1.7 ms +2024-06-20 20:09:33.665 +02:00 [INF] Query-Time for Package "through2" completed in 1.8 ms +2024-06-20 20:09:33.667 +02:00 [INF] Query-Time for Package "git-raw-commits" completed in 2.1 ms +2024-06-20 20:09:33.670 +02:00 [INF] Query-Time for Package "minimist" completed in 2.1 ms +2024-06-20 20:09:33.672 +02:00 [INF] Query-Time for Package "@commitlint/read" completed in 2.0 ms +2024-06-20 20:09:33.674 +02:00 [INF] Query-Time for Package "cross-spawn" completed in 1.9 ms +2024-06-20 20:09:33.676 +02:00 [INF] Query-Time for Package "get-stream" completed in 1.8 ms +2024-06-20 20:09:33.678 +02:00 [INF] Query-Time for Package "human-signals" completed in 1.8 ms +2024-06-20 20:09:33.680 +02:00 [INF] Query-Time for Package "is-stream" completed in 2.0 ms +2024-06-20 20:09:33.682 +02:00 [INF] Query-Time for Package "merge-stream" completed in 1.7 ms +2024-06-20 20:09:33.684 +02:00 [INF] Query-Time for Package "path-key" completed in 1.8 ms +2024-06-20 20:09:33.686 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 1.8 ms +2024-06-20 20:09:33.688 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 2.0 ms +2024-06-20 20:09:33.690 +02:00 [INF] Query-Time for Package "onetime" completed in 1.9 ms +2024-06-20 20:09:33.692 +02:00 [INF] Query-Time for Package "signal-exit" completed in 1.7 ms +2024-06-20 20:09:33.694 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 1.8 ms +2024-06-20 20:09:33.696 +02:00 [INF] Query-Time for Package "lodash.isfunction" completed in 1.8 ms +2024-06-20 20:09:33.698 +02:00 [INF] Query-Time for Package "ini" completed in 1.9 ms +2024-06-20 20:09:33.700 +02:00 [INF] Query-Time for Package "global-dirs" completed in 1.9 ms +2024-06-20 20:09:33.702 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 1.8 ms +2024-06-20 20:09:33.704 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 1.9 ms +2024-06-20 20:09:33.706 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 1.7 ms +2024-06-20 20:09:33.708 +02:00 [INF] Query-Time for Package "string-width" completed in 1.7 ms +2024-06-20 20:09:33.710 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.9 ms +2024-06-20 20:09:33.712 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 1.8 ms +2024-06-20 20:09:33.713 +02:00 [INF] Query-Time for Package "cliui" completed in 1.7 ms +2024-06-20 20:09:33.715 +02:00 [INF] Query-Time for Package "escalade" completed in 1.7 ms +2024-06-20 20:09:33.717 +02:00 [INF] Query-Time for Package "get-caller-file" completed in 1.6 ms +2024-06-20 20:09:33.719 +02:00 [INF] Query-Time for Package "require-directory" completed in 1.8 ms +2024-06-20 20:09:33.721 +02:00 [INF] Query-Time for Package "y18n" completed in 2.0 ms +2024-06-20 20:09:33.723 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 1.9 ms +2024-06-20 20:09:33.726 +02:00 [INF] Query-Time for Package "yargs" completed in 1.8 ms +2024-06-20 20:09:33.728 +02:00 [INF] Query-Time for Package "@commitlint/cli" completed in 2.0 ms +2024-06-20 20:09:33.730 +02:00 [INF] Query-Time for Package "array-ify" completed in 1.9 ms +2024-06-20 20:09:33.732 +02:00 [INF] Query-Time for Package "is-obj" completed in 2.0 ms +2024-06-20 20:09:33.735 +02:00 [INF] Query-Time for Package "dot-prop" completed in 2.7 ms +2024-06-20 20:09:33.737 +02:00 [INF] Query-Time for Package "conventional-changelog-conventionalcommits" completed in 2.2 ms +2024-06-20 20:09:33.740 +02:00 [INF] Query-Time for Package "@commitlint/config-conventional" completed in 2.3 ms +2024-06-20 20:09:33.742 +02:00 [INF] Query-Time for Package "@types/estree" completed in 2.3 ms +2024-06-20 20:09:33.745 +02:00 [INF] Query-Time for Package "@types/json-schema" completed in 2.3 ms +2024-06-20 20:09:33.747 +02:00 [INF] Query-Time for Package "@types/eslint" completed in 2.1 ms +2024-06-20 20:09:33.750 +02:00 [INF] Query-Time for Package "jest-get-type" completed in 2.3 ms +2024-06-20 20:09:33.752 +02:00 [INF] Query-Time for Package "@jest/expect-utils" completed in 2.3 ms +2024-06-20 20:09:33.754 +02:00 [INF] Query-Time for Package "diff-sequences" completed in 1.9 ms +2024-06-20 20:09:33.757 +02:00 [INF] Query-Time for Package "pretty-format" completed in 2.1 ms +2024-06-20 20:09:33.759 +02:00 [INF] Query-Time for Package "jest-diff" completed in 2.2 ms +2024-06-20 20:09:33.761 +02:00 [INF] Query-Time for Package "jest-matcher-utils" completed in 2.2 ms +2024-06-20 20:09:33.763 +02:00 [INF] Query-Time for Package "@babel/helper-validator-identifier" completed in 2.1 ms +2024-06-20 20:09:33.766 +02:00 [INF] Query-Time for Package "color-name" completed in 2.3 ms +2024-06-20 20:09:33.769 +02:00 [INF] Query-Time for Package "color-convert" completed in 2.5 ms +2024-06-20 20:09:33.771 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.6 ms +2024-06-20 20:09:33.774 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.3 ms +2024-06-20 20:09:33.776 +02:00 [INF] Query-Time for Package "has-flag" completed in 2.4 ms +2024-06-20 20:09:33.779 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.2 ms +2024-06-20 20:09:33.782 +02:00 [INF] Query-Time for Package "chalk" completed in 2.6 ms +2024-06-20 20:09:33.784 +02:00 [INF] Query-Time for Package "js-tokens" completed in 2.4 ms +2024-06-20 20:09:33.787 +02:00 [INF] Query-Time for Package "@babel/highlight" completed in 2.2 ms +2024-06-20 20:09:33.789 +02:00 [INF] Query-Time for Package "@jest/schemas" completed in 2.1 ms +2024-06-20 20:09:33.791 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-coverage" completed in 2.2 ms +2024-06-20 20:09:33.793 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-report" completed in 2.1 ms +2024-06-20 20:09:33.796 +02:00 [INF] Query-Time for Package "@types/istanbul-reports" completed in 2.1 ms +2024-06-20 20:09:33.798 +02:00 [INF] Query-Time for Package "@types/yargs-parser" completed in 1.8 ms +2024-06-20 20:09:33.800 +02:00 [INF] Query-Time for Package "@types/yargs" completed in 2.1 ms +2024-06-20 20:09:33.802 +02:00 [INF] Query-Time for Package "@jest/types" completed in 1.9 ms +2024-06-20 20:09:33.804 +02:00 [INF] Query-Time for Package "@types/stack-utils" completed in 1.8 ms +2024-06-20 20:09:33.806 +02:00 [INF] Query-Time for Package "micromatch" completed in 1.8 ms +2024-06-20 20:09:33.808 +02:00 [INF] Query-Time for Package "slash" completed in 1.8 ms +2024-06-20 20:09:33.810 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.0 ms +2024-06-20 20:09:33.812 +02:00 [INF] Query-Time for Package "stack-utils" completed in 2.0 ms +2024-06-20 20:09:33.815 +02:00 [INF] Query-Time for Package "jest-message-util" completed in 2.7 ms +2024-06-20 20:09:33.818 +02:00 [INF] Query-Time for Package "ci-info" completed in 2.7 ms +2024-06-20 20:09:33.820 +02:00 [INF] Query-Time for Package "picomatch" completed in 2.3 ms +2024-06-20 20:09:33.823 +02:00 [INF] Query-Time for Package "jest-util" completed in 2.3 ms +2024-06-20 20:09:33.825 +02:00 [INF] Query-Time for Package "expect" completed in 2.4 ms +2024-06-20 20:09:33.827 +02:00 [INF] Query-Time for Package "@sinclair/typebox" completed in 2.0 ms +2024-06-20 20:09:33.830 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.3 ms +2024-06-20 20:09:33.832 +02:00 [INF] Query-Time for Package "react-is" completed in 2.1 ms +2024-06-20 20:09:33.835 +02:00 [INF] Query-Time for Package "@types/jest" completed in 2.2 ms +2024-06-20 20:09:33.837 +02:00 [INF] Query-Time for Package "@eslint-community/regexpp" completed in 2.1 ms +2024-06-20 20:09:33.839 +02:00 [INF] Query-Time for Package "@typescript-eslint/parser" completed in 2.1 ms +2024-06-20 20:09:33.842 +02:00 [INF] Query-Time for Package "@typescript-eslint/types" completed in 2.2 ms +2024-06-20 20:09:33.844 +02:00 [INF] Query-Time for Package "@typescript-eslint/visitor-keys" completed in 2.3 ms +2024-06-20 20:09:33.846 +02:00 [INF] Query-Time for Package "@typescript-eslint/scope-manager" completed in 2.1 ms +2024-06-20 20:09:33.849 +02:00 [INF] Query-Time for Package "@typescript-eslint/typescript-estree" completed in 2.4 ms +2024-06-20 20:09:33.851 +02:00 [INF] Query-Time for Package "@typescript-eslint/utils" completed in 2.2 ms +2024-06-20 20:09:33.854 +02:00 [INF] Query-Time for Package "debug" completed in 2.3 ms +2024-06-20 20:09:33.858 +02:00 [INF] Query-Time for Package "eslint" completed in 2.3 ms +2024-06-20 20:09:33.860 +02:00 [INF] Query-Time for Package "ts-api-utils" completed in 2.2 ms +2024-06-20 20:09:33.862 +02:00 [INF] Query-Time for Package "@typescript-eslint/type-utils" completed in 2.0 ms +2024-06-20 20:09:33.864 +02:00 [INF] Query-Time for Package "@eslint-community/eslint-utils" completed in 1.9 ms +2024-06-20 20:09:33.867 +02:00 [INF] Query-Time for Package "@types/semver" completed in 2.2 ms +2024-06-20 20:09:33.869 +02:00 [INF] Query-Time for Package "eslint-visitor-keys" completed in 2.1 ms +2024-06-20 20:09:33.872 +02:00 [INF] Query-Time for Package "ms" completed in 2.7 ms +2024-06-20 20:09:33.875 +02:00 [INF] Query-Time for Package "graphemer" completed in 2.4 ms +2024-06-20 20:09:33.877 +02:00 [INF] Query-Time for Package "ignore" completed in 2.3 ms +2024-06-20 20:09:33.880 +02:00 [INF] Query-Time for Package "natural-compare" completed in 2.3 ms +2024-06-20 20:09:33.882 +02:00 [INF] Query-Time for Package "yallist" completed in 2.2 ms +2024-06-20 20:09:33.884 +02:00 [INF] Query-Time for Package "@typescript-eslint/eslint-plugin" completed in 2.0 ms +2024-06-20 20:09:33.887 +02:00 [INF] Query-Time for Package "array-union" completed in 2.2 ms +2024-06-20 20:09:33.889 +02:00 [INF] Query-Time for Package "dir-glob" completed in 2.0 ms +2024-06-20 20:09:33.891 +02:00 [INF] Query-Time for Package "@nodelib/fs.stat" completed in 2.3 ms +2024-06-20 20:09:33.894 +02:00 [INF] Query-Time for Package "@nodelib/fs.walk" completed in 2.3 ms +2024-06-20 20:09:33.896 +02:00 [INF] Query-Time for Package "is-glob" completed in 2.1 ms +2024-06-20 20:09:33.899 +02:00 [INF] Query-Time for Package "glob-parent" completed in 2.3 ms +2024-06-20 20:09:33.902 +02:00 [INF] Query-Time for Package "merge2" completed in 2.7 ms +2024-06-20 20:09:33.904 +02:00 [INF] Query-Time for Package "fast-glob" completed in 2.3 ms +2024-06-20 20:09:33.906 +02:00 [INF] Query-Time for Package "globby" completed in 1.8 ms +2024-06-20 20:09:33.908 +02:00 [INF] Query-Time for Package "confusing-browser-globals" completed in 1.8 ms +2024-06-20 20:09:33.911 +02:00 [INF] Query-Time for Package "eslint-plugin-import" completed in 2.4 ms +2024-06-20 20:09:33.913 +02:00 [INF] Query-Time for Package "function-bind" completed in 1.9 ms +2024-06-20 20:09:33.915 +02:00 [INF] Query-Time for Package "get-intrinsic" completed in 2.2 ms +2024-06-20 20:09:33.917 +02:00 [INF] Query-Time for Package "call-bind" completed in 2.0 ms +2024-06-20 20:09:33.920 +02:00 [INF] Query-Time for Package "gopd" completed in 1.9 ms +2024-06-20 20:09:33.922 +02:00 [INF] Query-Time for Package "has-property-descriptors" completed in 1.8 ms +2024-06-20 20:09:33.923 +02:00 [INF] Query-Time for Package "define-data-property" completed in 1.8 ms +2024-06-20 20:09:33.925 +02:00 [INF] Query-Time for Package "object-keys" completed in 1.8 ms +2024-06-20 20:09:33.927 +02:00 [INF] Query-Time for Package "define-properties" completed in 1.9 ms +2024-06-20 20:09:33.929 +02:00 [INF] Query-Time for Package "has-symbols" completed in 1.9 ms +2024-06-20 20:09:33.931 +02:00 [INF] Query-Time for Package "object.assign" completed in 2.0 ms +2024-06-20 20:09:33.934 +02:00 [INF] Query-Time for Package "is-array-buffer" completed in 2.1 ms +2024-06-20 20:09:33.936 +02:00 [INF] Query-Time for Package "array-buffer-byte-length" completed in 1.9 ms +2024-06-20 20:09:33.938 +02:00 [INF] Query-Time for Package "es-abstract" completed in 2.2 ms +2024-06-20 20:09:33.940 +02:00 [INF] Query-Time for Package "is-shared-array-buffer" completed in 2.2 ms +2024-06-20 20:09:33.943 +02:00 [INF] Query-Time for Package "arraybuffer.prototype.slice" completed in 2.1 ms +2024-06-20 20:09:33.945 +02:00 [INF] Query-Time for Package "available-typed-arrays" completed in 2.0 ms +2024-06-20 20:09:33.947 +02:00 [INF] Query-Time for Package "has-tostringtag" completed in 2.1 ms +2024-06-20 20:09:33.949 +02:00 [INF] Query-Time for Package "has" completed in 2.0 ms +2024-06-20 20:09:33.952 +02:00 [INF] Query-Time for Package "es-set-tostringtag" completed in 2.3 ms +2024-06-20 20:09:33.954 +02:00 [INF] Query-Time for Package "is-callable" completed in 2.0 ms +2024-06-20 20:09:33.956 +02:00 [INF] Query-Time for Package "is-date-object" completed in 1.9 ms +2024-06-20 20:09:33.958 +02:00 [INF] Query-Time for Package "is-symbol" completed in 1.8 ms +2024-06-20 20:09:33.960 +02:00 [INF] Query-Time for Package "es-to-primitive" completed in 2.1 ms +2024-06-20 20:09:33.963 +02:00 [INF] Query-Time for Package "functions-have-names" completed in 2.1 ms +2024-06-20 20:09:33.965 +02:00 [INF] Query-Time for Package "function.prototype.name" completed in 1.9 ms +2024-06-20 20:09:33.967 +02:00 [INF] Query-Time for Package "get-symbol-description" completed in 2.0 ms +2024-06-20 20:09:33.969 +02:00 [INF] Query-Time for Package "globalthis" completed in 2.1 ms +2024-06-20 20:09:33.971 +02:00 [INF] Query-Time for Package "has-proto" completed in 2.0 ms +2024-06-20 20:09:33.973 +02:00 [INF] Query-Time for Package "object-inspect" completed in 1.9 ms +2024-06-20 20:09:33.975 +02:00 [INF] Query-Time for Package "side-channel" completed in 2.0 ms +2024-06-20 20:09:33.978 +02:00 [INF] Query-Time for Package "internal-slot" completed in 2.3 ms +2024-06-20 20:09:33.980 +02:00 [INF] Query-Time for Package "is-typed-array" completed in 2.1 ms +2024-06-20 20:09:33.982 +02:00 [INF] Query-Time for Package "is-negative-zero" completed in 2.1 ms +2024-06-20 20:09:33.984 +02:00 [INF] Query-Time for Package "is-regex" completed in 1.8 ms +2024-06-20 20:09:33.986 +02:00 [INF] Query-Time for Package "is-string" completed in 1.9 ms +2024-06-20 20:09:33.988 +02:00 [INF] Query-Time for Package "which-typed-array" completed in 1.8 ms +2024-06-20 20:09:33.990 +02:00 [INF] Query-Time for Package "is-weakref" completed in 1.9 ms +2024-06-20 20:09:33.992 +02:00 [INF] Query-Time for Package "set-function-name" completed in 1.9 ms +2024-06-20 20:09:33.994 +02:00 [INF] Query-Time for Package "regexp.prototype.flags" completed in 1.9 ms +2024-06-20 20:09:33.996 +02:00 [INF] Query-Time for Package "isarray" completed in 1.7 ms +2024-06-20 20:09:33.998 +02:00 [INF] Query-Time for Package "safe-array-concat" completed in 1.6 ms +2024-06-20 20:09:34.000 +02:00 [INF] Query-Time for Package "safe-regex-test" completed in 2.0 ms +2024-06-20 20:09:34.002 +02:00 [INF] Query-Time for Package "string.prototype.trim" completed in 1.8 ms +2024-06-20 20:09:34.004 +02:00 [INF] Query-Time for Package "string.prototype.trimend" completed in 1.7 ms +2024-06-20 20:09:34.006 +02:00 [INF] Query-Time for Package "string.prototype.trimstart" completed in 1.8 ms +2024-06-20 20:09:34.008 +02:00 [INF] Query-Time for Package "typed-array-buffer" completed in 2.1 ms +2024-06-20 20:09:34.010 +02:00 [INF] Query-Time for Package "for-each" completed in 1.9 ms +2024-06-20 20:09:34.012 +02:00 [INF] Query-Time for Package "typed-array-byte-length" completed in 1.9 ms +2024-06-20 20:09:34.014 +02:00 [INF] Query-Time for Package "typed-array-byte-offset" completed in 1.8 ms +2024-06-20 20:09:34.016 +02:00 [INF] Query-Time for Package "typed-array-length" completed in 1.7 ms +2024-06-20 20:09:34.018 +02:00 [INF] Query-Time for Package "has-bigints" completed in 1.7 ms +2024-06-20 20:09:34.020 +02:00 [INF] Query-Time for Package "is-bigint" completed in 1.9 ms +2024-06-20 20:09:34.022 +02:00 [INF] Query-Time for Package "is-boolean-object" completed in 1.7 ms +2024-06-20 20:09:34.024 +02:00 [INF] Query-Time for Package "is-number-object" completed in 2.5 ms +2024-06-20 20:09:34.027 +02:00 [INF] Query-Time for Package "which-boxed-primitive" completed in 2.5 ms +2024-06-20 20:09:34.031 +02:00 [INF] Query-Time for Package "unbox-primitive" completed in 3.5 ms +2024-06-20 20:09:34.033 +02:00 [INF] Query-Time for Package "object.entries" completed in 2.3 ms +2024-06-20 20:09:34.035 +02:00 [INF] Query-Time for Package "semver" completed in 2.2 ms +2024-06-20 20:09:34.039 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-base" completed in 2.7 ms +2024-06-20 20:09:34.041 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-typescript" completed in 2.5 ms +2024-06-20 20:09:34.044 +02:00 [INF] Query-Time for Package "eslint-config-prettier" completed in 2.5 ms +2024-06-20 20:09:34.046 +02:00 [INF] Query-Time for Package "array-includes" completed in 1.8 ms +2024-06-20 20:09:34.048 +02:00 [INF] Query-Time for Package "es-shim-unscopables" completed in 2.0 ms +2024-06-20 20:09:34.050 +02:00 [INF] Query-Time for Package "array.prototype.findlastindex" completed in 2.1 ms +2024-06-20 20:09:34.053 +02:00 [INF] Query-Time for Package "array.prototype.flat" completed in 2.1 ms +2024-06-20 20:09:34.055 +02:00 [INF] Query-Time for Package "array.prototype.flatmap" completed in 2.2 ms +2024-06-20 20:09:34.057 +02:00 [INF] Query-Time for Package "debug" completed in 2.0 ms +2024-06-20 20:09:34.060 +02:00 [INF] Query-Time for Package "esutils" completed in 2.2 ms +2024-06-20 20:09:34.062 +02:00 [INF] Query-Time for Package "doctrine" completed in 2.0 ms +2024-06-20 20:09:34.064 +02:00 [INF] Query-Time for Package "path-parse" completed in 2.0 ms +2024-06-20 20:09:34.067 +02:00 [INF] Query-Time for Package "supports-preserve-symlinks-flag" completed in 2.1 ms +2024-06-20 20:09:34.069 +02:00 [INF] Query-Time for Package "eslint-import-resolver-node" completed in 2.2 ms +2024-06-20 20:09:34.071 +02:00 [INF] Query-Time for Package "eslint-module-utils" completed in 2.0 ms +2024-06-20 20:09:34.074 +02:00 [INF] Query-Time for Package "is-extglob" completed in 2.2 ms +2024-06-20 20:09:34.076 +02:00 [INF] Query-Time for Package "balanced-match" completed in 2.1 ms +2024-06-20 20:09:34.078 +02:00 [INF] Query-Time for Package "concat-map" completed in 2.0 ms +2024-06-20 20:09:34.080 +02:00 [INF] Query-Time for Package "brace-expansion" completed in 2.2 ms +2024-06-20 20:09:34.083 +02:00 [INF] Query-Time for Package "minimatch" completed in 2.4 ms +2024-06-20 20:09:34.086 +02:00 [INF] Query-Time for Package "object.fromentries" completed in 2.2 ms +2024-06-20 20:09:34.088 +02:00 [INF] Query-Time for Package "object.groupby" completed in 2.1 ms +2024-06-20 20:09:34.090 +02:00 [INF] Query-Time for Package "object.values" completed in 2.0 ms +2024-06-20 20:09:34.092 +02:00 [INF] Query-Time for Package "@types/json5" completed in 2.1 ms +2024-06-20 20:09:34.095 +02:00 [INF] Query-Time for Package "json5" completed in 2.1 ms +2024-06-20 20:09:34.097 +02:00 [INF] Query-Time for Package "strip-bom" completed in 2.2 ms +2024-06-20 20:09:34.100 +02:00 [INF] Query-Time for Package "tsconfig-paths" completed in 2.7 ms +2024-06-20 20:09:34.103 +02:00 [INF] Query-Time for Package "fast-diff" completed in 2.5 ms +2024-06-20 20:09:34.105 +02:00 [INF] Query-Time for Package "prettier-linter-helpers" completed in 2.2 ms +2024-06-20 20:09:34.108 +02:00 [INF] Query-Time for Package "prettier" completed in 2.2 ms +2024-06-20 20:09:34.111 +02:00 [INF] Query-Time for Package "run-applescript" completed in 2.8 ms +2024-06-20 20:09:34.113 +02:00 [INF] Query-Time for Package "bundle-name" completed in 2.4 ms +2024-06-20 20:09:34.116 +02:00 [INF] Query-Time for Package "big-integer" completed in 2.4 ms +2024-06-20 20:09:34.118 +02:00 [INF] Query-Time for Package "bplist-parser" completed in 2.2 ms +2024-06-20 20:09:34.121 +02:00 [INF] Query-Time for Package "untildify" completed in 2.7 ms +2024-06-20 20:09:34.123 +02:00 [INF] Query-Time for Package "default-browser-id" completed in 2.1 ms +2024-06-20 20:09:34.126 +02:00 [INF] Query-Time for Package "human-signals" completed in 2.1 ms +2024-06-20 20:09:34.128 +02:00 [INF] Query-Time for Package "is-stream" completed in 2.6 ms +2024-06-20 20:09:34.131 +02:00 [INF] Query-Time for Package "path-key" completed in 2.6 ms +2024-06-20 20:09:34.134 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 2.7 ms +2024-06-20 20:09:34.137 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 2.3 ms +2024-06-20 20:09:34.139 +02:00 [INF] Query-Time for Package "onetime" completed in 2.4 ms +2024-06-20 20:09:34.142 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 2.5 ms +2024-06-20 20:09:34.144 +02:00 [INF] Query-Time for Package "execa" completed in 2.4 ms +2024-06-20 20:09:34.147 +02:00 [INF] Query-Time for Package "titleize" completed in 2.6 ms +2024-06-20 20:09:34.150 +02:00 [INF] Query-Time for Package "default-browser" completed in 2.5 ms +2024-06-20 20:09:34.153 +02:00 [INF] Query-Time for Package "define-lazy-prop" completed in 2.6 ms +2024-06-20 20:09:34.156 +02:00 [INF] Query-Time for Package "is-docker" completed in 2.8 ms +2024-06-20 20:09:34.158 +02:00 [INF] Query-Time for Package "is-inside-container" completed in 2.5 ms +2024-06-20 20:09:34.161 +02:00 [INF] Query-Time for Package "is-docker" completed in 2.7 ms +2024-06-20 20:09:34.164 +02:00 [INF] Query-Time for Package "is-wsl" completed in 2.6 ms +2024-06-20 20:09:34.167 +02:00 [INF] Query-Time for Package "open" completed in 2.3 ms +2024-06-20 20:09:34.169 +02:00 [INF] Query-Time for Package "picocolors" completed in 2.4 ms +2024-06-20 20:09:34.172 +02:00 [INF] Query-Time for Package "tslib" completed in 2.7 ms +2024-06-20 20:09:34.175 +02:00 [INF] Query-Time for Package "@pkgr/utils" completed in 2.8 ms +2024-06-20 20:09:34.179 +02:00 [INF] Query-Time for Package "synckit" completed in 3.6 ms +2024-06-20 20:09:34.181 +02:00 [INF] Query-Time for Package "eslint-plugin-prettier" completed in 2.5 ms +2024-06-20 20:09:34.184 +02:00 [INF] Query-Time for Package "fast-json-stable-stringify" completed in 2.5 ms +2024-06-20 20:09:34.186 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 1.9 ms +2024-06-20 20:09:34.189 +02:00 [INF] Query-Time for Package "ajv" completed in 2.3 ms +2024-06-20 20:09:34.192 +02:00 [INF] Query-Time for Package "espree" completed in 3.2 ms +2024-06-20 20:09:34.195 +02:00 [INF] Query-Time for Package "globals" completed in 3.2 ms +2024-06-20 20:09:34.199 +02:00 [INF] Query-Time for Package "callsites" completed in 3.4 ms +2024-06-20 20:09:34.203 +02:00 [INF] Query-Time for Package "parent-module" completed in 3.8 ms +2024-06-20 20:09:34.207 +02:00 [INF] Query-Time for Package "resolve-from" completed in 3.9 ms +2024-06-20 20:09:34.211 +02:00 [INF] Query-Time for Package "strip-json-comments" completed in 3.7 ms +2024-06-20 20:09:34.215 +02:00 [INF] Query-Time for Package "@eslint/eslintrc" completed in 3.6 ms +2024-06-20 20:09:34.219 +02:00 [INF] Query-Time for Package "@eslint/js" completed in 3.5 ms +2024-06-20 20:09:34.223 +02:00 [INF] Query-Time for Package "@humanwhocodes/object-schema" completed in 4.0 ms +2024-06-20 20:09:34.227 +02:00 [INF] Query-Time for Package "@humanwhocodes/config-array" completed in 3.5 ms +2024-06-20 20:09:34.230 +02:00 [INF] Query-Time for Package "@humanwhocodes/module-importer" completed in 3.3 ms +2024-06-20 20:09:34.234 +02:00 [INF] Query-Time for Package "queue-microtask" completed in 3.8 ms +2024-06-20 20:09:34.239 +02:00 [INF] Query-Time for Package "run-parallel" completed in 4.2 ms +2024-06-20 20:09:34.244 +02:00 [INF] Query-Time for Package "@nodelib/fs.scandir" completed in 4.9 ms +2024-06-20 20:09:34.249 +02:00 [INF] Query-Time for Package "reusify" completed in 4.7 ms +2024-06-20 20:09:34.254 +02:00 [INF] Query-Time for Package "fastq" completed in 4.5 ms +2024-06-20 20:09:34.259 +02:00 [INF] Query-Time for Package "punycode" completed in 5.0 ms +2024-06-20 20:09:34.263 +02:00 [INF] Query-Time for Package "color-name" completed in 3.8 ms +2024-06-20 20:09:34.267 +02:00 [INF] Query-Time for Package "color-convert" completed in 3.7 ms +2024-06-20 20:09:34.271 +02:00 [INF] Query-Time for Package "has-flag" completed in 3.3 ms +2024-06-20 20:09:34.275 +02:00 [INF] Query-Time for Package "supports-color" completed in 3.7 ms +2024-06-20 20:09:34.278 +02:00 [INF] Query-Time for Package "shebang-regex" completed in 3.6 ms +2024-06-20 20:09:34.282 +02:00 [INF] Query-Time for Package "shebang-command" completed in 3.4 ms +2024-06-20 20:09:34.286 +02:00 [INF] Query-Time for Package "isexe" completed in 3.2 ms +2024-06-20 20:09:34.288 +02:00 [INF] Query-Time for Package "which" completed in 2.6 ms +2024-06-20 20:09:34.291 +02:00 [INF] Query-Time for Package "doctrine" completed in 2.7 ms +2024-06-20 20:09:34.294 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.6 ms +2024-06-20 20:09:34.296 +02:00 [INF] Query-Time for Package "estraverse" completed in 2.2 ms +2024-06-20 20:09:34.299 +02:00 [INF] Query-Time for Package "esrecurse" completed in 2.3 ms +2024-06-20 20:09:34.301 +02:00 [INF] Query-Time for Package "eslint-scope" completed in 2.1 ms +2024-06-20 20:09:34.303 +02:00 [INF] Query-Time for Package "acorn-jsx" completed in 1.9 ms +2024-06-20 20:09:34.305 +02:00 [INF] Query-Time for Package "esquery" completed in 1.8 ms +2024-06-20 20:09:34.307 +02:00 [INF] Query-Time for Package "flatted" completed in 1.8 ms +2024-06-20 20:09:34.310 +02:00 [INF] Query-Time for Package "json-buffer" completed in 3.1 ms +2024-06-20 20:09:34.313 +02:00 [INF] Query-Time for Package "keyv" completed in 2.7 ms +2024-06-20 20:09:34.316 +02:00 [INF] Query-Time for Package "fs.realpath" completed in 3.0 ms +2024-06-20 20:09:34.319 +02:00 [INF] Query-Time for Package "once" completed in 3.0 ms +2024-06-20 20:09:34.322 +02:00 [INF] Query-Time for Package "wrappy" completed in 2.6 ms +2024-06-20 20:09:34.325 +02:00 [INF] Query-Time for Package "inflight" completed in 2.5 ms +2024-06-20 20:09:34.328 +02:00 [INF] Query-Time for Package "path-is-absolute" completed in 2.8 ms +2024-06-20 20:09:34.330 +02:00 [INF] Query-Time for Package "glob" completed in 2.3 ms +2024-06-20 20:09:34.332 +02:00 [INF] Query-Time for Package "rimraf" completed in 1.8 ms +2024-06-20 20:09:34.335 +02:00 [INF] Query-Time for Package "flat-cache" completed in 2.3 ms +2024-06-20 20:09:34.337 +02:00 [INF] Query-Time for Package "file-entry-cache" completed in 1.8 ms +2024-06-20 20:09:34.339 +02:00 [INF] Query-Time for Package "yocto-queue" completed in 1.8 ms +2024-06-20 20:09:34.342 +02:00 [INF] Query-Time for Package "p-limit" completed in 2.7 ms +2024-06-20 20:09:34.344 +02:00 [INF] Query-Time for Package "p-locate" completed in 2.1 ms +2024-06-20 20:09:34.346 +02:00 [INF] Query-Time for Package "locate-path" completed in 1.9 ms +2024-06-20 20:09:34.348 +02:00 [INF] Query-Time for Package "glob-parent" completed in 1.8 ms +2024-06-20 20:09:34.350 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.8 ms +2024-06-20 20:09:34.352 +02:00 [INF] Query-Time for Package "imurmurhash" completed in 1.9 ms +2024-06-20 20:09:34.354 +02:00 [INF] Query-Time for Package "is-path-inside" completed in 1.8 ms +2024-06-20 20:09:34.356 +02:00 [INF] Query-Time for Package "argparse" completed in 1.7 ms +2024-06-20 20:09:34.358 +02:00 [INF] Query-Time for Package "json-stable-stringify-without-jsonify" completed in 2.3 ms +2024-06-20 20:09:34.360 +02:00 [INF] Query-Time for Package "prelude-ls" completed in 1.9 ms +2024-06-20 20:09:34.362 +02:00 [INF] Query-Time for Package "type-check" completed in 1.7 ms +2024-06-20 20:09:34.364 +02:00 [INF] Query-Time for Package "levn" completed in 1.8 ms +2024-06-20 20:09:34.366 +02:00 [INF] Query-Time for Package "@aashutoshrathi/word-wrap" completed in 1.8 ms +2024-06-20 20:09:34.368 +02:00 [INF] Query-Time for Package "deep-is" completed in 1.8 ms +2024-06-20 20:09:34.370 +02:00 [INF] Query-Time for Package "fast-levenshtein" completed in 2.1 ms +2024-06-20 20:09:34.372 +02:00 [INF] Query-Time for Package "optionator" completed in 2.0 ms +2024-06-20 20:09:34.374 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 2.1 ms +2024-06-20 20:09:34.377 +02:00 [INF] Query-Time for Package "text-table" completed in 1.9 ms +2024-06-20 20:09:34.379 +02:00 [INF] Query-Time for Package "husky" completed in 2.2 ms +2024-06-20 20:09:34.381 +02:00 [INF] Query-Time for Package "chalk" completed in 2.0 ms +2024-06-20 20:09:34.383 +02:00 [INF] Query-Time for Package "commander" completed in 1.9 ms +2024-06-20 20:09:34.385 +02:00 [INF] Query-Time for Package "lilconfig" completed in 1.7 ms +2024-06-20 20:09:34.387 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.1 ms +2024-06-20 20:09:34.390 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 2.1 ms +2024-06-20 20:09:34.392 +02:00 [INF] Query-Time for Package "slice-ansi" completed in 2.4 ms +2024-06-20 20:09:34.394 +02:00 [INF] Query-Time for Package "eastasianwidth" completed in 2.1 ms +2024-06-20 20:09:34.396 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 1.8 ms +2024-06-20 20:09:34.398 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 1.9 ms +2024-06-20 20:09:34.401 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.2 ms +2024-06-20 20:09:34.403 +02:00 [INF] Query-Time for Package "string-width" completed in 2.3 ms +2024-06-20 20:09:34.405 +02:00 [INF] Query-Time for Package "cli-truncate" completed in 2.2 ms +2024-06-20 20:09:34.408 +02:00 [INF] Query-Time for Package "colorette" completed in 2.1 ms +2024-06-20 20:09:34.410 +02:00 [INF] Query-Time for Package "enquirer" completed in 2.1 ms +2024-06-20 20:09:34.412 +02:00 [INF] Query-Time for Package "eventemitter3" completed in 1.8 ms +2024-06-20 20:09:34.414 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.8 ms +2024-06-20 20:09:34.415 +02:00 [INF] Query-Time for Package "ansi-escapes" completed in 1.7 ms +2024-06-20 20:09:34.418 +02:00 [INF] Query-Time for Package "restore-cursor" completed in 2.1 ms +2024-06-20 20:09:34.420 +02:00 [INF] Query-Time for Package "cli-cursor" completed in 2.0 ms +2024-06-20 20:09:34.422 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 2.0 ms +2024-06-20 20:09:34.424 +02:00 [INF] Query-Time for Package "log-update" completed in 2.1 ms +2024-06-20 20:09:34.426 +02:00 [INF] Query-Time for Package "rfdc" completed in 2.0 ms +2024-06-20 20:09:34.429 +02:00 [INF] Query-Time for Package "listr2" completed in 2.3 ms +2024-06-20 20:09:34.431 +02:00 [INF] Query-Time for Package "is-number" completed in 2.4 ms +2024-06-20 20:09:34.434 +02:00 [INF] Query-Time for Package "to-regex-range" completed in 2.5 ms +2024-06-20 20:09:34.436 +02:00 [INF] Query-Time for Package "fill-range" completed in 2.2 ms +2024-06-20 20:09:34.439 +02:00 [INF] Query-Time for Package "braces" completed in 2.1 ms +2024-06-20 20:09:34.441 +02:00 [INF] Query-Time for Package "pidtree" completed in 2.4 ms +2024-06-20 20:09:34.444 +02:00 [INF] Query-Time for Package "string-argv" completed in 2.1 ms +2024-06-20 20:09:34.446 +02:00 [INF] Query-Time for Package "yaml" completed in 2.0 ms +2024-06-20 20:09:34.449 +02:00 [INF] Query-Time for Package "lint-staged" completed in 3.3 ms +2024-06-20 20:11:57.932 +02:00 [INF] Query-Time for Package "async" completed in 4.4 ms +2024-06-20 20:11:57.935 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.9 ms +2024-06-20 20:11:57.937 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 1.9 ms +2024-06-20 20:11:57.939 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 1.8 ms +2024-06-20 20:11:57.941 +02:00 [INF] Query-Time for Package "has-ansi" completed in 1.7 ms +2024-06-20 20:11:57.943 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 1.9 ms +2024-06-20 20:11:57.945 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.0 ms +2024-06-20 20:11:57.947 +02:00 [INF] Query-Time for Package "chalk" completed in 1.8 ms +2024-06-20 20:11:57.949 +02:00 [INF] Query-Time for Package "aws-sign2" completed in 1.8 ms +2024-06-20 20:11:57.951 +02:00 [INF] Query-Time for Package "core-util-is" completed in 1.9 ms +2024-06-20 20:11:57.953 +02:00 [INF] Query-Time for Package "inherits" completed in 1.7 ms +2024-06-20 20:11:57.955 +02:00 [INF] Query-Time for Package "isarray" completed in 1.7 ms +2024-06-20 20:11:57.957 +02:00 [INF] Query-Time for Package "string_decoder" completed in 1.8 ms +2024-06-20 20:11:57.959 +02:00 [INF] Query-Time for Package "readable-stream" completed in 1.9 ms +2024-06-20 20:11:57.961 +02:00 [INF] Query-Time for Package "bl" completed in 1.9 ms +2024-06-20 20:11:57.963 +02:00 [INF] Query-Time for Package "caseless" completed in 1.8 ms +2024-06-20 20:11:57.965 +02:00 [INF] Query-Time for Package "forever-agent" completed in 1.9 ms +2024-06-20 20:11:57.967 +02:00 [INF] Query-Time for Package "async" completed in 2.0 ms +2024-06-20 20:11:57.969 +02:00 [INF] Query-Time for Package "delayed-stream" completed in 2.0 ms +2024-06-20 20:11:57.972 +02:00 [INF] Query-Time for Package "combined-stream" completed in 2.0 ms +2024-06-20 20:11:57.974 +02:00 [INF] Query-Time for Package "mime" completed in 1.9 ms +2024-06-20 20:11:57.976 +02:00 [INF] Query-Time for Package "form-data" completed in 1.9 ms +2024-06-20 20:11:57.978 +02:00 [INF] Query-Time for Package "hoek" completed in 2.1 ms +2024-06-20 20:11:57.980 +02:00 [INF] Query-Time for Package "boom" completed in 1.9 ms +2024-06-20 20:11:57.982 +02:00 [INF] Query-Time for Package "cryptiles" completed in 2.3 ms +2024-06-20 20:11:57.985 +02:00 [INF] Query-Time for Package "sntp" completed in 2.1 ms +2024-06-20 20:11:57.987 +02:00 [INF] Query-Time for Package "hawk" completed in 2.5 ms +2024-06-20 20:11:57.991 +02:00 [INF] Query-Time for Package "asn1" completed in 2.7 ms +2024-06-20 20:11:57.993 +02:00 [INF] Query-Time for Package "assert-plus" completed in 2.2 ms +2024-06-20 20:11:57.996 +02:00 [INF] Query-Time for Package "ctype" completed in 2.4 ms +2024-06-20 20:11:57.998 +02:00 [INF] Query-Time for Package "http-signature" completed in 1.9 ms +2024-06-20 20:11:58.000 +02:00 [INF] Query-Time for Package "json-stringify-safe" completed in 2.1 ms +2024-06-20 20:11:58.002 +02:00 [INF] Query-Time for Package "mime-types" completed in 2.1 ms +2024-06-20 20:11:58.004 +02:00 [INF] Query-Time for Package "node-uuid" completed in 1.9 ms +2024-06-20 20:11:58.006 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 1.9 ms +2024-06-20 20:11:58.009 +02:00 [INF] Query-Time for Package "qs" completed in 2.4 ms +2024-06-20 20:11:58.012 +02:00 [INF] Query-Time for Package "stringstream" completed in 3.0 ms +2024-06-20 20:11:58.015 +02:00 [INF] Query-Time for Package "tough-cookie" completed in 2.6 ms +2024-06-20 20:11:58.017 +02:00 [INF] Query-Time for Package "tunnel-agent" completed in 1.9 ms +2024-06-20 20:11:58.019 +02:00 [INF] Query-Time for Package "request" completed in 2.1 ms +2024-06-20 20:11:58.021 +02:00 [INF] Query-Time for Package "deep-equal" completed in 1.9 ms +2024-06-20 20:11:58.023 +02:00 [INF] Query-Time for Package "defined" completed in 1.8 ms +2024-06-20 20:11:58.025 +02:00 [INF] Query-Time for Package "jsonify" completed in 2.3 ms +2024-06-20 20:11:58.028 +02:00 [INF] Query-Time for Package "through" completed in 2.3 ms +2024-06-20 20:11:58.030 +02:00 [INF] Query-Time for Package "resumer" completed in 2.1 ms +2024-06-20 20:11:58.032 +02:00 [INF] Query-Time for Package "split" completed in 2.0 ms +2024-06-20 20:11:58.034 +02:00 [INF] Query-Time for Package "duplexer" completed in 2.0 ms +2024-06-20 20:11:58.036 +02:00 [INF] Query-Time for Package "stream-combiner" completed in 1.8 ms +2024-06-20 20:11:58.038 +02:00 [INF] Query-Time for Package "tape" completed in 1.9 ms +2024-06-20 20:11:58.040 +02:00 [INF] Query-Time for Package "urlgrey" completed in 1.7 ms +2024-06-20 20:11:58.043 +02:00 [INF] Query-Time for Package "codecov.io" completed in 2.3 ms +2024-06-20 20:11:58.045 +02:00 [INF] Query-Time for Package "sprintf-js" completed in 2.3 ms +2024-06-20 20:11:58.047 +02:00 [INF] Query-Time for Package "argparse" completed in 2.1 ms +2024-06-20 20:11:58.050 +02:00 [INF] Query-Time for Package "esprima" completed in 2.5 ms +2024-06-20 20:11:58.052 +02:00 [INF] Query-Time for Package "js-yaml" completed in 2.3 ms +2024-06-20 20:11:58.055 +02:00 [INF] Query-Time for Package "lcov-parse" completed in 2.5 ms +2024-06-20 20:11:58.057 +02:00 [INF] Query-Time for Package "log-driver" completed in 1.9 ms +2024-06-20 20:11:58.059 +02:00 [INF] Query-Time for Package "minimist" completed in 2.2 ms +2024-06-20 20:11:58.062 +02:00 [INF] Query-Time for Package "aws-sign2" completed in 2.1 ms +2024-06-20 20:11:58.064 +02:00 [INF] Query-Time for Package "aws4" completed in 1.8 ms +2024-06-20 20:11:58.066 +02:00 [INF] Query-Time for Package "caseless" completed in 1.7 ms +2024-06-20 20:11:58.068 +02:00 [INF] Query-Time for Package "combined-stream" completed in 1.9 ms +2024-06-20 20:11:58.070 +02:00 [INF] Query-Time for Package "extend" completed in 2.1 ms +2024-06-20 20:11:58.072 +02:00 [INF] Query-Time for Package "forever-agent" completed in 1.8 ms +2024-06-20 20:11:58.074 +02:00 [INF] Query-Time for Package "asynckit" completed in 2.1 ms +2024-06-20 20:11:58.076 +02:00 [INF] Query-Time for Package "mime-types" completed in 2.1 ms +2024-06-20 20:11:58.079 +02:00 [INF] Query-Time for Package "form-data" completed in 2.2 ms +2024-06-20 20:11:58.081 +02:00 [INF] Query-Time for Package "commander" completed in 2.1 ms +2024-06-20 20:11:58.083 +02:00 [INF] Query-Time for Package "is-property" completed in 1.8 ms +2024-06-20 20:11:58.085 +02:00 [INF] Query-Time for Package "generate-function" completed in 1.8 ms +2024-06-20 20:11:58.087 +02:00 [INF] Query-Time for Package "generate-object-property" completed in 1.9 ms +2024-06-20 20:11:58.089 +02:00 [INF] Query-Time for Package "is-my-ip-valid" completed in 1.8 ms +2024-06-20 20:11:58.091 +02:00 [INF] Query-Time for Package "jsonpointer" completed in 2.0 ms +2024-06-20 20:11:58.093 +02:00 [INF] Query-Time for Package "xtend" completed in 1.9 ms +2024-06-20 20:11:58.095 +02:00 [INF] Query-Time for Package "is-my-json-valid" completed in 1.7 ms +2024-06-20 20:11:58.097 +02:00 [INF] Query-Time for Package "pinkie" completed in 1.7 ms +2024-06-20 20:11:58.098 +02:00 [INF] Query-Time for Package "pinkie-promise" completed in 1.7 ms +2024-06-20 20:11:58.100 +02:00 [INF] Query-Time for Package "har-validator" completed in 1.9 ms +2024-06-20 20:11:58.102 +02:00 [INF] Query-Time for Package "hoek" completed in 1.8 ms +2024-06-20 20:11:58.104 +02:00 [INF] Query-Time for Package "boom" completed in 1.8 ms +2024-06-20 20:11:58.106 +02:00 [INF] Query-Time for Package "cryptiles" completed in 2.0 ms +2024-06-20 20:11:58.108 +02:00 [INF] Query-Time for Package "sntp" completed in 1.9 ms +2024-06-20 20:11:58.111 +02:00 [INF] Query-Time for Package "hawk" completed in 2.2 ms +2024-06-20 20:11:58.113 +02:00 [INF] Query-Time for Package "assert-plus" completed in 1.8 ms +2024-06-20 20:11:58.115 +02:00 [INF] Query-Time for Package "jsprim" completed in 1.7 ms +2024-06-20 20:11:58.116 +02:00 [INF] Query-Time for Package "sshpk" completed in 1.8 ms +2024-06-20 20:11:58.118 +02:00 [INF] Query-Time for Package "http-signature" completed in 1.8 ms +2024-06-20 20:11:58.120 +02:00 [INF] Query-Time for Package "is-typedarray" completed in 1.8 ms +2024-06-20 20:11:58.122 +02:00 [INF] Query-Time for Package "isstream" completed in 1.8 ms +2024-06-20 20:11:58.124 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 1.8 ms +2024-06-20 20:11:58.126 +02:00 [INF] Query-Time for Package "qs" completed in 1.7 ms +2024-06-20 20:11:58.128 +02:00 [INF] Query-Time for Package "punycode" completed in 1.9 ms +2024-06-20 20:11:58.130 +02:00 [INF] Query-Time for Package "tough-cookie" completed in 2.1 ms +2024-06-20 20:11:58.132 +02:00 [INF] Query-Time for Package "uuid" completed in 1.9 ms +2024-06-20 20:11:58.134 +02:00 [INF] Query-Time for Package "request" completed in 1.8 ms +2024-06-20 20:11:58.136 +02:00 [INF] Query-Time for Package "coveralls" completed in 1.7 ms +2024-06-20 20:11:58.138 +02:00 [INF] Query-Time for Package "curl-amd" completed in 1.9 ms +2024-06-20 20:11:58.140 +02:00 [INF] Query-Time for Package "lodash" completed in 2.2 ms +2024-06-20 20:11:58.144 +02:00 [INF] Query-Time for Package "docdown" completed in 2.2 ms +2024-06-20 20:11:58.146 +02:00 [INF] Query-Time for Package "dojo" completed in 2.2 ms +2024-06-20 20:11:58.149 +02:00 [INF] Query-Time for Package "he" completed in 2.1 ms +2024-06-20 20:11:58.151 +02:00 [INF] Query-Time for Package "mime" completed in 1.9 ms +2024-06-20 20:11:58.153 +02:00 [INF] Query-Time for Package "minimist" completed in 2.2 ms +2024-06-20 20:11:58.156 +02:00 [INF] Query-Time for Package "url-join" completed in 2.5 ms +2024-06-20 20:11:58.159 +02:00 [INF] Query-Time for Package "ecstatic" completed in 2.4 ms +2024-06-20 20:11:58.161 +02:00 [INF] Query-Time for Package "graceful-fs" completed in 1.9 ms +2024-06-20 20:11:58.163 +02:00 [INF] Query-Time for Package "jsonfile" completed in 1.8 ms +2024-06-20 20:11:58.165 +02:00 [INF] Query-Time for Package "klaw" completed in 1.8 ms +2024-06-20 20:11:58.167 +02:00 [INF] Query-Time for Package "path-is-absolute" completed in 1.9 ms +2024-06-20 20:11:58.169 +02:00 [INF] Query-Time for Package "fs.realpath" completed in 2.1 ms +2024-06-20 20:11:58.171 +02:00 [INF] Query-Time for Package "inflight" completed in 2.4 ms +2024-06-20 20:11:58.174 +02:00 [INF] Query-Time for Package "brace-expansion" completed in 2.1 ms +2024-06-20 20:11:58.177 +02:00 [INF] Query-Time for Package "minimatch" completed in 2.7 ms +2024-06-20 20:11:58.179 +02:00 [INF] Query-Time for Package "once" completed in 2.3 ms +2024-06-20 20:11:58.182 +02:00 [INF] Query-Time for Package "glob" completed in 2.4 ms +2024-06-20 20:11:58.184 +02:00 [INF] Query-Time for Package "rimraf" completed in 2.3 ms +2024-06-20 20:11:58.187 +02:00 [INF] Query-Time for Package "fs-extra" completed in 3.1 ms +2024-06-20 20:11:58.191 +02:00 [INF] Query-Time for Package "abbrev" completed in 3.4 ms +2024-06-20 20:11:58.194 +02:00 [INF] Query-Time for Package "esprima" completed in 2.9 ms +2024-06-20 20:11:58.197 +02:00 [INF] Query-Time for Package "estraverse" completed in 3.2 ms +2024-06-20 20:11:58.201 +02:00 [INF] Query-Time for Package "esutils" completed in 3.3 ms +2024-06-20 20:11:58.204 +02:00 [INF] Query-Time for Package "deep-is" completed in 2.9 ms +2024-06-20 20:11:58.206 +02:00 [INF] Query-Time for Package "fast-levenshtein" completed in 2.0 ms +2024-06-20 20:11:58.208 +02:00 [INF] Query-Time for Package "prelude-ls" completed in 2.2 ms +2024-06-20 20:11:58.211 +02:00 [INF] Query-Time for Package "type-check" completed in 2.5 ms +2024-06-20 20:11:58.213 +02:00 [INF] Query-Time for Package "levn" completed in 2.2 ms +2024-06-20 20:11:58.216 +02:00 [INF] Query-Time for Package "wordwrap" completed in 2.5 ms +2024-06-20 20:11:58.218 +02:00 [INF] Query-Time for Package "optionator" completed in 2.1 ms +2024-06-20 20:11:58.220 +02:00 [INF] Query-Time for Package "amdefine" completed in 1.9 ms +2024-06-20 20:11:58.222 +02:00 [INF] Query-Time for Package "source-map" completed in 1.7 ms +2024-06-20 20:11:58.224 +02:00 [INF] Query-Time for Package "escodegen" completed in 1.7 ms +2024-06-20 20:11:58.226 +02:00 [INF] Query-Time for Package "minimatch" completed in 2.0 ms +2024-06-20 20:11:58.228 +02:00 [INF] Query-Time for Package "glob" completed in 1.8 ms +2024-06-20 20:11:58.230 +02:00 [INF] Query-Time for Package "fileset" completed in 2.2 ms +2024-06-20 20:11:58.233 +02:00 [INF] Query-Time for Package "neo-async" completed in 2.5 ms +2024-06-20 20:11:58.235 +02:00 [INF] Query-Time for Package "source-map" completed in 1.9 ms +2024-06-20 20:11:58.237 +02:00 [INF] Query-Time for Package "uglify-js" completed in 1.7 ms +2024-06-20 20:11:58.239 +02:00 [INF] Query-Time for Package "wordwrap" completed in 1.9 ms +2024-06-20 20:11:58.241 +02:00 [INF] Query-Time for Package "handlebars" completed in 2.4 ms +2024-06-20 20:11:58.244 +02:00 [INF] Query-Time for Package "esprima" completed in 2.0 ms +2024-06-20 20:11:58.246 +02:00 [INF] Query-Time for Package "js-yaml" completed in 1.9 ms +2024-06-20 20:11:58.248 +02:00 [INF] Query-Time for Package "mkdirp" completed in 1.9 ms +2024-06-20 20:11:58.250 +02:00 [INF] Query-Time for Package "nopt" completed in 1.8 ms +2024-06-20 20:11:58.252 +02:00 [INF] Query-Time for Package "wrappy" completed in 1.7 ms +2024-06-20 20:11:58.254 +02:00 [INF] Query-Time for Package "resolve" completed in 1.6 ms +2024-06-20 20:11:58.255 +02:00 [INF] Query-Time for Package "has-flag" completed in 1.7 ms +2024-06-20 20:11:58.257 +02:00 [INF] Query-Time for Package "supports-color" completed in 1.7 ms +2024-06-20 20:11:58.259 +02:00 [INF] Query-Time for Package "isexe" completed in 1.8 ms +2024-06-20 20:11:58.261 +02:00 [INF] Query-Time for Package "which" completed in 2.1 ms +2024-06-20 20:11:58.263 +02:00 [INF] Query-Time for Package "istanbul" completed in 1.9 ms +2024-06-20 20:11:58.265 +02:00 [INF] Query-Time for Package "jquery" completed in 2.1 ms +2024-06-20 20:11:58.269 +02:00 [INF] Query-Time for Package "babel-plugin-constant-folding" completed in 2.1 ms +2024-06-20 20:11:58.271 +02:00 [INF] Query-Time for Package "babel-plugin-dead-code-elimination" completed in 2.0 ms +2024-06-20 20:11:58.273 +02:00 [INF] Query-Time for Package "babel-plugin-eval" completed in 1.8 ms +2024-06-20 20:11:58.275 +02:00 [INF] Query-Time for Package "babel-plugin-inline-environment-variables" completed in 1.8 ms +2024-06-20 20:11:58.277 +02:00 [INF] Query-Time for Package "babel-plugin-jscript" completed in 2.0 ms +2024-06-20 20:11:58.279 +02:00 [INF] Query-Time for Package "babel-plugin-member-expression-literals" completed in 2.3 ms +2024-06-20 20:11:58.282 +02:00 [INF] Query-Time for Package "babel-plugin-property-literals" completed in 2.2 ms +2024-06-20 20:11:58.284 +02:00 [INF] Query-Time for Package "babel-plugin-proto-to-assign" completed in 2.0 ms +2024-06-20 20:11:58.286 +02:00 [INF] Query-Time for Package "babel-plugin-react-constant-elements" completed in 2.2 ms +2024-06-20 20:11:58.288 +02:00 [INF] Query-Time for Package "babel-plugin-react-display-name" completed in 1.9 ms +2024-06-20 20:11:58.290 +02:00 [INF] Query-Time for Package "babel-plugin-remove-console" completed in 1.9 ms +2024-06-20 20:11:58.293 +02:00 [INF] Query-Time for Package "babel-plugin-remove-debugger" completed in 2.4 ms +2024-06-20 20:11:58.295 +02:00 [INF] Query-Time for Package "babel-plugin-runtime" completed in 2.0 ms +2024-06-20 20:11:58.297 +02:00 [INF] Query-Time for Package "leven" completed in 1.9 ms +2024-06-20 20:11:58.299 +02:00 [INF] Query-Time for Package "babel-plugin-undeclared-variables-check" completed in 2.2 ms +2024-06-20 20:11:58.301 +02:00 [INF] Query-Time for Package "babel-plugin-undefined-to-void" completed in 2.3 ms +2024-06-20 20:11:58.303 +02:00 [INF] Query-Time for Package "babylon" completed in 1.8 ms +2024-06-20 20:11:58.306 +02:00 [INF] Query-Time for Package "bluebird" completed in 2.1 ms +2024-06-20 20:11:58.308 +02:00 [INF] Query-Time for Package "convert-source-map" completed in 1.8 ms +2024-06-20 20:11:58.310 +02:00 [INF] Query-Time for Package "core-js" completed in 2.2 ms +2024-06-20 20:11:58.312 +02:00 [INF] Query-Time for Package "ms" completed in 2.4 ms +2024-06-20 20:11:58.315 +02:00 [INF] Query-Time for Package "debug" completed in 2.0 ms +2024-06-20 20:11:58.317 +02:00 [INF] Query-Time for Package "get-stdin" completed in 2.0 ms +2024-06-20 20:11:58.319 +02:00 [INF] Query-Time for Package "repeating" completed in 2.2 ms +2024-06-20 20:11:58.322 +02:00 [INF] Query-Time for Package "detect-indent" completed in 2.0 ms +2024-06-20 20:11:58.324 +02:00 [INF] Query-Time for Package "fs-readdir-recursive" completed in 2.2 ms +2024-06-20 20:11:58.326 +02:00 [INF] Query-Time for Package "globals" completed in 2.2 ms +2024-06-20 20:11:58.329 +02:00 [INF] Query-Time for Package "os-tmpdir" completed in 2.6 ms +2024-06-20 20:11:58.331 +02:00 [INF] Query-Time for Package "user-home" completed in 2.1 ms +2024-06-20 20:11:58.334 +02:00 [INF] Query-Time for Package "home-or-tmp" completed in 2.2 ms +2024-06-20 20:11:58.336 +02:00 [INF] Query-Time for Package "is-finite" completed in 2.0 ms +2024-06-20 20:11:58.338 +02:00 [INF] Query-Time for Package "is-integer" completed in 2.2 ms +2024-06-20 20:11:58.340 +02:00 [INF] Query-Time for Package "js-tokens" completed in 2.1 ms +2024-06-20 20:11:58.343 +02:00 [INF] Query-Time for Package "json5" completed in 2.4 ms +2024-06-20 20:11:58.345 +02:00 [INF] Query-Time for Package "object-assign" completed in 2.1 ms +2024-06-20 20:11:58.348 +02:00 [INF] Query-Time for Package "output-file-sync" completed in 2.3 ms +2024-06-20 20:11:58.350 +02:00 [INF] Query-Time for Package "path-exists" completed in 2.2 ms +2024-06-20 20:11:58.352 +02:00 [INF] Query-Time for Package "private" completed in 1.9 ms +2024-06-20 20:11:58.354 +02:00 [INF] Query-Time for Package "acorn" completed in 2.1 ms +2024-06-20 20:11:58.357 +02:00 [INF] Query-Time for Package "defined" completed in 2.2 ms +2024-06-20 20:11:58.359 +02:00 [INF] Query-Time for Package "detective" completed in 2.1 ms +2024-06-20 20:11:58.361 +02:00 [INF] Query-Time for Package "safer-buffer" completed in 1.9 ms +2024-06-20 20:11:58.363 +02:00 [INF] Query-Time for Package "iconv-lite" completed in 1.7 ms +2024-06-20 20:11:58.365 +02:00 [INF] Query-Time for Package "q" completed in 1.7 ms +2024-06-20 20:11:58.367 +02:00 [INF] Query-Time for Package "ast-types" completed in 1.7 ms +2024-06-20 20:11:58.369 +02:00 [INF] Query-Time for Package "esprima" completed in 1.9 ms +2024-06-20 20:11:58.371 +02:00 [INF] Query-Time for Package "source-map" completed in 2.0 ms +2024-06-20 20:11:58.373 +02:00 [INF] Query-Time for Package "recast" completed in 1.9 ms +2024-06-20 20:11:58.375 +02:00 [INF] Query-Time for Package "commoner" completed in 1.8 ms +2024-06-20 20:11:58.377 +02:00 [INF] Query-Time for Package "stable" completed in 2.1 ms +2024-06-20 20:11:58.379 +02:00 [INF] Query-Time for Package "alter" completed in 2.3 ms +2024-06-20 20:11:58.385 +02:00 [INF] Query-Time for Package "ast-traverse" completed in 2.5 ms +2024-06-20 20:11:58.388 +02:00 [INF] Query-Time for Package "breakable" completed in 2.6 ms +2024-06-20 20:11:58.391 +02:00 [INF] Query-Time for Package "esprima-fb" completed in 3.5 ms +2024-06-20 20:11:58.396 +02:00 [INF] Query-Time for Package "simple-fmt" completed in 4.0 ms +2024-06-20 20:11:58.399 +02:00 [INF] Query-Time for Package "simple-is" completed in 3.5 ms +2024-06-20 20:11:58.403 +02:00 [INF] Query-Time for Package "stringmap" completed in 3.8 ms +2024-06-20 20:11:58.407 +02:00 [INF] Query-Time for Package "stringset" completed in 3.1 ms +2024-06-20 20:11:58.410 +02:00 [INF] Query-Time for Package "tryor" completed in 3.5 ms +2024-06-20 20:11:58.413 +02:00 [INF] Query-Time for Package "camelcase" completed in 2.7 ms +2024-06-20 20:11:58.415 +02:00 [INF] Query-Time for Package "center-align" completed in 2.0 ms +2024-06-20 20:11:58.417 +02:00 [INF] Query-Time for Package "right-align" completed in 2.0 ms +2024-06-20 20:11:58.420 +02:00 [INF] Query-Time for Package "wordwrap" completed in 2.1 ms +2024-06-20 20:11:58.422 +02:00 [INF] Query-Time for Package "cliui" completed in 2.2 ms +2024-06-20 20:11:58.424 +02:00 [INF] Query-Time for Package "decamelize" completed in 2.2 ms +2024-06-20 20:11:58.428 +02:00 [INF] Query-Time for Package "invert-kv" completed in 3.4 ms +2024-06-20 20:11:58.432 +02:00 [INF] Query-Time for Package "lcid" completed in 3.5 ms +2024-06-20 20:11:58.436 +02:00 [INF] Query-Time for Package "os-locale" completed in 3.4 ms +2024-06-20 20:11:58.438 +02:00 [INF] Query-Time for Package "window-size" completed in 2.5 ms +2024-06-20 20:11:58.441 +02:00 [INF] Query-Time for Package "y18n" completed in 2.5 ms +2024-06-20 20:11:58.444 +02:00 [INF] Query-Time for Package "yargs" completed in 2.5 ms +2024-06-20 20:11:58.446 +02:00 [INF] Query-Time for Package "defs" completed in 2.2 ms +2024-06-20 20:11:58.449 +02:00 [INF] Query-Time for Package "ast-types" completed in 2.9 ms +2024-06-20 20:11:58.452 +02:00 [INF] Query-Time for Package "recast" completed in 2.7 ms +2024-06-20 20:11:58.454 +02:00 [INF] Query-Time for Package "regenerator" completed in 2.2 ms +2024-06-20 20:11:58.457 +02:00 [INF] Query-Time for Package "regenerate" completed in 2.6 ms +2024-06-20 20:11:58.460 +02:00 [INF] Query-Time for Package "regjsgen" completed in 2.3 ms +2024-06-20 20:11:58.462 +02:00 [INF] Query-Time for Package "jsesc" completed in 2.2 ms +2024-06-20 20:11:58.464 +02:00 [INF] Query-Time for Package "regjsparser" completed in 2.4 ms +2024-06-20 20:11:58.467 +02:00 [INF] Query-Time for Package "regexpu" completed in 2.3 ms +2024-06-20 20:11:58.470 +02:00 [INF] Query-Time for Package "resolve" completed in 3.2 ms +2024-06-20 20:11:58.473 +02:00 [INF] Query-Time for Package "shebang-regex" completed in 2.5 ms +2024-06-20 20:11:58.475 +02:00 [INF] Query-Time for Package "slash" completed in 2.0 ms +2024-06-20 20:11:58.478 +02:00 [INF] Query-Time for Package "source-map" completed in 2.8 ms +2024-06-20 20:11:58.481 +02:00 [INF] Query-Time for Package "source-map-support" completed in 2.5 ms +2024-06-20 20:11:58.483 +02:00 [INF] Query-Time for Package "to-fast-properties" completed in 2.3 ms +2024-06-20 20:11:58.485 +02:00 [INF] Query-Time for Package "trim-right" completed in 2.0 ms +2024-06-20 20:11:58.488 +02:00 [INF] Query-Time for Package "try-resolve" completed in 2.1 ms +2024-06-20 20:11:58.490 +02:00 [INF] Query-Time for Package "babel-core" completed in 2.4 ms +2024-06-20 20:11:58.493 +02:00 [INF] Query-Time for Package "lodash._basecopy" completed in 2.2 ms +2024-06-20 20:11:58.495 +02:00 [INF] Query-Time for Package "lodash.keys" completed in 2.4 ms +2024-06-20 20:11:58.498 +02:00 [INF] Query-Time for Package "lodash._baseassign" completed in 2.3 ms +2024-06-20 20:11:58.500 +02:00 [INF] Query-Time for Package "lodash._bindcallback" completed in 2.3 ms +2024-06-20 20:11:58.502 +02:00 [INF] Query-Time for Package "lodash._isiterateecall" completed in 2.2 ms +2024-06-20 20:11:58.504 +02:00 [INF] Query-Time for Package "lodash.restparam" completed in 1.9 ms +2024-06-20 20:11:58.506 +02:00 [INF] Query-Time for Package "lodash._createassigner" completed in 1.8 ms +2024-06-20 20:11:58.509 +02:00 [INF] Query-Time for Package "lodash._getnative" completed in 2.9 ms +2024-06-20 20:11:58.513 +02:00 [INF] Query-Time for Package "lodash.isarguments" completed in 3.1 ms +2024-06-20 20:11:58.516 +02:00 [INF] Query-Time for Package "lodash.isarray" completed in 3.4 ms +2024-06-20 20:11:58.519 +02:00 [INF] Query-Time for Package "lodash.assign" completed in 3.0 ms +2024-06-20 20:11:58.523 +02:00 [INF] Query-Time for Package "babel-jscs" completed in 3.4 ms +2024-06-20 20:11:58.527 +02:00 [INF] Query-Time for Package "colors" completed in 3.7 ms +2024-06-20 20:11:58.531 +02:00 [INF] Query-Time for Package "cli-table" completed in 3.2 ms +2024-06-20 20:11:58.534 +02:00 [INF] Query-Time for Package "graceful-readlink" completed in 3.2 ms +2024-06-20 20:11:58.536 +02:00 [INF] Query-Time for Package "commander" completed in 2.1 ms +2024-06-20 20:11:58.539 +02:00 [INF] Query-Time for Package "es5-ext" completed in 2.7 ms +2024-06-20 20:11:58.543 +02:00 [INF] Query-Time for Package "type" completed in 3.3 ms +2024-06-20 20:11:58.546 +02:00 [INF] Query-Time for Package "d" completed in 2.7 ms +2024-06-20 20:11:58.549 +02:00 [INF] Query-Time for Package "es6-iterator" completed in 3.1 ms +2024-06-20 20:11:58.553 +02:00 [INF] Query-Time for Package "es6-symbol" completed in 3.6 ms +2024-06-20 20:11:58.556 +02:00 [INF] Query-Time for Package "event-emitter" completed in 3.5 ms +2024-06-20 20:11:58.559 +02:00 [INF] Query-Time for Package "esniff" completed in 2.7 ms +2024-06-20 20:11:58.563 +02:00 [INF] Query-Time for Package "next-tick" completed in 3.2 ms +2024-06-20 20:11:58.565 +02:00 [INF] Query-Time for Package "es6-set" completed in 2.3 ms +2024-06-20 20:11:58.568 +02:00 [INF] Query-Time for Package "ext" completed in 2.4 ms +2024-06-20 20:11:58.572 +02:00 [INF] Query-Time for Package "es6-map" completed in 4.1 ms +2024-06-20 20:11:58.575 +02:00 [INF] Query-Time for Package "es6-weak-map" completed in 3.1 ms +2024-06-20 20:11:58.583 +02:00 [INF] Query-Time for Package "estraverse" completed in 7.6 ms +2024-06-20 20:11:58.586 +02:00 [INF] Query-Time for Package "esrecurse" completed in 2.9 ms +2024-06-20 20:11:58.589 +02:00 [INF] Query-Time for Package "estraverse" completed in 3.1 ms +2024-06-20 20:11:58.593 +02:00 [INF] Query-Time for Package "escope" completed in 3.2 ms +2024-06-20 20:11:58.596 +02:00 [INF] Query-Time for Package "exit" completed in 2.9 ms +2024-06-20 20:11:58.599 +02:00 [INF] Query-Time for Package "minimatch" completed in 2.6 ms +2024-06-20 20:11:58.602 +02:00 [INF] Query-Time for Package "domelementtype" completed in 3.1 ms +2024-06-20 20:11:58.605 +02:00 [INF] Query-Time for Package "domhandler" completed in 2.7 ms +2024-06-20 20:11:58.609 +02:00 [INF] Query-Time for Package "domelementtype" completed in 3.3 ms +2024-06-20 20:11:58.612 +02:00 [INF] Query-Time for Package "entities" completed in 3.0 ms +2024-06-20 20:11:58.616 +02:00 [INF] Query-Time for Package "dom-serializer" completed in 3.6 ms +2024-06-20 20:11:58.619 +02:00 [INF] Query-Time for Package "domutils" completed in 3.5 ms +2024-06-20 20:11:58.623 +02:00 [INF] Query-Time for Package "entities" completed in 3.4 ms +2024-06-20 20:11:58.626 +02:00 [INF] Query-Time for Package "readable-stream" completed in 3.1 ms +2024-06-20 20:11:58.629 +02:00 [INF] Query-Time for Package "htmlparser2" completed in 2.9 ms +2024-06-20 20:11:58.633 +02:00 [INF] Query-Time for Package "inherit" completed in 3.2 ms +2024-06-20 20:11:58.636 +02:00 [INF] Query-Time for Package "js-yaml" completed in 2.9 ms +2024-06-20 20:11:58.639 +02:00 [INF] Query-Time for Package "isarray" completed in 2.8 ms +2024-06-20 20:11:58.641 +02:00 [INF] Query-Time for Package "process-nextick-args" completed in 2.3 ms +2024-06-20 20:11:58.644 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 3.1 ms +2024-06-20 20:11:58.647 +02:00 [INF] Query-Time for Package "string_decoder" completed in 2.6 ms +2024-06-20 20:11:58.650 +02:00 [INF] Query-Time for Package "util-deprecate" completed in 2.5 ms +2024-06-20 20:11:58.653 +02:00 [INF] Query-Time for Package "readable-stream" completed in 2.6 ms +2024-06-20 20:11:58.655 +02:00 [INF] Query-Time for Package "comment-parser" completed in 2.3 ms +2024-06-20 20:11:58.658 +02:00 [INF] Query-Time for Package "jsdoctypeparser" completed in 2.5 ms +2024-06-20 20:11:58.661 +02:00 [INF] Query-Time for Package "jscs-jsdoc" completed in 2.6 ms +2024-06-20 20:11:58.663 +02:00 [INF] Query-Time for Package "jscs-preset-wikimedia" completed in 2.4 ms +2024-06-20 20:11:58.666 +02:00 [INF] Query-Time for Package "JSV" completed in 2.5 ms +2024-06-20 20:11:58.669 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 3.1 ms +2024-06-20 20:11:58.672 +02:00 [INF] Query-Time for Package "has-color" completed in 3.0 ms +2024-06-20 20:11:58.675 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.7 ms +2024-06-20 20:11:58.678 +02:00 [INF] Query-Time for Package "chalk" completed in 2.8 ms +2024-06-20 20:11:58.682 +02:00 [INF] Query-Time for Package "underscore" completed in 3.2 ms +2024-06-20 20:11:58.684 +02:00 [INF] Query-Time for Package "nomnom" completed in 2.3 ms +2024-06-20 20:11:58.686 +02:00 [INF] Query-Time for Package "jsonlint" completed in 2.1 ms +2024-06-20 20:11:58.689 +02:00 [INF] Query-Time for Package "balanced-match" completed in 2.3 ms +2024-06-20 20:11:58.691 +02:00 [INF] Query-Time for Package "concat-map" completed in 2.5 ms +2024-06-20 20:11:58.694 +02:00 [INF] Query-Time for Package "natural-compare" completed in 2.7 ms +2024-06-20 20:11:58.698 +02:00 [INF] Query-Time for Package "pathval" completed in 3.2 ms +2024-06-20 20:11:58.701 +02:00 [INF] Query-Time for Package "pkginfo" completed in 3.4 ms +2024-06-20 20:11:58.704 +02:00 [INF] Query-Time for Package "mute-stream" completed in 2.3 ms +2024-06-20 20:11:58.707 +02:00 [INF] Query-Time for Package "read" completed in 2.9 ms +2024-06-20 20:11:58.710 +02:00 [INF] Query-Time for Package "revalidator" completed in 3.2 ms +2024-06-20 20:11:58.713 +02:00 [INF] Query-Time for Package "async" completed in 2.3 ms +2024-06-20 20:11:58.717 +02:00 [INF] Query-Time for Package "i" completed in 4.3 ms +2024-06-20 20:11:58.722 +02:00 [INF] Query-Time for Package "ncp" completed in 2.8 ms +2024-06-20 20:11:58.725 +02:00 [INF] Query-Time for Package "utile" completed in 2.5 ms +2024-06-20 20:11:58.727 +02:00 [INF] Query-Time for Package "colors" completed in 2.3 ms +2024-06-20 20:11:58.730 +02:00 [INF] Query-Time for Package "cycle" completed in 2.2 ms +2024-06-20 20:11:58.732 +02:00 [INF] Query-Time for Package "eyes" completed in 2.4 ms +2024-06-20 20:11:58.735 +02:00 [INF] Query-Time for Package "pkginfo" completed in 2.6 ms +2024-06-20 20:11:58.738 +02:00 [INF] Query-Time for Package "stack-trace" completed in 2.8 ms +2024-06-20 20:11:58.740 +02:00 [INF] Query-Time for Package "winston" completed in 2.4 ms +2024-06-20 20:11:58.743 +02:00 [INF] Query-Time for Package "prompt" completed in 2.2 ms +2024-06-20 20:11:58.745 +02:00 [INF] Query-Time for Package "reserved-words" completed in 2.3 ms +2024-06-20 20:11:58.747 +02:00 [INF] Query-Time for Package "function-bind" completed in 2.3 ms +2024-06-20 20:11:58.749 +02:00 [INF] Query-Time for Package "has" completed in 2.0 ms +2024-06-20 20:11:58.752 +02:00 [INF] Query-Time for Package "is-core-module" completed in 2.3 ms +2024-06-20 20:11:58.754 +02:00 [INF] Query-Time for Package "path-parse" completed in 2.3 ms +2024-06-20 20:11:58.757 +02:00 [INF] Query-Time for Package "supports-preserve-symlinks-flag" completed in 2.0 ms +2024-06-20 20:11:58.759 +02:00 [INF] Query-Time for Package "is-utf8" completed in 2.0 ms +2024-06-20 20:11:58.761 +02:00 [INF] Query-Time for Package "strip-bom" completed in 1.8 ms +2024-06-20 20:11:58.762 +02:00 [INF] Query-Time for Package "strip-json-comments" completed in 1.7 ms +2024-06-20 20:11:58.764 +02:00 [INF] Query-Time for Package "to-double-quotes" completed in 1.7 ms +2024-06-20 20:11:58.766 +02:00 [INF] Query-Time for Package "to-single-quotes" completed in 2.2 ms +2024-06-20 20:11:58.769 +02:00 [INF] Query-Time for Package "uuid" completed in 2.2 ms +2024-06-20 20:11:58.771 +02:00 [INF] Query-Time for Package "vow" completed in 2.0 ms +2024-06-20 20:11:58.773 +02:00 [INF] Query-Time for Package "vow-queue" completed in 1.7 ms +2024-06-20 20:11:58.775 +02:00 [INF] Query-Time for Package "vow-fs" completed in 1.7 ms +2024-06-20 20:11:58.777 +02:00 [INF] Query-Time for Package "xmlbuilder" completed in 1.9 ms +2024-06-20 20:11:58.779 +02:00 [INF] Query-Time for Package "jscs" completed in 2.6 ms +2024-06-20 20:11:58.784 +02:00 [INF] Query-Time for Package "platform" completed in 4.6 ms +2024-06-20 20:11:58.790 +02:00 [INF] Query-Time for Package "qunit-extras" completed in 3.4 ms +2024-06-20 20:11:58.793 +02:00 [INF] Query-Time for Package "qunitjs" completed in 2.5 ms +2024-06-20 20:11:58.795 +02:00 [INF] Query-Time for Package "aws-sign2" completed in 2.4 ms +2024-06-20 20:11:58.798 +02:00 [INF] Query-Time for Package "caseless" completed in 2.7 ms +2024-06-20 20:11:58.801 +02:00 [INF] Query-Time for Package "delayed-stream" completed in 3.4 ms +2024-06-20 20:11:58.804 +02:00 [INF] Query-Time for Package "form-data" completed in 2.8 ms +2024-06-20 20:11:58.807 +02:00 [INF] Query-Time for Package "fast-deep-equal" completed in 3.0 ms +2024-06-20 20:11:58.811 +02:00 [INF] Query-Time for Package "fast-json-stable-stringify" completed in 3.2 ms +2024-06-20 20:11:58.813 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 2.6 ms +2024-06-20 20:11:58.816 +02:00 [INF] Query-Time for Package "punycode" completed in 2.3 ms +2024-06-20 20:11:58.818 +02:00 [INF] Query-Time for Package "uri-js" completed in 2.3 ms +2024-06-20 20:11:58.821 +02:00 [INF] Query-Time for Package "ajv" completed in 2.6 ms +2024-06-20 20:11:58.823 +02:00 [INF] Query-Time for Package "har-schema" completed in 2.1 ms +2024-06-20 20:11:58.825 +02:00 [INF] Query-Time for Package "har-validator" completed in 2.0 ms +2024-06-20 20:11:58.828 +02:00 [INF] Query-Time for Package "assert-plus" completed in 2.3 ms +2024-06-20 20:11:58.832 +02:00 [INF] Query-Time for Package "extsprintf" completed in 3.7 ms +2024-06-20 20:11:58.836 +02:00 [INF] Query-Time for Package "json-schema" completed in 3.7 ms +2024-06-20 20:11:58.840 +02:00 [INF] Query-Time for Package "verror" completed in 3.9 ms +2024-06-20 20:11:58.843 +02:00 [INF] Query-Time for Package "asn1" completed in 3.2 ms +2024-06-20 20:11:58.846 +02:00 [INF] Query-Time for Package "tweetnacl" completed in 3.1 ms +2024-06-20 20:11:58.849 +02:00 [INF] Query-Time for Package "bcrypt-pbkdf" completed in 2.6 ms +2024-06-20 20:11:58.852 +02:00 [INF] Query-Time for Package "dashdash" completed in 2.9 ms +2024-06-20 20:11:58.856 +02:00 [INF] Query-Time for Package "jsbn" completed in 3.4 ms +2024-06-20 20:11:58.860 +02:00 [INF] Query-Time for Package "ecc-jsbn" completed in 3.7 ms +2024-06-20 20:11:58.862 +02:00 [INF] Query-Time for Package "getpass" completed in 2.7 ms +2024-06-20 20:11:58.865 +02:00 [INF] Query-Time for Package "http-signature" completed in 2.6 ms +2024-06-20 20:11:58.868 +02:00 [INF] Query-Time for Package "mime-db" completed in 2.4 ms +2024-06-20 20:11:58.871 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 3.6 ms +2024-06-20 20:11:58.874 +02:00 [INF] Query-Time for Package "performance-now" completed in 2.8 ms +2024-06-20 20:11:58.878 +02:00 [INF] Query-Time for Package "qs" completed in 3.3 ms +2024-06-20 20:11:58.881 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 3.5 ms +2024-06-20 20:11:58.891 +02:00 [INF] Query-Time for Package "psl" completed in 9.7 ms +2024-06-20 20:11:58.916 +02:00 [INF] Query-Time for Package "tunnel-agent" completed in 24.0 ms +2024-06-20 20:11:58.927 +02:00 [INF] Query-Time for Package "request" completed in 11.0 ms +2024-06-20 20:11:58.934 +02:00 [INF] Query-Time for Package "requirejs" completed in 7.0 ms +2024-06-20 20:11:58.942 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 7.8 ms +2024-06-20 20:11:58.949 +02:00 [INF] Query-Time for Package "has-ansi" completed in 6.5 ms +2024-06-20 20:11:58.953 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 4.2 ms +2024-06-20 20:11:58.956 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.6 ms +2024-06-20 20:11:58.958 +02:00 [INF] Query-Time for Package "chalk" completed in 2.0 ms +2024-06-20 20:11:58.960 +02:00 [INF] Query-Time for Package "aws-sign" completed in 2.4 ms +2024-06-20 20:11:58.963 +02:00 [INF] Query-Time for Package "cookie-jar" completed in 2.2 ms +2024-06-20 20:11:58.966 +02:00 [INF] Query-Time for Package "form-data" completed in 2.9 ms +2024-06-20 20:11:58.970 +02:00 [INF] Query-Time for Package "hoek" completed in 4.3 ms +2024-06-20 20:11:58.974 +02:00 [INF] Query-Time for Package "hawk" completed in 3.2 ms +2024-06-20 20:11:58.977 +02:00 [INF] Query-Time for Package "assert-plus" completed in 2.8 ms +2024-06-20 20:11:58.979 +02:00 [INF] Query-Time for Package "ctype" completed in 2.5 ms +2024-06-20 20:11:58.982 +02:00 [INF] Query-Time for Package "http-signature" completed in 2.2 ms +2024-06-20 20:11:58.984 +02:00 [INF] Query-Time for Package "json-stringify-safe" completed in 2.4 ms +2024-06-20 20:11:58.987 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 2.5 ms +2024-06-20 20:11:58.990 +02:00 [INF] Query-Time for Package "qs" completed in 2.7 ms +2024-06-20 20:11:58.992 +02:00 [INF] Query-Time for Package "tunnel-agent" completed in 2.2 ms +2024-06-20 20:11:58.994 +02:00 [INF] Query-Time for Package "request" completed in 1.9 ms +2024-06-20 20:11:58.996 +02:00 [INF] Query-Time for Package "split" completed in 1.8 ms +2024-06-20 20:11:58.998 +02:00 [INF] Query-Time for Package "sauce-tunnel" completed in 2.0 ms +2024-06-20 20:11:59.000 +02:00 [INF] Query-Time for Package "uglify-to-browserify" completed in 1.9 ms +2024-06-20 20:11:59.002 +02:00 [INF] Query-Time for Package "is-buffer" completed in 2.3 ms +2024-06-20 20:11:59.004 +02:00 [INF] Query-Time for Package "kind-of" completed in 1.8 ms +2024-06-20 20:11:59.006 +02:00 [INF] Query-Time for Package "longest" completed in 1.7 ms +2024-06-20 20:11:59.009 +02:00 [INF] Query-Time for Package "repeat-string" completed in 2.3 ms +2024-06-20 20:11:59.011 +02:00 [INF] Query-Time for Package "align-text" completed in 1.9 ms +2024-06-20 20:11:59.013 +02:00 [INF] Query-Time for Package "lazy-cache" completed in 1.9 ms +2024-06-20 20:11:59.015 +02:00 [INF] Query-Time for Package "window-size" completed in 1.8 ms +2024-06-20 20:11:59.016 +02:00 [INF] Query-Time for Package "yargs" completed in 1.7 ms +2024-06-20 20:11:59.018 +02:00 [INF] Query-Time for Package "uglify-js" completed in 1.7 ms +2024-06-20 20:11:59.020 +02:00 [INF] Query-Time for Package "acorn" completed in 1.7 ms +2024-06-20 20:11:59.022 +02:00 [INF] Query-Time for Package "clone" completed in 1.9 ms +2024-06-20 20:11:59.024 +02:00 [INF] Query-Time for Package "memory-fs" completed in 1.7 ms +2024-06-20 20:11:59.025 +02:00 [INF] Query-Time for Package "tapable" completed in 1.6 ms +2024-06-20 20:11:59.027 +02:00 [INF] Query-Time for Package "enhanced-resolve" completed in 1.8 ms +2024-06-20 20:11:59.029 +02:00 [INF] Query-Time for Package "interpret" completed in 2.0 ms +2024-06-20 20:11:59.032 +02:00 [INF] Query-Time for Package "big.js" completed in 2.0 ms +2024-06-20 20:11:59.034 +02:00 [INF] Query-Time for Package "emojis-list" completed in 2.5 ms +2024-06-20 20:11:59.036 +02:00 [INF] Query-Time for Package "json5" completed in 2.1 ms +2024-06-20 20:11:59.039 +02:00 [INF] Query-Time for Package "loader-utils" completed in 2.0 ms +2024-06-20 20:11:59.041 +02:00 [INF] Query-Time for Package "prr" completed in 2.0 ms +2024-06-20 20:11:59.043 +02:00 [INF] Query-Time for Package "errno" completed in 2.2 ms +2024-06-20 20:11:59.046 +02:00 [INF] Query-Time for Package "memory-fs" completed in 2.3 ms +2024-06-20 20:11:59.048 +02:00 [INF] Query-Time for Package "get-intrinsic" completed in 2.3 ms +2024-06-20 20:11:59.051 +02:00 [INF] Query-Time for Package "es-define-property" completed in 3.1 ms +2024-06-20 20:11:59.054 +02:00 [INF] Query-Time for Package "es-errors" completed in 2.8 ms +2024-06-20 20:11:59.056 +02:00 [INF] Query-Time for Package "has-proto" completed in 2.0 ms +2024-06-20 20:11:59.059 +02:00 [INF] Query-Time for Package "has-symbols" completed in 2.5 ms +2024-06-20 20:11:59.061 +02:00 [INF] Query-Time for Package "hasown" completed in 1.7 ms +2024-06-20 20:11:59.063 +02:00 [INF] Query-Time for Package "define-data-property" completed in 2.1 ms +2024-06-20 20:11:59.065 +02:00 [INF] Query-Time for Package "gopd" completed in 1.9 ms +2024-06-20 20:11:59.067 +02:00 [INF] Query-Time for Package "has-property-descriptors" completed in 1.8 ms +2024-06-20 20:11:59.070 +02:00 [INF] Query-Time for Package "set-function-length" completed in 2.8 ms +2024-06-20 20:11:59.072 +02:00 [INF] Query-Time for Package "call-bind" completed in 2.2 ms +2024-06-20 20:11:59.075 +02:00 [INF] Query-Time for Package "object-keys" completed in 2.2 ms +2024-06-20 20:11:59.077 +02:00 [INF] Query-Time for Package "define-properties" completed in 2.3 ms +2024-06-20 20:11:59.079 +02:00 [INF] Query-Time for Package "object.assign" completed in 1.8 ms +2024-06-20 20:11:59.081 +02:00 [INF] Query-Time for Package "util" completed in 2.3 ms +2024-06-20 20:11:59.083 +02:00 [INF] Query-Time for Package "assert" completed in 1.7 ms +2024-06-20 20:11:59.085 +02:00 [INF] Query-Time for Package "pako" completed in 1.6 ms +2024-06-20 20:11:59.087 +02:00 [INF] Query-Time for Package "browserify-zlib" completed in 2.0 ms +2024-06-20 20:11:59.089 +02:00 [INF] Query-Time for Package "base64-js" completed in 2.3 ms +2024-06-20 20:11:59.092 +02:00 [INF] Query-Time for Package "ieee754" completed in 2.1 ms +2024-06-20 20:11:59.094 +02:00 [INF] Query-Time for Package "buffer" completed in 2.0 ms +2024-06-20 20:11:59.096 +02:00 [INF] Query-Time for Package "console-browserify" completed in 1.8 ms +2024-06-20 20:11:59.098 +02:00 [INF] Query-Time for Package "constants-browserify" completed in 1.8 ms +2024-06-20 20:11:59.100 +02:00 [INF] Query-Time for Package "browserify-aes" completed in 2.2 ms +2024-06-20 20:11:59.103 +02:00 [INF] Query-Time for Package "pbkdf2-compat" completed in 2.7 ms +2024-06-20 20:11:59.106 +02:00 [INF] Query-Time for Package "ripemd160" completed in 2.7 ms +2024-06-20 20:11:59.108 +02:00 [INF] Query-Time for Package "sha.js" completed in 2.1 ms +2024-06-20 20:11:59.110 +02:00 [INF] Query-Time for Package "crypto-browserify" completed in 2.0 ms +2024-06-20 20:11:59.112 +02:00 [INF] Query-Time for Package "domain-browser" completed in 1.9 ms +2024-06-20 20:11:59.114 +02:00 [INF] Query-Time for Package "events" completed in 1.6 ms +2024-06-20 20:11:59.115 +02:00 [INF] Query-Time for Package "https-browserify" completed in 1.6 ms +2024-06-20 20:11:59.117 +02:00 [INF] Query-Time for Package "os-browserify" completed in 1.7 ms +2024-06-20 20:11:59.119 +02:00 [INF] Query-Time for Package "path-browserify" completed in 1.7 ms +2024-06-20 20:11:59.121 +02:00 [INF] Query-Time for Package "process" completed in 1.8 ms +2024-06-20 20:11:59.123 +02:00 [INF] Query-Time for Package "querystring-es3" completed in 1.7 ms +2024-06-20 20:11:59.125 +02:00 [INF] Query-Time for Package "stream-browserify" completed in 1.6 ms +2024-06-20 20:11:59.126 +02:00 [INF] Query-Time for Package "builtin-status-codes" completed in 1.6 ms +2024-06-20 20:11:59.128 +02:00 [INF] Query-Time for Package "to-arraybuffer" completed in 1.6 ms +2024-06-20 20:11:59.130 +02:00 [INF] Query-Time for Package "stream-http" completed in 2.0 ms +2024-06-20 20:11:59.132 +02:00 [INF] Query-Time for Package "setimmediate" completed in 1.8 ms +2024-06-20 20:11:59.134 +02:00 [INF] Query-Time for Package "timers-browserify" completed in 2.0 ms +2024-06-20 20:11:59.136 +02:00 [INF] Query-Time for Package "tty-browserify" completed in 2.1 ms +2024-06-20 20:11:59.138 +02:00 [INF] Query-Time for Package "object-inspect" completed in 1.6 ms +2024-06-20 20:11:59.140 +02:00 [INF] Query-Time for Package "side-channel" completed in 1.5 ms +2024-06-20 20:11:59.141 +02:00 [INF] Query-Time for Package "qs" completed in 1.6 ms +2024-06-20 20:11:59.143 +02:00 [INF] Query-Time for Package "url" completed in 1.7 ms +2024-06-20 20:11:59.145 +02:00 [INF] Query-Time for Package "inherits" completed in 1.5 ms +2024-06-20 20:11:59.146 +02:00 [INF] Query-Time for Package "indexof" completed in 1.5 ms +2024-06-20 20:11:59.148 +02:00 [INF] Query-Time for Package "vm-browserify" completed in 1.7 ms +2024-06-20 20:11:59.150 +02:00 [INF] Query-Time for Package "node-libs-browser" completed in 1.7 ms +2024-06-20 20:11:59.152 +02:00 [INF] Query-Time for Package "minimist" completed in 1.9 ms +2024-06-20 20:11:59.154 +02:00 [INF] Query-Time for Package "optimist" completed in 1.9 ms +2024-06-20 20:11:59.156 +02:00 [INF] Query-Time for Package "uglify-js" completed in 1.8 ms +2024-06-20 20:11:59.158 +02:00 [INF] Query-Time for Package "arr-flatten" completed in 1.8 ms +2024-06-20 20:11:59.160 +02:00 [INF] Query-Time for Package "arr-diff" completed in 2.1 ms +2024-06-20 20:11:59.162 +02:00 [INF] Query-Time for Package "array-unique" completed in 1.9 ms +2024-06-20 20:11:59.163 +02:00 [INF] Query-Time for Package "is-number" completed in 1.6 ms +2024-06-20 20:11:59.165 +02:00 [INF] Query-Time for Package "isobject" completed in 1.7 ms +2024-06-20 20:11:59.168 +02:00 [INF] Query-Time for Package "is-number" completed in 2.5 ms +2024-06-20 20:11:59.170 +02:00 [INF] Query-Time for Package "kind-of" completed in 2.0 ms +2024-06-20 20:11:59.172 +02:00 [INF] Query-Time for Package "math-random" completed in 1.9 ms +2024-06-20 20:11:59.174 +02:00 [INF] Query-Time for Package "randomatic" completed in 1.7 ms +2024-06-20 20:11:59.175 +02:00 [INF] Query-Time for Package "repeat-element" completed in 1.6 ms +2024-06-20 20:11:59.177 +02:00 [INF] Query-Time for Package "fill-range" completed in 1.7 ms +2024-06-20 20:11:59.179 +02:00 [INF] Query-Time for Package "expand-range" completed in 1.8 ms +2024-06-20 20:11:59.181 +02:00 [INF] Query-Time for Package "preserve" completed in 1.7 ms +2024-06-20 20:11:59.183 +02:00 [INF] Query-Time for Package "braces" completed in 1.9 ms +2024-06-20 20:11:59.185 +02:00 [INF] Query-Time for Package "is-posix-bracket" completed in 1.8 ms +2024-06-20 20:11:59.186 +02:00 [INF] Query-Time for Package "expand-brackets" completed in 1.6 ms +2024-06-20 20:11:59.188 +02:00 [INF] Query-Time for Package "is-extglob" completed in 1.5 ms +2024-06-20 20:11:59.190 +02:00 [INF] Query-Time for Package "extglob" completed in 1.7 ms +2024-06-20 20:11:59.192 +02:00 [INF] Query-Time for Package "filename-regex" completed in 1.6 ms +2024-06-20 20:11:59.193 +02:00 [INF] Query-Time for Package "is-glob" completed in 1.7 ms +2024-06-20 20:11:59.195 +02:00 [INF] Query-Time for Package "normalize-path" completed in 1.6 ms +2024-06-20 20:11:59.197 +02:00 [INF] Query-Time for Package "for-in" completed in 1.7 ms +2024-06-20 20:11:59.199 +02:00 [INF] Query-Time for Package "for-own" completed in 1.8 ms +2024-06-20 20:11:59.201 +02:00 [INF] Query-Time for Package "is-extendable" completed in 2.0 ms +2024-06-20 20:11:59.203 +02:00 [INF] Query-Time for Package "object.omit" completed in 2.3 ms +2024-06-20 20:11:59.205 +02:00 [INF] Query-Time for Package "glob-parent" completed in 1.7 ms +2024-06-20 20:11:59.207 +02:00 [INF] Query-Time for Package "glob-base" completed in 1.9 ms +2024-06-20 20:11:59.210 +02:00 [INF] Query-Time for Package "is-dotfile" completed in 2.3 ms +2024-06-20 20:11:59.212 +02:00 [INF] Query-Time for Package "parse-glob" completed in 1.9 ms +2024-06-20 20:11:59.213 +02:00 [INF] Query-Time for Package "is-primitive" completed in 1.6 ms +2024-06-20 20:11:59.215 +02:00 [INF] Query-Time for Package "is-equal-shallow" completed in 2.1 ms +2024-06-20 20:11:59.217 +02:00 [INF] Query-Time for Package "regex-cache" completed in 1.7 ms +2024-06-20 20:11:59.219 +02:00 [INF] Query-Time for Package "micromatch" completed in 1.7 ms +2024-06-20 20:11:59.221 +02:00 [INF] Query-Time for Package "remove-trailing-separator" completed in 1.7 ms +2024-06-20 20:11:59.223 +02:00 [INF] Query-Time for Package "anymatch" completed in 1.6 ms +2024-06-20 20:11:59.225 +02:00 [INF] Query-Time for Package "async-each" completed in 2.0 ms +2024-06-20 20:11:59.227 +02:00 [INF] Query-Time for Package "fsevents" completed in 1.8 ms +2024-06-20 20:11:59.229 +02:00 [INF] Query-Time for Package "binary-extensions" completed in 2.1 ms +2024-06-20 20:11:59.231 +02:00 [INF] Query-Time for Package "is-binary-path" completed in 2.4 ms +2024-06-20 20:11:59.234 +02:00 [INF] Query-Time for Package "arr-diff" completed in 2.7 ms +2024-06-20 20:11:59.236 +02:00 [INF] Query-Time for Package "array-unique" completed in 2.1 ms +2024-06-20 20:11:59.238 +02:00 [INF] Query-Time for Package "extend-shallow" completed in 1.8 ms +2024-06-20 20:11:59.240 +02:00 [INF] Query-Time for Package "is-number" completed in 1.9 ms +2024-06-20 20:11:59.243 +02:00 [INF] Query-Time for Package "to-regex-range" completed in 2.0 ms +2024-06-20 20:11:59.244 +02:00 [INF] Query-Time for Package "fill-range" completed in 1.8 ms +2024-06-20 20:11:59.246 +02:00 [INF] Query-Time for Package "isobject" completed in 1.9 ms +2024-06-20 20:11:59.248 +02:00 [INF] Query-Time for Package "is-descriptor" completed in 1.7 ms +2024-06-20 20:11:59.250 +02:00 [INF] Query-Time for Package "define-property" completed in 2.0 ms +2024-06-20 20:11:59.252 +02:00 [INF] Query-Time for Package "snapdragon-util" completed in 1.7 ms +2024-06-20 20:11:59.254 +02:00 [INF] Query-Time for Package "snapdragon-node" completed in 1.6 ms +2024-06-20 20:11:59.298 +02:00 [INF] Query-Time for Package "snapdragon" completed in 43.8 ms +2024-06-20 20:11:59.371 +02:00 [INF] Query-Time for Package "extend-shallow" completed in 3.0 ms +2024-06-20 20:11:59.374 +02:00 [INF] Query-Time for Package "split-string" completed in 2.8 ms +2024-06-20 20:11:59.377 +02:00 [INF] Query-Time for Package "to-regex" completed in 2.7 ms +2024-06-20 20:11:59.380 +02:00 [INF] Query-Time for Package "braces" completed in 2.9 ms +2024-06-20 20:11:59.383 +02:00 [INF] Query-Time for Package "is-accessor-descriptor" completed in 2.6 ms +2024-06-20 20:11:59.386 +02:00 [INF] Query-Time for Package "is-data-descriptor" completed in 2.9 ms +2024-06-20 20:11:59.388 +02:00 [INF] Query-Time for Package "define-property" completed in 2.4 ms +2024-06-20 20:11:59.391 +02:00 [INF] Query-Time for Package "assign-symbols" completed in 2.6 ms +2024-06-20 20:11:59.394 +02:00 [INF] Query-Time for Package "is-plain-object" completed in 2.5 ms +2024-06-20 20:11:59.396 +02:00 [INF] Query-Time for Package "is-extendable" completed in 2.6 ms +2024-06-20 20:11:59.400 +02:00 [INF] Query-Time for Package "is-descriptor" completed in 3.1 ms +2024-06-20 20:11:59.403 +02:00 [INF] Query-Time for Package "define-property" completed in 2.9 ms +2024-06-20 20:11:59.405 +02:00 [INF] Query-Time for Package "posix-character-classes" completed in 2.6 ms +2024-06-20 20:11:59.408 +02:00 [INF] Query-Time for Package "regex-not" completed in 2.2 ms +2024-06-20 20:11:59.411 +02:00 [INF] Query-Time for Package "expand-brackets" completed in 3.2 ms +2024-06-20 20:11:59.414 +02:00 [INF] Query-Time for Package "fragment-cache" completed in 2.9 ms +2024-06-20 20:11:59.417 +02:00 [INF] Query-Time for Package "extglob" completed in 2.4 ms +2024-06-20 20:11:59.419 +02:00 [INF] Query-Time for Package "map-cache" completed in 2.1 ms +2024-06-20 20:11:59.421 +02:00 [INF] Query-Time for Package "is-windows" completed in 2.0 ms +2024-06-20 20:11:59.423 +02:00 [INF] Query-Time for Package "object.pick" completed in 1.8 ms +2024-06-20 20:11:59.425 +02:00 [INF] Query-Time for Package "nanomatch" completed in 1.7 ms +2024-06-20 20:11:59.427 +02:00 [INF] Query-Time for Package "ret" completed in 1.9 ms +2024-06-20 20:11:59.428 +02:00 [INF] Query-Time for Package "safe-regex" completed in 1.7 ms +2024-06-20 20:11:59.430 +02:00 [INF] Query-Time for Package "object-visit" completed in 1.5 ms +2024-06-20 20:11:59.432 +02:00 [INF] Query-Time for Package "map-visit" completed in 1.6 ms +2024-06-20 20:11:59.434 +02:00 [INF] Query-Time for Package "collection-visit" completed in 1.8 ms +2024-06-20 20:11:59.436 +02:00 [INF] Query-Time for Package "component-emitter" completed in 1.7 ms +2024-06-20 20:11:59.437 +02:00 [INF] Query-Time for Package "get-value" completed in 1.4 ms +2024-06-20 20:11:59.439 +02:00 [INF] Query-Time for Package "kind-of" completed in 1.7 ms +2024-06-20 20:11:59.441 +02:00 [INF] Query-Time for Package "has-values" completed in 1.6 ms +2024-06-20 20:11:59.442 +02:00 [INF] Query-Time for Package "has-value" completed in 1.7 ms +2024-06-20 20:11:59.444 +02:00 [INF] Query-Time for Package "set-value" completed in 1.8 ms +2024-06-20 20:11:59.446 +02:00 [INF] Query-Time for Package "to-object-path" completed in 1.7 ms +2024-06-20 20:11:59.448 +02:00 [INF] Query-Time for Package "arr-union" completed in 1.5 ms +2024-06-20 20:11:59.450 +02:00 [INF] Query-Time for Package "union-value" completed in 1.8 ms +2024-06-20 20:11:59.452 +02:00 [INF] Query-Time for Package "has-values" completed in 1.8 ms +2024-06-20 20:11:59.454 +02:00 [INF] Query-Time for Package "has-value" completed in 1.8 ms +2024-06-20 20:11:59.455 +02:00 [INF] Query-Time for Package "unset-value" completed in 1.5 ms +2024-06-20 20:11:59.457 +02:00 [INF] Query-Time for Package "cache-base" completed in 1.7 ms +2024-06-20 20:11:59.459 +02:00 [INF] Query-Time for Package "copy-descriptor" completed in 1.8 ms +2024-06-20 20:11:59.461 +02:00 [INF] Query-Time for Package "object-copy" completed in 2.3 ms +2024-06-20 20:11:59.464 +02:00 [INF] Query-Time for Package "static-extend" completed in 2.4 ms +2024-06-20 20:11:59.466 +02:00 [INF] Query-Time for Package "class-utils" completed in 2.1 ms +2024-06-20 20:11:59.469 +02:00 [INF] Query-Time for Package "mixin-deep" completed in 3.2 ms +2024-06-20 20:11:59.472 +02:00 [INF] Query-Time for Package "pascalcase" completed in 2.3 ms +2024-06-20 20:11:59.474 +02:00 [INF] Query-Time for Package "base" completed in 2.2 ms +2024-06-20 20:11:59.477 +02:00 [INF] Query-Time for Package "atob" completed in 2.5 ms +2024-06-20 20:11:59.480 +02:00 [INF] Query-Time for Package "decode-uri-component" completed in 2.9 ms +2024-06-20 20:11:59.483 +02:00 [INF] Query-Time for Package "resolve-url" completed in 3.0 ms +2024-06-20 20:11:59.486 +02:00 [INF] Query-Time for Package "source-map-url" completed in 2.6 ms +2024-06-20 20:11:59.489 +02:00 [INF] Query-Time for Package "urix" completed in 2.6 ms +2024-06-20 20:11:59.492 +02:00 [INF] Query-Time for Package "source-map-resolve" completed in 2.8 ms +2024-06-20 20:11:59.494 +02:00 [INF] Query-Time for Package "use" completed in 2.6 ms +2024-06-20 20:11:59.497 +02:00 [INF] Query-Time for Package "micromatch" completed in 2.1 ms +2024-06-20 20:11:59.499 +02:00 [INF] Query-Time for Package "readdirp" completed in 1.9 ms +2024-06-20 20:11:59.502 +02:00 [INF] Query-Time for Package "chokidar" completed in 3.3 ms +2024-06-20 20:11:59.504 +02:00 [INF] Query-Time for Package "watchpack" completed in 1.8 ms +2024-06-20 20:11:59.507 +02:00 [INF] Query-Time for Package "source-list-map" completed in 2.4 ms +2024-06-20 20:11:59.509 +02:00 [INF] Query-Time for Package "source-map" completed in 2.6 ms +2024-06-20 20:11:59.512 +02:00 [INF] Query-Time for Package "webpack-core" completed in 2.2 ms +2024-06-20 20:11:59.514 +02:00 [INF] Query-Time for Package "webpack" completed in 1.9 ms +2024-06-20 20:13:31.421 +02:00 [INF] Query-Time for Package "@commitlint/types" completed in 3.1 ms +2024-06-20 20:13:31.424 +02:00 [INF] Query-Time for Package "color-name" completed in 2.5 ms +2024-06-20 20:13:31.426 +02:00 [INF] Query-Time for Package "color-convert" completed in 1.6 ms +2024-06-20 20:13:31.427 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.6 ms +2024-06-20 20:13:31.429 +02:00 [INF] Query-Time for Package "has-flag" completed in 1.8 ms +2024-06-20 20:13:31.431 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.0 ms +2024-06-20 20:13:31.434 +02:00 [INF] Query-Time for Package "chalk" completed in 2.6 ms +2024-06-20 20:13:31.436 +02:00 [INF] Query-Time for Package "@commitlint/format" completed in 2.1 ms +2024-06-20 20:13:31.439 +02:00 [INF] Query-Time for Package "semver" completed in 2.2 ms +2024-06-20 20:13:31.441 +02:00 [INF] Query-Time for Package "@commitlint/is-ignored" completed in 2.0 ms +2024-06-20 20:13:31.443 +02:00 [INF] Query-Time for Package "compare-func" completed in 1.8 ms +2024-06-20 20:13:31.445 +02:00 [INF] Query-Time for Package "conventional-changelog-angular" completed in 1.8 ms +2024-06-20 20:13:31.447 +02:00 [INF] Query-Time for Package "text-extensions" completed in 1.8 ms +2024-06-20 20:13:31.449 +02:00 [INF] Query-Time for Package "is-text-path" completed in 2.0 ms +2024-06-20 20:13:31.451 +02:00 [INF] Query-Time for Package "jsonparse" completed in 1.9 ms +2024-06-20 20:13:31.454 +02:00 [INF] Query-Time for Package "through" completed in 1.9 ms +2024-06-20 20:13:31.456 +02:00 [INF] Query-Time for Package "JSONStream" completed in 1.8 ms +2024-06-20 20:13:31.457 +02:00 [INF] Query-Time for Package "meow" completed in 1.8 ms +2024-06-20 20:13:31.459 +02:00 [INF] Query-Time for Package "split2" completed in 1.8 ms +2024-06-20 20:13:31.461 +02:00 [INF] Query-Time for Package "conventional-commits-parser" completed in 1.7 ms +2024-06-20 20:13:31.463 +02:00 [INF] Query-Time for Package "@commitlint/parse" completed in 1.6 ms +2024-06-20 20:13:31.465 +02:00 [INF] Query-Time for Package "lodash.camelcase" completed in 1.6 ms +2024-06-20 20:13:31.466 +02:00 [INF] Query-Time for Package "lodash.kebabcase" completed in 1.6 ms +2024-06-20 20:13:31.469 +02:00 [INF] Query-Time for Package "lodash.snakecase" completed in 2.3 ms +2024-06-20 20:13:31.471 +02:00 [INF] Query-Time for Package "lodash.startcase" completed in 2.0 ms +2024-06-20 20:13:31.473 +02:00 [INF] Query-Time for Package "lodash.upperfirst" completed in 1.9 ms +2024-06-20 20:13:31.475 +02:00 [INF] Query-Time for Package "@commitlint/ensure" completed in 1.9 ms +2024-06-20 20:13:31.477 +02:00 [INF] Query-Time for Package "@commitlint/message" completed in 1.8 ms +2024-06-20 20:13:31.478 +02:00 [INF] Query-Time for Package "@commitlint/to-lines" completed in 1.6 ms +2024-06-20 20:13:31.480 +02:00 [INF] Query-Time for Package "execa" completed in 1.7 ms +2024-06-20 20:13:31.482 +02:00 [INF] Query-Time for Package "@commitlint/rules" completed in 1.9 ms +2024-06-20 20:13:31.484 +02:00 [INF] Query-Time for Package "@commitlint/lint" completed in 2.1 ms +2024-06-20 20:13:31.486 +02:00 [INF] Query-Time for Package "fast-deep-equal" completed in 2.1 ms +2024-06-20 20:13:31.489 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 2.1 ms +2024-06-20 20:13:31.491 +02:00 [INF] Query-Time for Package "require-from-string" completed in 2.3 ms +2024-06-20 20:13:31.493 +02:00 [INF] Query-Time for Package "uri-js" completed in 1.6 ms +2024-06-20 20:13:31.495 +02:00 [INF] Query-Time for Package "ajv" completed in 1.6 ms +2024-06-20 20:13:31.496 +02:00 [INF] Query-Time for Package "@commitlint/config-validator" completed in 1.8 ms +2024-06-20 20:13:31.498 +02:00 [INF] Query-Time for Package "@commitlint/execute-rule" completed in 1.9 ms +2024-06-20 20:13:31.501 +02:00 [INF] Query-Time for Package "import-fresh" completed in 2.3 ms +2024-06-20 20:13:31.503 +02:00 [INF] Query-Time for Package "lodash.mergewith" completed in 2.1 ms +2024-06-20 20:13:31.505 +02:00 [INF] Query-Time for Package "resolve-from" completed in 1.7 ms +2024-06-20 20:13:31.507 +02:00 [INF] Query-Time for Package "resolve-global" completed in 1.6 ms +2024-06-20 20:13:31.508 +02:00 [INF] Query-Time for Package "@commitlint/resolve-extends" completed in 1.7 ms +2024-06-20 20:13:31.510 +02:00 [INF] Query-Time for Package "@types/node" completed in 1.8 ms +2024-06-20 20:13:31.512 +02:00 [INF] Query-Time for Package "cosmiconfig" completed in 1.7 ms +2024-06-20 20:13:31.514 +02:00 [INF] Query-Time for Package "ts-node" completed in 1.6 ms +2024-06-20 20:13:31.515 +02:00 [INF] Query-Time for Package "typescript" completed in 1.6 ms +2024-06-20 20:13:31.517 +02:00 [INF] Query-Time for Package "cosmiconfig-typescript-loader" completed in 1.6 ms +2024-06-20 20:13:31.519 +02:00 [INF] Query-Time for Package "js-yaml" completed in 1.6 ms +2024-06-20 20:13:31.521 +02:00 [INF] Query-Time for Package "@babel/code-frame" completed in 1.7 ms +2024-06-20 20:13:31.522 +02:00 [INF] Query-Time for Package "is-arrayish" completed in 1.6 ms +2024-06-20 20:13:31.524 +02:00 [INF] Query-Time for Package "error-ex" completed in 1.6 ms +2024-06-20 20:13:31.526 +02:00 [INF] Query-Time for Package "json-parse-even-better-errors" completed in 1.5 ms +2024-06-20 20:13:31.527 +02:00 [INF] Query-Time for Package "lines-and-columns" completed in 1.4 ms +2024-06-20 20:13:31.529 +02:00 [INF] Query-Time for Package "parse-json" completed in 1.5 ms +2024-06-20 20:13:31.531 +02:00 [INF] Query-Time for Package "path-type" completed in 2.0 ms +2024-06-20 20:13:31.532 +02:00 [INF] Query-Time for Package "lodash.isplainobject" completed in 1.5 ms +2024-06-20 20:13:31.534 +02:00 [INF] Query-Time for Package "lodash.merge" completed in 1.6 ms +2024-06-20 20:13:31.536 +02:00 [INF] Query-Time for Package "lodash.uniq" completed in 1.5 ms +2024-06-20 20:13:31.537 +02:00 [INF] Query-Time for Package "@jridgewell/resolve-uri" completed in 1.6 ms +2024-06-20 20:13:31.539 +02:00 [INF] Query-Time for Package "@jridgewell/sourcemap-codec" completed in 1.6 ms +2024-06-20 20:13:31.541 +02:00 [INF] Query-Time for Package "@jridgewell/trace-mapping" completed in 1.6 ms +2024-06-20 20:13:31.542 +02:00 [INF] Query-Time for Package "@cspotcode/source-map-support" completed in 1.8 ms +2024-06-20 20:13:31.544 +02:00 [INF] Query-Time for Package "@swc/core" completed in 1.6 ms +2024-06-20 20:13:31.546 +02:00 [INF] Query-Time for Package "@swc/wasm" completed in 1.6 ms +2024-06-20 20:13:31.547 +02:00 [INF] Query-Time for Package "@tsconfig/node10" completed in 1.5 ms +2024-06-20 20:13:31.549 +02:00 [INF] Query-Time for Package "@tsconfig/node12" completed in 1.6 ms +2024-06-20 20:13:31.551 +02:00 [INF] Query-Time for Package "@tsconfig/node14" completed in 1.6 ms +2024-06-20 20:13:31.553 +02:00 [INF] Query-Time for Package "@tsconfig/node16" completed in 1.6 ms +2024-06-20 20:13:31.554 +02:00 [INF] Query-Time for Package "acorn" completed in 1.6 ms +2024-06-20 20:13:31.556 +02:00 [INF] Query-Time for Package "acorn-walk" completed in 1.5 ms +2024-06-20 20:13:31.558 +02:00 [INF] Query-Time for Package "arg" completed in 1.5 ms +2024-06-20 20:13:31.559 +02:00 [INF] Query-Time for Package "create-require" completed in 1.7 ms +2024-06-20 20:13:31.562 +02:00 [INF] Query-Time for Package "diff" completed in 2.0 ms +2024-06-20 20:13:31.564 +02:00 [INF] Query-Time for Package "make-error" completed in 2.1 ms +2024-06-20 20:13:31.566 +02:00 [INF] Query-Time for Package "v8-compile-cache-lib" completed in 1.8 ms +2024-06-20 20:13:31.567 +02:00 [INF] Query-Time for Package "yn" completed in 1.7 ms +2024-06-20 20:13:31.569 +02:00 [INF] Query-Time for Package "@commitlint/load" completed in 1.8 ms +2024-06-20 20:13:31.571 +02:00 [INF] Query-Time for Package "find-up" completed in 1.8 ms +2024-06-20 20:13:31.573 +02:00 [INF] Query-Time for Package "@commitlint/top-level" completed in 1.5 ms +2024-06-20 20:13:31.575 +02:00 [INF] Query-Time for Package "graceful-fs" completed in 1.6 ms +2024-06-20 20:13:31.577 +02:00 [INF] Query-Time for Package "universalify" completed in 1.8 ms +2024-06-20 20:13:31.578 +02:00 [INF] Query-Time for Package "jsonfile" completed in 1.7 ms +2024-06-20 20:13:31.580 +02:00 [INF] Query-Time for Package "fs-extra" completed in 1.5 ms +2024-06-20 20:13:31.582 +02:00 [INF] Query-Time for Package "dargs" completed in 1.8 ms +2024-06-20 20:13:31.585 +02:00 [INF] Query-Time for Package "lodash" completed in 2.7 ms +2024-06-20 20:13:31.587 +02:00 [INF] Query-Time for Package "@types/minimist" completed in 1.7 ms +2024-06-20 20:13:31.589 +02:00 [INF] Query-Time for Package "camelcase" completed in 1.6 ms +2024-06-20 20:13:31.590 +02:00 [INF] Query-Time for Package "map-obj" completed in 1.7 ms +2024-06-20 20:13:31.592 +02:00 [INF] Query-Time for Package "quick-lru" completed in 1.7 ms +2024-06-20 20:13:31.593 +02:00 [INF] Query-Time for Package "camelcase-keys" completed in 1.4 ms +2024-06-20 20:13:31.595 +02:00 [INF] Query-Time for Package "decamelize" completed in 1.5 ms +2024-06-20 20:13:31.597 +02:00 [INF] Query-Time for Package "map-obj" completed in 1.5 ms +2024-06-20 20:13:31.598 +02:00 [INF] Query-Time for Package "decamelize-keys" completed in 1.5 ms +2024-06-20 20:13:31.600 +02:00 [INF] Query-Time for Package "hard-rejection" completed in 1.5 ms +2024-06-20 20:13:31.601 +02:00 [INF] Query-Time for Package "arrify" completed in 1.5 ms +2024-06-20 20:13:31.603 +02:00 [INF] Query-Time for Package "is-plain-obj" completed in 1.5 ms +2024-06-20 20:13:31.605 +02:00 [INF] Query-Time for Package "kind-of" completed in 1.6 ms +2024-06-20 20:13:31.606 +02:00 [INF] Query-Time for Package "minimist-options" completed in 1.7 ms +2024-06-20 20:13:31.609 +02:00 [INF] Query-Time for Package "lru-cache" completed in 2.2 ms +2024-06-20 20:13:31.611 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 2.5 ms +2024-06-20 20:13:31.614 +02:00 [INF] Query-Time for Package "is-core-module" completed in 2.7 ms +2024-06-20 20:13:31.617 +02:00 [INF] Query-Time for Package "spdx-expression-parse" completed in 2.2 ms +2024-06-20 20:13:31.619 +02:00 [INF] Query-Time for Package "spdx-license-ids" completed in 2.3 ms +2024-06-20 20:13:31.621 +02:00 [INF] Query-Time for Package "spdx-correct" completed in 2.1 ms +2024-06-20 20:13:31.623 +02:00 [INF] Query-Time for Package "spdx-exceptions" completed in 2.0 ms +2024-06-20 20:13:31.625 +02:00 [INF] Query-Time for Package "validate-npm-package-license" completed in 1.6 ms +2024-06-20 20:13:31.627 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 1.5 ms +2024-06-20 20:13:31.628 +02:00 [INF] Query-Time for Package "p-try" completed in 1.6 ms +2024-06-20 20:13:31.630 +02:00 [INF] Query-Time for Package "p-limit" completed in 1.8 ms +2024-06-20 20:13:31.632 +02:00 [INF] Query-Time for Package "p-locate" completed in 1.7 ms +2024-06-20 20:13:31.634 +02:00 [INF] Query-Time for Package "locate-path" completed in 2.0 ms +2024-06-20 20:13:31.636 +02:00 [INF] Query-Time for Package "path-exists" completed in 2.1 ms +2024-06-20 20:13:31.638 +02:00 [INF] Query-Time for Package "find-up" completed in 1.6 ms +2024-06-20 20:13:31.640 +02:00 [INF] Query-Time for Package "@types/normalize-package-data" completed in 1.5 ms +2024-06-20 20:13:31.642 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 2.1 ms +2024-06-20 20:13:31.644 +02:00 [INF] Query-Time for Package "resolve" completed in 1.6 ms +2024-06-20 20:13:31.645 +02:00 [INF] Query-Time for Package "semver" completed in 1.5 ms +2024-06-20 20:13:31.647 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 1.5 ms +2024-06-20 20:13:31.648 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.5 ms +2024-06-20 20:13:31.650 +02:00 [INF] Query-Time for Package "read-pkg" completed in 1.7 ms +2024-06-20 20:13:31.652 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.6 ms +2024-06-20 20:13:31.654 +02:00 [INF] Query-Time for Package "read-pkg-up" completed in 1.5 ms +2024-06-20 20:13:31.655 +02:00 [INF] Query-Time for Package "indent-string" completed in 1.5 ms +2024-06-20 20:13:31.657 +02:00 [INF] Query-Time for Package "min-indent" completed in 1.6 ms +2024-06-20 20:13:31.658 +02:00 [INF] Query-Time for Package "strip-indent" completed in 1.6 ms +2024-06-20 20:13:31.660 +02:00 [INF] Query-Time for Package "redent" completed in 1.5 ms +2024-06-20 20:13:31.662 +02:00 [INF] Query-Time for Package "trim-newlines" completed in 1.5 ms +2024-06-20 20:13:31.663 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.5 ms +2024-06-20 20:13:31.665 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 1.5 ms +2024-06-20 20:13:31.666 +02:00 [INF] Query-Time for Package "inherits" completed in 1.6 ms +2024-06-20 20:13:31.668 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 1.6 ms +2024-06-20 20:13:31.670 +02:00 [INF] Query-Time for Package "string_decoder" completed in 1.6 ms +2024-06-20 20:13:31.671 +02:00 [INF] Query-Time for Package "util-deprecate" completed in 1.6 ms +2024-06-20 20:13:31.673 +02:00 [INF] Query-Time for Package "readable-stream" completed in 1.4 ms +2024-06-20 20:13:31.674 +02:00 [INF] Query-Time for Package "through2" completed in 1.4 ms +2024-06-20 20:13:31.676 +02:00 [INF] Query-Time for Package "git-raw-commits" completed in 1.6 ms +2024-06-20 20:13:31.678 +02:00 [INF] Query-Time for Package "minimist" completed in 1.6 ms +2024-06-20 20:13:31.679 +02:00 [INF] Query-Time for Package "@commitlint/read" completed in 1.5 ms +2024-06-20 20:13:31.681 +02:00 [INF] Query-Time for Package "cross-spawn" completed in 1.8 ms +2024-06-20 20:13:31.683 +02:00 [INF] Query-Time for Package "get-stream" completed in 1.8 ms +2024-06-20 20:13:31.685 +02:00 [INF] Query-Time for Package "human-signals" completed in 1.7 ms +2024-06-20 20:13:31.687 +02:00 [INF] Query-Time for Package "is-stream" completed in 1.6 ms +2024-06-20 20:13:31.688 +02:00 [INF] Query-Time for Package "merge-stream" completed in 1.6 ms +2024-06-20 20:13:31.690 +02:00 [INF] Query-Time for Package "path-key" completed in 1.6 ms +2024-06-20 20:13:31.691 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 1.5 ms +2024-06-20 20:13:31.693 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 1.5 ms +2024-06-20 20:13:31.695 +02:00 [INF] Query-Time for Package "onetime" completed in 1.4 ms +2024-06-20 20:13:31.696 +02:00 [INF] Query-Time for Package "signal-exit" completed in 1.5 ms +2024-06-20 20:13:31.698 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 1.5 ms +2024-06-20 20:13:31.699 +02:00 [INF] Query-Time for Package "lodash.isfunction" completed in 1.7 ms +2024-06-20 20:13:31.701 +02:00 [INF] Query-Time for Package "ini" completed in 1.7 ms +2024-06-20 20:13:31.703 +02:00 [INF] Query-Time for Package "global-dirs" completed in 1.5 ms +2024-06-20 20:13:31.704 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 1.5 ms +2024-06-20 20:13:31.706 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 1.5 ms +2024-06-20 20:13:31.708 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 1.5 ms +2024-06-20 20:13:31.709 +02:00 [INF] Query-Time for Package "string-width" completed in 1.7 ms +2024-06-20 20:13:31.711 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 1.6 ms +2024-06-20 20:13:31.713 +02:00 [INF] Query-Time for Package "cliui" completed in 1.8 ms +2024-06-20 20:13:31.715 +02:00 [INF] Query-Time for Package "escalade" completed in 1.7 ms +2024-06-20 20:13:31.716 +02:00 [INF] Query-Time for Package "get-caller-file" completed in 1.4 ms +2024-06-20 20:13:31.718 +02:00 [INF] Query-Time for Package "require-directory" completed in 1.5 ms +2024-06-20 20:13:31.719 +02:00 [INF] Query-Time for Package "y18n" completed in 1.5 ms +2024-06-20 20:13:31.721 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 1.5 ms +2024-06-20 20:13:31.722 +02:00 [INF] Query-Time for Package "yargs" completed in 1.4 ms +2024-06-20 20:13:31.724 +02:00 [INF] Query-Time for Package "@commitlint/cli" completed in 1.4 ms +2024-06-20 20:13:31.726 +02:00 [INF] Query-Time for Package "array-ify" completed in 1.5 ms +2024-06-20 20:13:31.727 +02:00 [INF] Query-Time for Package "is-obj" completed in 1.4 ms +2024-06-20 20:13:31.729 +02:00 [INF] Query-Time for Package "dot-prop" completed in 1.7 ms +2024-06-20 20:13:31.731 +02:00 [INF] Query-Time for Package "conventional-changelog-conventionalcommits" completed in 1.7 ms +2024-06-20 20:13:31.732 +02:00 [INF] Query-Time for Package "@commitlint/config-conventional" completed in 1.5 ms +2024-06-20 20:13:31.734 +02:00 [INF] Query-Time for Package "@types/estree" completed in 1.5 ms +2024-06-20 20:13:31.735 +02:00 [INF] Query-Time for Package "@types/json-schema" completed in 1.6 ms +2024-06-20 20:13:31.737 +02:00 [INF] Query-Time for Package "@types/eslint" completed in 1.5 ms +2024-06-20 20:13:31.739 +02:00 [INF] Query-Time for Package "jest-get-type" completed in 1.6 ms +2024-06-20 20:13:31.740 +02:00 [INF] Query-Time for Package "@jest/expect-utils" completed in 1.5 ms +2024-06-20 20:13:31.742 +02:00 [INF] Query-Time for Package "diff-sequences" completed in 1.6 ms +2024-06-20 20:13:31.744 +02:00 [INF] Query-Time for Package "pretty-format" completed in 1.6 ms +2024-06-20 20:13:31.745 +02:00 [INF] Query-Time for Package "jest-diff" completed in 1.5 ms +2024-06-20 20:13:31.747 +02:00 [INF] Query-Time for Package "jest-matcher-utils" completed in 1.4 ms +2024-06-20 20:13:31.748 +02:00 [INF] Query-Time for Package "@babel/helper-validator-identifier" completed in 1.4 ms +2024-06-20 20:13:31.750 +02:00 [INF] Query-Time for Package "color-name" completed in 1.5 ms +2024-06-20 20:13:31.751 +02:00 [INF] Query-Time for Package "color-convert" completed in 1.6 ms +2024-06-20 20:13:31.753 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.5 ms +2024-06-20 20:13:31.754 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 1.5 ms +2024-06-20 20:13:31.756 +02:00 [INF] Query-Time for Package "has-flag" completed in 1.4 ms +2024-06-20 20:13:31.757 +02:00 [INF] Query-Time for Package "supports-color" completed in 1.5 ms +2024-06-20 20:13:31.759 +02:00 [INF] Query-Time for Package "chalk" completed in 1.6 ms +2024-06-20 20:13:31.761 +02:00 [INF] Query-Time for Package "js-tokens" completed in 1.6 ms +2024-06-20 20:13:31.762 +02:00 [INF] Query-Time for Package "picocolors" completed in 1.6 ms +2024-06-20 20:13:31.764 +02:00 [INF] Query-Time for Package "@babel/highlight" completed in 1.5 ms +2024-06-20 20:13:31.765 +02:00 [INF] Query-Time for Package "@jest/schemas" completed in 1.5 ms +2024-06-20 20:13:31.767 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-coverage" completed in 1.5 ms +2024-06-20 20:13:31.769 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-report" completed in 1.5 ms +2024-06-20 20:13:31.770 +02:00 [INF] Query-Time for Package "@types/istanbul-reports" completed in 1.5 ms +2024-06-20 20:13:31.772 +02:00 [INF] Query-Time for Package "@types/yargs-parser" completed in 1.6 ms +2024-06-20 20:13:31.774 +02:00 [INF] Query-Time for Package "@types/yargs" completed in 1.6 ms +2024-06-20 20:13:31.775 +02:00 [INF] Query-Time for Package "@jest/types" completed in 1.5 ms +2024-06-20 20:13:31.777 +02:00 [INF] Query-Time for Package "@types/stack-utils" completed in 1.5 ms +2024-06-20 20:13:31.778 +02:00 [INF] Query-Time for Package "braces" completed in 1.5 ms +2024-06-20 20:13:31.780 +02:00 [INF] Query-Time for Package "picomatch" completed in 1.5 ms +2024-06-20 20:13:31.781 +02:00 [INF] Query-Time for Package "micromatch" completed in 1.5 ms +2024-06-20 20:13:31.783 +02:00 [INF] Query-Time for Package "slash" completed in 1.4 ms +2024-06-20 20:13:31.784 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 1.5 ms +2024-06-20 20:13:31.786 +02:00 [INF] Query-Time for Package "stack-utils" completed in 1.4 ms +2024-06-20 20:13:31.787 +02:00 [INF] Query-Time for Package "jest-message-util" completed in 1.5 ms +2024-06-20 20:13:31.789 +02:00 [INF] Query-Time for Package "ci-info" completed in 1.7 ms +2024-06-20 20:13:31.791 +02:00 [INF] Query-Time for Package "jest-util" completed in 1.6 ms +2024-06-20 20:13:31.793 +02:00 [INF] Query-Time for Package "expect" completed in 1.5 ms +2024-06-20 20:13:31.794 +02:00 [INF] Query-Time for Package "@sinclair/typebox" completed in 1.4 ms +2024-06-20 20:13:31.796 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.4 ms +2024-06-20 20:13:31.797 +02:00 [INF] Query-Time for Package "react-is" completed in 1.5 ms +2024-06-20 20:13:31.799 +02:00 [INF] Query-Time for Package "@types/jest" completed in 1.5 ms +2024-06-20 20:13:31.800 +02:00 [INF] Query-Time for Package "@eslint-community/regexpp" completed in 1.5 ms +2024-06-20 20:13:31.802 +02:00 [INF] Query-Time for Package "@typescript-eslint/parser" completed in 1.6 ms +2024-06-20 20:13:31.803 +02:00 [INF] Query-Time for Package "@typescript-eslint/types" completed in 1.4 ms +2024-06-20 20:13:31.805 +02:00 [INF] Query-Time for Package "@typescript-eslint/visitor-keys" completed in 1.6 ms +2024-06-20 20:13:31.807 +02:00 [INF] Query-Time for Package "@typescript-eslint/scope-manager" completed in 1.7 ms +2024-06-20 20:13:31.808 +02:00 [INF] Query-Time for Package "@typescript-eslint/typescript-estree" completed in 1.6 ms +2024-06-20 20:13:31.810 +02:00 [INF] Query-Time for Package "@typescript-eslint/utils" completed in 1.6 ms +2024-06-20 20:13:31.812 +02:00 [INF] Query-Time for Package "debug" completed in 1.6 ms +2024-06-20 20:13:31.814 +02:00 [INF] Query-Time for Package "eslint" completed in 1.6 ms +2024-06-20 20:13:31.815 +02:00 [INF] Query-Time for Package "ts-api-utils" completed in 1.7 ms +2024-06-20 20:13:31.817 +02:00 [INF] Query-Time for Package "@typescript-eslint/type-utils" completed in 1.6 ms +2024-06-20 20:13:31.819 +02:00 [INF] Query-Time for Package "@eslint-community/eslint-utils" completed in 1.6 ms +2024-06-20 20:13:31.821 +02:00 [INF] Query-Time for Package "@types/semver" completed in 1.7 ms +2024-06-20 20:13:31.823 +02:00 [INF] Query-Time for Package "eslint-visitor-keys" completed in 1.9 ms +2024-06-20 20:13:31.825 +02:00 [INF] Query-Time for Package "ms" completed in 2.2 ms +2024-06-20 20:13:31.827 +02:00 [INF] Query-Time for Package "graphemer" completed in 1.9 ms +2024-06-20 20:13:31.830 +02:00 [INF] Query-Time for Package "ignore" completed in 2.4 ms +2024-06-20 20:13:31.832 +02:00 [INF] Query-Time for Package "natural-compare" completed in 1.9 ms +2024-06-20 20:13:31.834 +02:00 [INF] Query-Time for Package "yallist" completed in 1.9 ms +2024-06-20 20:13:31.836 +02:00 [INF] Query-Time for Package "@typescript-eslint/eslint-plugin" completed in 2.1 ms +2024-06-20 20:13:31.837 +02:00 [INF] Query-Time for Package "array-union" completed in 1.7 ms +2024-06-20 20:13:31.839 +02:00 [INF] Query-Time for Package "dir-glob" completed in 1.6 ms +2024-06-20 20:13:31.841 +02:00 [INF] Query-Time for Package "@nodelib/fs.stat" completed in 1.8 ms +2024-06-20 20:13:31.843 +02:00 [INF] Query-Time for Package "@nodelib/fs.walk" completed in 1.9 ms +2024-06-20 20:13:31.845 +02:00 [INF] Query-Time for Package "is-glob" completed in 1.6 ms +2024-06-20 20:13:31.846 +02:00 [INF] Query-Time for Package "glob-parent" completed in 1.6 ms +2024-06-20 20:13:31.848 +02:00 [INF] Query-Time for Package "merge2" completed in 1.5 ms +2024-06-20 20:13:31.850 +02:00 [INF] Query-Time for Package "fast-glob" completed in 1.6 ms +2024-06-20 20:13:31.851 +02:00 [INF] Query-Time for Package "globby" completed in 1.7 ms +2024-06-20 20:13:31.853 +02:00 [INF] Query-Time for Package "confusing-browser-globals" completed in 1.5 ms +2024-06-20 20:13:31.855 +02:00 [INF] Query-Time for Package "eslint-plugin-import" completed in 1.5 ms +2024-06-20 20:13:31.856 +02:00 [INF] Query-Time for Package "get-intrinsic" completed in 1.5 ms +2024-06-20 20:13:31.858 +02:00 [INF] Query-Time for Package "es-define-property" completed in 1.4 ms +2024-06-20 20:13:31.859 +02:00 [INF] Query-Time for Package "es-errors" completed in 1.5 ms +2024-06-20 20:13:31.861 +02:00 [INF] Query-Time for Package "function-bind" completed in 1.5 ms +2024-06-20 20:13:31.862 +02:00 [INF] Query-Time for Package "define-data-property" completed in 1.5 ms +2024-06-20 20:13:31.864 +02:00 [INF] Query-Time for Package "gopd" completed in 1.5 ms +2024-06-20 20:13:31.866 +02:00 [INF] Query-Time for Package "has-property-descriptors" completed in 1.7 ms +2024-06-20 20:13:31.868 +02:00 [INF] Query-Time for Package "set-function-length" completed in 1.8 ms +2024-06-20 20:13:31.869 +02:00 [INF] Query-Time for Package "call-bind" completed in 1.7 ms +2024-06-20 20:13:31.871 +02:00 [INF] Query-Time for Package "object-keys" completed in 1.7 ms +2024-06-20 20:13:31.873 +02:00 [INF] Query-Time for Package "define-properties" completed in 1.5 ms +2024-06-20 20:13:31.874 +02:00 [INF] Query-Time for Package "has-symbols" completed in 1.5 ms +2024-06-20 20:13:31.876 +02:00 [INF] Query-Time for Package "object.assign" completed in 1.6 ms +2024-06-20 20:13:31.878 +02:00 [INF] Query-Time for Package "es-object-atoms" completed in 1.5 ms +2024-06-20 20:13:31.879 +02:00 [INF] Query-Time for Package "object.entries" completed in 1.5 ms +2024-06-20 20:13:31.881 +02:00 [INF] Query-Time for Package "semver" completed in 1.7 ms +2024-06-20 20:13:31.883 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-base" completed in 1.6 ms +2024-06-20 20:13:31.884 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-typescript" completed in 1.6 ms +2024-06-20 20:13:31.886 +02:00 [INF] Query-Time for Package "eslint-config-prettier" completed in 1.5 ms +2024-06-20 20:13:31.887 +02:00 [INF] Query-Time for Package "is-array-buffer" completed in 1.4 ms +2024-06-20 20:13:31.889 +02:00 [INF] Query-Time for Package "array-buffer-byte-length" completed in 1.5 ms +2024-06-20 20:13:31.891 +02:00 [INF] Query-Time for Package "es-abstract" completed in 1.5 ms +2024-06-20 20:13:31.892 +02:00 [INF] Query-Time for Package "is-shared-array-buffer" completed in 1.5 ms +2024-06-20 20:13:31.894 +02:00 [INF] Query-Time for Package "arraybuffer.prototype.slice" completed in 1.5 ms +2024-06-20 20:13:31.895 +02:00 [INF] Query-Time for Package "possible-typed-array-names" completed in 1.5 ms +2024-06-20 20:13:31.897 +02:00 [INF] Query-Time for Package "available-typed-arrays" completed in 1.6 ms +2024-06-20 20:13:31.899 +02:00 [INF] Query-Time for Package "is-data-view" completed in 1.5 ms +2024-06-20 20:13:31.900 +02:00 [INF] Query-Time for Package "data-view-buffer" completed in 1.8 ms +2024-06-20 20:13:31.902 +02:00 [INF] Query-Time for Package "data-view-byte-length" completed in 1.4 ms +2024-06-20 20:13:31.903 +02:00 [INF] Query-Time for Package "data-view-byte-offset" completed in 1.4 ms +2024-06-20 20:13:31.905 +02:00 [INF] Query-Time for Package "has-tostringtag" completed in 1.3 ms +2024-06-20 20:13:31.906 +02:00 [INF] Query-Time for Package "hasown" completed in 1.4 ms +2024-06-20 20:13:31.908 +02:00 [INF] Query-Time for Package "es-set-tostringtag" completed in 1.4 ms +2024-06-20 20:13:31.909 +02:00 [INF] Query-Time for Package "is-callable" completed in 1.5 ms +2024-06-20 20:13:31.911 +02:00 [INF] Query-Time for Package "is-date-object" completed in 1.5 ms +2024-06-20 20:13:31.912 +02:00 [INF] Query-Time for Package "is-symbol" completed in 1.5 ms +2024-06-20 20:13:31.914 +02:00 [INF] Query-Time for Package "es-to-primitive" completed in 1.4 ms +2024-06-20 20:13:31.915 +02:00 [INF] Query-Time for Package "functions-have-names" completed in 1.4 ms +2024-06-20 20:13:31.917 +02:00 [INF] Query-Time for Package "function.prototype.name" completed in 1.4 ms +2024-06-20 20:13:31.918 +02:00 [INF] Query-Time for Package "get-symbol-description" completed in 1.5 ms +2024-06-20 20:13:31.920 +02:00 [INF] Query-Time for Package "globalthis" completed in 1.5 ms +2024-06-20 20:13:31.921 +02:00 [INF] Query-Time for Package "has-proto" completed in 1.5 ms +2024-06-20 20:13:31.923 +02:00 [INF] Query-Time for Package "object-inspect" completed in 1.5 ms +2024-06-20 20:13:31.925 +02:00 [INF] Query-Time for Package "side-channel" completed in 1.5 ms +2024-06-20 20:13:31.926 +02:00 [INF] Query-Time for Package "internal-slot" completed in 1.5 ms +2024-06-20 20:13:31.928 +02:00 [INF] Query-Time for Package "is-typed-array" completed in 1.4 ms +2024-06-20 20:13:31.930 +02:00 [INF] Query-Time for Package "is-negative-zero" completed in 1.9 ms +2024-06-20 20:13:31.931 +02:00 [INF] Query-Time for Package "is-regex" completed in 1.6 ms +2024-06-20 20:13:31.933 +02:00 [INF] Query-Time for Package "is-string" completed in 1.6 ms +2024-06-20 20:13:31.935 +02:00 [INF] Query-Time for Package "which-typed-array" completed in 1.5 ms +2024-06-20 20:13:31.936 +02:00 [INF] Query-Time for Package "is-weakref" completed in 1.5 ms +2024-06-20 20:13:31.938 +02:00 [INF] Query-Time for Package "set-function-name" completed in 1.4 ms +2024-06-20 20:13:31.939 +02:00 [INF] Query-Time for Package "regexp.prototype.flags" completed in 1.6 ms +2024-06-20 20:13:31.941 +02:00 [INF] Query-Time for Package "isarray" completed in 1.5 ms +2024-06-20 20:13:31.943 +02:00 [INF] Query-Time for Package "safe-array-concat" completed in 1.6 ms +2024-06-20 20:13:31.944 +02:00 [INF] Query-Time for Package "safe-regex-test" completed in 1.6 ms +2024-06-20 20:13:31.946 +02:00 [INF] Query-Time for Package "string.prototype.trim" completed in 1.6 ms +2024-06-20 20:13:31.948 +02:00 [INF] Query-Time for Package "string.prototype.trimend" completed in 1.6 ms +2024-06-20 20:13:31.949 +02:00 [INF] Query-Time for Package "string.prototype.trimstart" completed in 1.7 ms +2024-06-20 20:13:31.951 +02:00 [INF] Query-Time for Package "typed-array-buffer" completed in 1.5 ms +2024-06-20 20:13:31.953 +02:00 [INF] Query-Time for Package "for-each" completed in 1.4 ms +2024-06-20 20:13:31.954 +02:00 [INF] Query-Time for Package "typed-array-byte-length" completed in 1.5 ms +2024-06-20 20:13:31.956 +02:00 [INF] Query-Time for Package "typed-array-byte-offset" completed in 1.4 ms +2024-06-20 20:13:31.957 +02:00 [INF] Query-Time for Package "typed-array-length" completed in 1.6 ms +2024-06-20 20:13:31.959 +02:00 [INF] Query-Time for Package "has-bigints" completed in 1.5 ms +2024-06-20 20:13:31.961 +02:00 [INF] Query-Time for Package "is-bigint" completed in 1.8 ms +2024-06-20 20:13:31.962 +02:00 [INF] Query-Time for Package "is-boolean-object" completed in 1.6 ms +2024-06-20 20:13:31.964 +02:00 [INF] Query-Time for Package "is-number-object" completed in 1.5 ms +2024-06-20 20:13:31.966 +02:00 [INF] Query-Time for Package "which-boxed-primitive" completed in 1.5 ms +2024-06-20 20:13:31.967 +02:00 [INF] Query-Time for Package "unbox-primitive" completed in 1.5 ms +2024-06-20 20:13:31.969 +02:00 [INF] Query-Time for Package "array-includes" completed in 1.5 ms +2024-06-20 20:13:31.970 +02:00 [INF] Query-Time for Package "es-shim-unscopables" completed in 1.5 ms +2024-06-20 20:13:31.972 +02:00 [INF] Query-Time for Package "array.prototype.findlastindex" completed in 1.6 ms +2024-06-20 20:13:31.974 +02:00 [INF] Query-Time for Package "array.prototype.flat" completed in 1.5 ms +2024-06-20 20:13:31.975 +02:00 [INF] Query-Time for Package "array.prototype.flatmap" completed in 1.6 ms +2024-06-20 20:13:31.977 +02:00 [INF] Query-Time for Package "debug" completed in 1.7 ms +2024-06-20 20:13:31.979 +02:00 [INF] Query-Time for Package "esutils" completed in 1.5 ms +2024-06-20 20:13:31.980 +02:00 [INF] Query-Time for Package "doctrine" completed in 1.5 ms +2024-06-20 20:13:31.982 +02:00 [INF] Query-Time for Package "path-parse" completed in 1.5 ms +2024-06-20 20:13:31.983 +02:00 [INF] Query-Time for Package "supports-preserve-symlinks-flag" completed in 1.5 ms +2024-06-20 20:13:31.985 +02:00 [INF] Query-Time for Package "eslint-import-resolver-node" completed in 1.5 ms +2024-06-20 20:13:31.986 +02:00 [INF] Query-Time for Package "eslint-module-utils" completed in 1.4 ms +2024-06-20 20:13:31.988 +02:00 [INF] Query-Time for Package "has" completed in 1.8 ms +2024-06-20 20:13:31.990 +02:00 [INF] Query-Time for Package "is-extglob" completed in 1.8 ms +2024-06-20 20:13:31.992 +02:00 [INF] Query-Time for Package "balanced-match" completed in 1.5 ms +2024-06-20 20:13:31.993 +02:00 [INF] Query-Time for Package "concat-map" completed in 1.5 ms +2024-06-20 20:13:31.995 +02:00 [INF] Query-Time for Package "brace-expansion" completed in 1.4 ms +2024-06-20 20:13:31.996 +02:00 [INF] Query-Time for Package "minimatch" completed in 1.5 ms +2024-06-20 20:13:31.998 +02:00 [INF] Query-Time for Package "object.fromentries" completed in 1.4 ms +2024-06-20 20:13:32.000 +02:00 [INF] Query-Time for Package "object.groupby" completed in 1.5 ms +2024-06-20 20:13:32.001 +02:00 [INF] Query-Time for Package "object.values" completed in 1.5 ms +2024-06-20 20:13:32.003 +02:00 [INF] Query-Time for Package "@types/json5" completed in 1.7 ms +2024-06-20 20:13:32.005 +02:00 [INF] Query-Time for Package "json5" completed in 1.6 ms +2024-06-20 20:13:32.006 +02:00 [INF] Query-Time for Package "strip-bom" completed in 1.5 ms +2024-06-20 20:13:32.008 +02:00 [INF] Query-Time for Package "tsconfig-paths" completed in 1.5 ms +2024-06-20 20:13:32.010 +02:00 [INF] Query-Time for Package "fast-diff" completed in 1.7 ms +2024-06-20 20:13:32.011 +02:00 [INF] Query-Time for Package "prettier-linter-helpers" completed in 1.6 ms +2024-06-20 20:13:32.013 +02:00 [INF] Query-Time for Package "prettier" completed in 1.5 ms +2024-06-20 20:13:32.015 +02:00 [INF] Query-Time for Package "@pkgr/core" completed in 1.5 ms +2024-06-20 20:13:32.016 +02:00 [INF] Query-Time for Package "tslib" completed in 1.5 ms +2024-06-20 20:13:32.018 +02:00 [INF] Query-Time for Package "synckit" completed in 1.6 ms +2024-06-20 20:13:32.020 +02:00 [INF] Query-Time for Package "eslint-plugin-prettier" completed in 1.5 ms +2024-06-20 20:13:32.021 +02:00 [INF] Query-Time for Package "fast-json-stable-stringify" completed in 1.4 ms +2024-06-20 20:13:32.023 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 1.5 ms +2024-06-20 20:13:32.024 +02:00 [INF] Query-Time for Package "ajv" completed in 1.8 ms +2024-06-20 20:13:32.027 +02:00 [INF] Query-Time for Package "espree" completed in 2.1 ms +2024-06-20 20:13:32.029 +02:00 [INF] Query-Time for Package "globals" completed in 2.3 ms +2024-06-20 20:13:32.032 +02:00 [INF] Query-Time for Package "callsites" completed in 2.2 ms +2024-06-20 20:13:32.034 +02:00 [INF] Query-Time for Package "parent-module" completed in 2.2 ms +2024-06-20 20:13:32.036 +02:00 [INF] Query-Time for Package "resolve-from" completed in 1.8 ms +2024-06-20 20:13:32.037 +02:00 [INF] Query-Time for Package "strip-json-comments" completed in 1.5 ms +2024-06-20 20:13:32.039 +02:00 [INF] Query-Time for Package "@eslint/eslintrc" completed in 1.6 ms +2024-06-20 20:13:32.041 +02:00 [INF] Query-Time for Package "@eslint/js" completed in 2.0 ms +2024-06-20 20:13:32.043 +02:00 [INF] Query-Time for Package "@humanwhocodes/object-schema" completed in 2.1 ms +2024-06-20 20:13:32.045 +02:00 [INF] Query-Time for Package "@humanwhocodes/config-array" completed in 1.6 ms +2024-06-20 20:13:32.047 +02:00 [INF] Query-Time for Package "@humanwhocodes/module-importer" completed in 1.4 ms +2024-06-20 20:13:32.048 +02:00 [INF] Query-Time for Package "queue-microtask" completed in 1.8 ms +2024-06-20 20:13:32.050 +02:00 [INF] Query-Time for Package "run-parallel" completed in 1.6 ms +2024-06-20 20:13:32.052 +02:00 [INF] Query-Time for Package "@nodelib/fs.scandir" completed in 1.6 ms +2024-06-20 20:13:32.053 +02:00 [INF] Query-Time for Package "reusify" completed in 1.6 ms +2024-06-20 20:13:32.055 +02:00 [INF] Query-Time for Package "fastq" completed in 1.6 ms +2024-06-20 20:13:32.057 +02:00 [INF] Query-Time for Package "punycode" completed in 1.5 ms +2024-06-20 20:13:32.058 +02:00 [INF] Query-Time for Package "shebang-regex" completed in 1.4 ms +2024-06-20 20:13:32.060 +02:00 [INF] Query-Time for Package "shebang-command" completed in 1.5 ms +2024-06-20 20:13:32.061 +02:00 [INF] Query-Time for Package "isexe" completed in 1.5 ms +2024-06-20 20:13:32.063 +02:00 [INF] Query-Time for Package "which" completed in 1.5 ms +2024-06-20 20:13:32.065 +02:00 [INF] Query-Time for Package "doctrine" completed in 1.7 ms +2024-06-20 20:13:32.066 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 1.6 ms +2024-06-20 20:13:32.068 +02:00 [INF] Query-Time for Package "estraverse" completed in 1.8 ms +2024-06-20 20:13:32.070 +02:00 [INF] Query-Time for Package "esrecurse" completed in 1.8 ms +2024-06-20 20:13:32.072 +02:00 [INF] Query-Time for Package "eslint-scope" completed in 1.6 ms +2024-06-20 20:13:32.073 +02:00 [INF] Query-Time for Package "acorn-jsx" completed in 1.6 ms +2024-06-20 20:13:32.075 +02:00 [INF] Query-Time for Package "esquery" completed in 1.8 ms +2024-06-20 20:13:32.077 +02:00 [INF] Query-Time for Package "flatted" completed in 1.5 ms +2024-06-20 20:13:32.079 +02:00 [INF] Query-Time for Package "json-buffer" completed in 1.7 ms +2024-06-20 20:13:32.080 +02:00 [INF] Query-Time for Package "keyv" completed in 1.6 ms +2024-06-20 20:13:32.082 +02:00 [INF] Query-Time for Package "fs.realpath" completed in 1.5 ms +2024-06-20 20:13:32.084 +02:00 [INF] Query-Time for Package "once" completed in 1.5 ms +2024-06-20 20:13:32.085 +02:00 [INF] Query-Time for Package "wrappy" completed in 1.6 ms +2024-06-20 20:13:32.087 +02:00 [INF] Query-Time for Package "inflight" completed in 1.5 ms +2024-06-20 20:13:32.088 +02:00 [INF] Query-Time for Package "path-is-absolute" completed in 1.4 ms +2024-06-20 20:13:32.090 +02:00 [INF] Query-Time for Package "glob" completed in 1.6 ms +2024-06-20 20:13:32.092 +02:00 [INF] Query-Time for Package "rimraf" completed in 1.5 ms +2024-06-20 20:13:32.093 +02:00 [INF] Query-Time for Package "flat-cache" completed in 1.7 ms +2024-06-20 20:13:32.095 +02:00 [INF] Query-Time for Package "file-entry-cache" completed in 1.7 ms +2024-06-20 20:13:32.097 +02:00 [INF] Query-Time for Package "yocto-queue" completed in 1.5 ms +2024-06-20 20:13:32.098 +02:00 [INF] Query-Time for Package "p-limit" completed in 1.5 ms +2024-06-20 20:13:32.100 +02:00 [INF] Query-Time for Package "p-locate" completed in 1.7 ms +2024-06-20 20:13:32.102 +02:00 [INF] Query-Time for Package "locate-path" completed in 1.6 ms +2024-06-20 20:13:32.104 +02:00 [INF] Query-Time for Package "glob-parent" completed in 1.6 ms +2024-06-20 20:13:32.106 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.8 ms +2024-06-20 20:13:32.107 +02:00 [INF] Query-Time for Package "imurmurhash" completed in 1.8 ms +2024-06-20 20:13:32.109 +02:00 [INF] Query-Time for Package "is-path-inside" completed in 2.0 ms +2024-06-20 20:13:32.111 +02:00 [INF] Query-Time for Package "argparse" completed in 1.9 ms +2024-06-20 20:13:32.113 +02:00 [INF] Query-Time for Package "json-stable-stringify-without-jsonify" completed in 1.6 ms +2024-06-20 20:13:32.115 +02:00 [INF] Query-Time for Package "prelude-ls" completed in 1.6 ms +2024-06-20 20:13:32.116 +02:00 [INF] Query-Time for Package "type-check" completed in 1.6 ms +2024-06-20 20:13:32.118 +02:00 [INF] Query-Time for Package "levn" completed in 1.8 ms +2024-06-20 20:13:32.120 +02:00 [INF] Query-Time for Package "deep-is" completed in 1.8 ms +2024-06-20 20:13:32.122 +02:00 [INF] Query-Time for Package "fast-levenshtein" completed in 1.8 ms +2024-06-20 20:13:32.124 +02:00 [INF] Query-Time for Package "word-wrap" completed in 2.1 ms +2024-06-20 20:13:32.126 +02:00 [INF] Query-Time for Package "optionator" completed in 1.6 ms +2024-06-20 20:13:32.128 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 1.9 ms +2024-06-20 20:13:32.130 +02:00 [INF] Query-Time for Package "text-table" completed in 1.6 ms +2024-06-20 20:13:32.131 +02:00 [INF] Query-Time for Package "husky" completed in 1.6 ms +2024-06-20 20:13:32.134 +02:00 [INF] Query-Time for Package "chalk" completed in 1.9 ms +2024-06-20 20:13:32.135 +02:00 [INF] Query-Time for Package "commander" completed in 1.7 ms +2024-06-20 20:13:32.137 +02:00 [INF] Query-Time for Package "debug" completed in 1.8 ms +2024-06-20 20:13:32.139 +02:00 [INF] Query-Time for Package "human-signals" completed in 1.7 ms +2024-06-20 20:13:32.141 +02:00 [INF] Query-Time for Package "is-stream" completed in 1.6 ms +2024-06-20 20:13:32.143 +02:00 [INF] Query-Time for Package "path-key" completed in 1.6 ms +2024-06-20 20:13:32.144 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 1.6 ms +2024-06-20 20:13:32.146 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 1.5 ms +2024-06-20 20:13:32.148 +02:00 [INF] Query-Time for Package "onetime" completed in 1.6 ms +2024-06-20 20:13:32.149 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 1.6 ms +2024-06-20 20:13:32.151 +02:00 [INF] Query-Time for Package "execa" completed in 1.7 ms +2024-06-20 20:13:32.153 +02:00 [INF] Query-Time for Package "lilconfig" completed in 1.6 ms +2024-06-20 20:13:32.155 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.6 ms +2024-06-20 20:13:32.156 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 1.6 ms +2024-06-20 20:13:32.158 +02:00 [INF] Query-Time for Package "slice-ansi" completed in 1.5 ms +2024-06-20 20:13:32.160 +02:00 [INF] Query-Time for Package "eastasianwidth" completed in 1.6 ms +2024-06-20 20:13:32.161 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 1.7 ms +2024-06-20 20:13:32.163 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 1.7 ms +2024-06-20 20:13:32.165 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 1.5 ms +2024-06-20 20:13:32.166 +02:00 [INF] Query-Time for Package "string-width" completed in 1.6 ms +2024-06-20 20:13:32.168 +02:00 [INF] Query-Time for Package "cli-truncate" completed in 1.5 ms +2024-06-20 20:13:32.169 +02:00 [INF] Query-Time for Package "colorette" completed in 1.5 ms +2024-06-20 20:13:32.171 +02:00 [INF] Query-Time for Package "enquirer" completed in 1.8 ms +2024-06-20 20:13:32.173 +02:00 [INF] Query-Time for Package "eventemitter3" completed in 1.6 ms +2024-06-20 20:13:32.175 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.5 ms +2024-06-20 20:13:32.176 +02:00 [INF] Query-Time for Package "ansi-escapes" completed in 1.5 ms +2024-06-20 20:13:32.178 +02:00 [INF] Query-Time for Package "restore-cursor" completed in 1.5 ms +2024-06-20 20:13:32.179 +02:00 [INF] Query-Time for Package "cli-cursor" completed in 1.6 ms +2024-06-20 20:13:32.181 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 1.6 ms +2024-06-20 20:13:32.183 +02:00 [INF] Query-Time for Package "log-update" completed in 1.4 ms +2024-06-20 20:13:32.184 +02:00 [INF] Query-Time for Package "rfdc" completed in 1.5 ms +2024-06-20 20:13:32.186 +02:00 [INF] Query-Time for Package "listr2" completed in 1.5 ms +2024-06-20 20:13:32.187 +02:00 [INF] Query-Time for Package "is-number" completed in 1.5 ms +2024-06-20 20:13:32.189 +02:00 [INF] Query-Time for Package "to-regex-range" completed in 1.5 ms +2024-06-20 20:13:32.190 +02:00 [INF] Query-Time for Package "fill-range" completed in 1.6 ms +2024-06-20 20:13:32.192 +02:00 [INF] Query-Time for Package "micromatch" completed in 1.5 ms +2024-06-20 20:13:32.193 +02:00 [INF] Query-Time for Package "pidtree" completed in 1.4 ms +2024-06-20 20:13:32.195 +02:00 [INF] Query-Time for Package "string-argv" completed in 1.4 ms +2024-06-20 20:13:32.197 +02:00 [INF] Query-Time for Package "yaml" completed in 1.6 ms +2024-06-20 20:13:32.198 +02:00 [INF] Query-Time for Package "lint-staged" completed in 1.5 ms +2024-06-20 20:46:36.004 +02:00 [INF] Query-Time for Package "curl-amd" completed in 8.4 ms +2024-06-20 20:46:36.015 +02:00 [INF] Query-Time for Package "dojo" completed in 5.0 ms +2024-06-20 20:46:36.022 +02:00 [INF] Query-Time for Package "jquery" completed in 5.3 ms +2024-06-20 20:46:36.025 +02:00 [INF] Query-Time for Package "platform" completed in 2.7 ms +2024-06-20 20:46:36.028 +02:00 [INF] Query-Time for Package "qunit-extras" completed in 2.7 ms +2024-06-20 20:46:36.031 +02:00 [INF] Query-Time for Package "qunitjs" completed in 2.4 ms +2024-06-20 20:46:36.033 +02:00 [INF] Query-Time for Package "requirejs" completed in 2.1 ms +2024-06-20 20:47:54.501 +02:00 [INF] Query-Time for Package "@commitlint/types" completed in 3.5 ms +2024-06-20 20:47:54.503 +02:00 [INF] Query-Time for Package "chalk" completed in 2.2 ms +2024-06-20 20:47:54.505 +02:00 [INF] Query-Time for Package "@commitlint/format" completed in 2.0 ms +2024-06-20 20:47:54.507 +02:00 [INF] Query-Time for Package "semver" completed in 1.7 ms +2024-06-20 20:47:54.509 +02:00 [INF] Query-Time for Package "@commitlint/is-ignored" completed in 2.0 ms +2024-06-20 20:47:54.511 +02:00 [INF] Query-Time for Package "compare-func" completed in 1.7 ms +2024-06-20 20:47:54.513 +02:00 [INF] Query-Time for Package "conventional-changelog-angular" completed in 1.5 ms +2024-06-20 20:47:54.515 +02:00 [INF] Query-Time for Package "text-extensions" completed in 1.7 ms +2024-06-20 20:47:54.516 +02:00 [INF] Query-Time for Package "is-text-path" completed in 1.7 ms +2024-06-20 20:47:54.518 +02:00 [INF] Query-Time for Package "jsonparse" completed in 1.6 ms +2024-06-20 20:47:54.520 +02:00 [INF] Query-Time for Package "through" completed in 1.6 ms +2024-06-20 20:47:54.522 +02:00 [INF] Query-Time for Package "JSONStream" completed in 1.6 ms +2024-06-20 20:47:54.523 +02:00 [INF] Query-Time for Package "meow" completed in 1.6 ms +2024-06-20 20:47:54.525 +02:00 [INF] Query-Time for Package "split2" completed in 1.7 ms +2024-06-20 20:47:54.527 +02:00 [INF] Query-Time for Package "conventional-commits-parser" completed in 1.8 ms +2024-06-20 20:47:54.529 +02:00 [INF] Query-Time for Package "@commitlint/parse" completed in 1.8 ms +2024-06-20 20:47:54.532 +02:00 [INF] Query-Time for Package "lodash.camelcase" completed in 2.6 ms +2024-06-20 20:47:54.534 +02:00 [INF] Query-Time for Package "lodash.kebabcase" completed in 2.7 ms +2024-06-20 20:47:54.537 +02:00 [INF] Query-Time for Package "lodash.snakecase" completed in 2.9 ms +2024-06-20 20:47:54.541 +02:00 [INF] Query-Time for Package "lodash.startcase" completed in 3.4 ms +2024-06-20 20:47:54.544 +02:00 [INF] Query-Time for Package "lodash.upperfirst" completed in 2.8 ms +2024-06-20 20:47:54.546 +02:00 [INF] Query-Time for Package "@commitlint/ensure" completed in 2.1 ms +2024-06-20 20:47:54.548 +02:00 [INF] Query-Time for Package "@commitlint/message" completed in 2.2 ms +2024-06-20 20:47:54.550 +02:00 [INF] Query-Time for Package "@commitlint/to-lines" completed in 1.7 ms +2024-06-20 20:47:54.552 +02:00 [INF] Query-Time for Package "execa" completed in 1.6 ms +2024-06-20 20:47:54.554 +02:00 [INF] Query-Time for Package "@commitlint/rules" completed in 1.8 ms +2024-06-20 20:47:54.556 +02:00 [INF] Query-Time for Package "@commitlint/lint" completed in 1.8 ms +2024-06-20 20:47:54.558 +02:00 [INF] Query-Time for Package "fast-deep-equal" completed in 2.1 ms +2024-06-20 20:47:54.560 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 1.8 ms +2024-06-20 20:47:54.562 +02:00 [INF] Query-Time for Package "require-from-string" completed in 1.7 ms +2024-06-20 20:47:54.563 +02:00 [INF] Query-Time for Package "uri-js" completed in 1.6 ms +2024-06-20 20:47:54.565 +02:00 [INF] Query-Time for Package "ajv" completed in 1.6 ms +2024-06-20 20:47:54.567 +02:00 [INF] Query-Time for Package "@commitlint/config-validator" completed in 1.6 ms +2024-06-20 20:47:54.568 +02:00 [INF] Query-Time for Package "@commitlint/execute-rule" completed in 1.7 ms +2024-06-20 20:47:54.570 +02:00 [INF] Query-Time for Package "import-fresh" completed in 1.8 ms +2024-06-20 20:47:54.572 +02:00 [INF] Query-Time for Package "lodash.mergewith" completed in 1.6 ms +2024-06-20 20:47:54.574 +02:00 [INF] Query-Time for Package "resolve-from" completed in 1.6 ms +2024-06-20 20:47:54.575 +02:00 [INF] Query-Time for Package "resolve-global" completed in 1.7 ms +2024-06-20 20:47:54.577 +02:00 [INF] Query-Time for Package "@commitlint/resolve-extends" completed in 1.7 ms +2024-06-20 20:47:54.579 +02:00 [INF] Query-Time for Package "@types/node" completed in 1.7 ms +2024-06-20 20:47:54.581 +02:00 [INF] Query-Time for Package "cosmiconfig" completed in 1.6 ms +2024-06-20 20:47:54.583 +02:00 [INF] Query-Time for Package "ts-node" completed in 1.7 ms +2024-06-20 20:47:54.584 +02:00 [INF] Query-Time for Package "typescript" completed in 1.7 ms +2024-06-20 20:47:54.586 +02:00 [INF] Query-Time for Package "cosmiconfig-typescript-loader" completed in 1.9 ms +2024-06-20 20:47:54.588 +02:00 [INF] Query-Time for Package "js-yaml" completed in 1.9 ms +2024-06-20 20:47:54.591 +02:00 [INF] Query-Time for Package "@babel/code-frame" completed in 2.4 ms +2024-06-20 20:47:54.594 +02:00 [INF] Query-Time for Package "is-arrayish" completed in 2.6 ms +2024-06-20 20:47:54.595 +02:00 [INF] Query-Time for Package "error-ex" completed in 1.8 ms +2024-06-20 20:47:54.597 +02:00 [INF] Query-Time for Package "json-parse-even-better-errors" completed in 1.7 ms +2024-06-20 20:47:54.600 +02:00 [INF] Query-Time for Package "lines-and-columns" completed in 2.2 ms +2024-06-20 20:47:54.602 +02:00 [INF] Query-Time for Package "parse-json" completed in 2.2 ms +2024-06-20 20:47:54.604 +02:00 [INF] Query-Time for Package "path-type" completed in 1.7 ms +2024-06-20 20:47:54.606 +02:00 [INF] Query-Time for Package "lodash.isplainobject" completed in 1.8 ms +2024-06-20 20:47:54.608 +02:00 [INF] Query-Time for Package "lodash.merge" completed in 2.2 ms +2024-06-20 20:47:54.610 +02:00 [INF] Query-Time for Package "lodash.uniq" completed in 2.2 ms +2024-06-20 20:47:54.612 +02:00 [INF] Query-Time for Package "@jridgewell/resolve-uri" completed in 1.9 ms +2024-06-20 20:47:54.614 +02:00 [INF] Query-Time for Package "@jridgewell/sourcemap-codec" completed in 1.9 ms +2024-06-20 20:47:54.616 +02:00 [INF] Query-Time for Package "@jridgewell/trace-mapping" completed in 1.7 ms +2024-06-20 20:47:54.618 +02:00 [INF] Query-Time for Package "@cspotcode/source-map-support" completed in 1.7 ms +2024-06-20 20:47:54.620 +02:00 [INF] Query-Time for Package "@swc/core" completed in 1.8 ms +2024-06-20 20:47:54.622 +02:00 [INF] Query-Time for Package "@swc/wasm" completed in 1.8 ms +2024-06-20 20:47:54.624 +02:00 [INF] Query-Time for Package "@tsconfig/node10" completed in 1.9 ms +2024-06-20 20:47:54.626 +02:00 [INF] Query-Time for Package "@tsconfig/node12" completed in 1.8 ms +2024-06-20 20:47:54.628 +02:00 [INF] Query-Time for Package "@tsconfig/node14" completed in 1.8 ms +2024-06-20 20:47:54.630 +02:00 [INF] Query-Time for Package "@tsconfig/node16" completed in 1.8 ms +2024-06-20 20:47:54.632 +02:00 [INF] Query-Time for Package "acorn-walk" completed in 1.8 ms +2024-06-20 20:47:54.633 +02:00 [INF] Query-Time for Package "acorn" completed in 1.8 ms +2024-06-20 20:47:54.635 +02:00 [INF] Query-Time for Package "arg" completed in 1.8 ms +2024-06-20 20:47:54.637 +02:00 [INF] Query-Time for Package "create-require" completed in 2.0 ms +2024-06-20 20:47:54.639 +02:00 [INF] Query-Time for Package "diff" completed in 1.9 ms +2024-06-20 20:47:54.641 +02:00 [INF] Query-Time for Package "make-error" completed in 1.7 ms +2024-06-20 20:47:54.643 +02:00 [INF] Query-Time for Package "v8-compile-cache-lib" completed in 1.7 ms +2024-06-20 20:47:54.645 +02:00 [INF] Query-Time for Package "yn" completed in 1.8 ms +2024-06-20 20:47:54.647 +02:00 [INF] Query-Time for Package "@commitlint/load" completed in 1.7 ms +2024-06-20 20:47:54.649 +02:00 [INF] Query-Time for Package "find-up" completed in 1.8 ms +2024-06-20 20:47:54.651 +02:00 [INF] Query-Time for Package "@commitlint/top-level" completed in 1.9 ms +2024-06-20 20:47:54.653 +02:00 [INF] Query-Time for Package "graceful-fs" completed in 2.3 ms +2024-06-20 20:47:54.656 +02:00 [INF] Query-Time for Package "universalify" completed in 2.6 ms +2024-06-20 20:47:54.659 +02:00 [INF] Query-Time for Package "jsonfile" completed in 2.6 ms +2024-06-20 20:47:54.661 +02:00 [INF] Query-Time for Package "fs-extra" completed in 2.5 ms +2024-06-20 20:47:54.664 +02:00 [INF] Query-Time for Package "dargs" completed in 2.7 ms +2024-06-20 20:47:54.667 +02:00 [INF] Query-Time for Package "lodash" completed in 2.7 ms +2024-06-20 20:47:54.670 +02:00 [INF] Query-Time for Package "@types/minimist" completed in 2.7 ms +2024-06-20 20:47:54.672 +02:00 [INF] Query-Time for Package "camelcase" completed in 2.0 ms +2024-06-20 20:47:54.674 +02:00 [INF] Query-Time for Package "map-obj" completed in 1.7 ms +2024-06-20 20:47:54.676 +02:00 [INF] Query-Time for Package "quick-lru" completed in 1.6 ms +2024-06-20 20:47:54.678 +02:00 [INF] Query-Time for Package "camelcase-keys" completed in 2.0 ms +2024-06-20 20:47:54.680 +02:00 [INF] Query-Time for Package "decamelize" completed in 1.9 ms +2024-06-20 20:47:54.682 +02:00 [INF] Query-Time for Package "map-obj" completed in 1.7 ms +2024-06-20 20:47:54.683 +02:00 [INF] Query-Time for Package "decamelize-keys" completed in 1.7 ms +2024-06-20 20:47:54.685 +02:00 [INF] Query-Time for Package "hard-rejection" completed in 1.8 ms +2024-06-20 20:47:54.687 +02:00 [INF] Query-Time for Package "arrify" completed in 1.8 ms +2024-06-20 20:47:54.689 +02:00 [INF] Query-Time for Package "is-plain-obj" completed in 1.8 ms +2024-06-20 20:47:54.691 +02:00 [INF] Query-Time for Package "kind-of" completed in 2.0 ms +2024-06-20 20:47:54.693 +02:00 [INF] Query-Time for Package "minimist-options" completed in 2.1 ms +2024-06-20 20:47:54.695 +02:00 [INF] Query-Time for Package "lru-cache" completed in 1.6 ms +2024-06-20 20:47:54.697 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 1.9 ms +2024-06-20 20:47:54.700 +02:00 [INF] Query-Time for Package "is-core-module" completed in 2.4 ms +2024-06-20 20:47:54.702 +02:00 [INF] Query-Time for Package "spdx-expression-parse" completed in 1.9 ms +2024-06-20 20:47:54.704 +02:00 [INF] Query-Time for Package "spdx-license-ids" completed in 2.0 ms +2024-06-20 20:47:54.706 +02:00 [INF] Query-Time for Package "spdx-correct" completed in 1.7 ms +2024-06-20 20:47:54.707 +02:00 [INF] Query-Time for Package "spdx-exceptions" completed in 1.7 ms +2024-06-20 20:47:54.709 +02:00 [INF] Query-Time for Package "validate-npm-package-license" completed in 1.8 ms +2024-06-20 20:47:54.711 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 2.0 ms +2024-06-20 20:47:54.714 +02:00 [INF] Query-Time for Package "p-try" completed in 2.0 ms +2024-06-20 20:47:54.716 +02:00 [INF] Query-Time for Package "p-limit" completed in 2.2 ms +2024-06-20 20:47:54.718 +02:00 [INF] Query-Time for Package "p-locate" completed in 1.9 ms +2024-06-20 20:47:54.720 +02:00 [INF] Query-Time for Package "locate-path" completed in 1.9 ms +2024-06-20 20:47:54.722 +02:00 [INF] Query-Time for Package "path-exists" completed in 1.8 ms +2024-06-20 20:47:54.724 +02:00 [INF] Query-Time for Package "find-up" completed in 1.8 ms +2024-06-20 20:47:54.726 +02:00 [INF] Query-Time for Package "@types/normalize-package-data" completed in 1.7 ms +2024-06-20 20:47:54.727 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 1.6 ms +2024-06-20 20:47:54.729 +02:00 [INF] Query-Time for Package "resolve" completed in 1.9 ms +2024-06-20 20:47:54.731 +02:00 [INF] Query-Time for Package "semver" completed in 1.8 ms +2024-06-20 20:47:54.733 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 1.6 ms +2024-06-20 20:47:54.735 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.6 ms +2024-06-20 20:47:54.737 +02:00 [INF] Query-Time for Package "read-pkg" completed in 1.6 ms +2024-06-20 20:47:54.738 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.9 ms +2024-06-20 20:47:54.740 +02:00 [INF] Query-Time for Package "read-pkg-up" completed in 1.9 ms +2024-06-20 20:47:54.742 +02:00 [INF] Query-Time for Package "indent-string" completed in 1.7 ms +2024-06-20 20:47:54.744 +02:00 [INF] Query-Time for Package "min-indent" completed in 1.8 ms +2024-06-20 20:47:54.747 +02:00 [INF] Query-Time for Package "strip-indent" completed in 2.6 ms +2024-06-20 20:47:54.750 +02:00 [INF] Query-Time for Package "redent" completed in 3.2 ms +2024-06-20 20:47:54.753 +02:00 [INF] Query-Time for Package "trim-newlines" completed in 3.1 ms +2024-06-20 20:47:54.757 +02:00 [INF] Query-Time for Package "type-fest" completed in 3.1 ms +2024-06-20 20:47:54.760 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 2.9 ms +2024-06-20 20:47:54.762 +02:00 [INF] Query-Time for Package "inherits" completed in 2.2 ms +2024-06-20 20:47:54.765 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 2.3 ms +2024-06-20 20:47:54.767 +02:00 [INF] Query-Time for Package "string_decoder" completed in 1.9 ms +2024-06-20 20:47:54.769 +02:00 [INF] Query-Time for Package "util-deprecate" completed in 1.8 ms +2024-06-20 20:47:54.770 +02:00 [INF] Query-Time for Package "readable-stream" completed in 1.8 ms +2024-06-20 20:47:54.772 +02:00 [INF] Query-Time for Package "through2" completed in 1.6 ms +2024-06-20 20:47:54.774 +02:00 [INF] Query-Time for Package "git-raw-commits" completed in 1.6 ms +2024-06-20 20:47:54.776 +02:00 [INF] Query-Time for Package "minimist" completed in 2.2 ms +2024-06-20 20:47:54.778 +02:00 [INF] Query-Time for Package "@commitlint/read" completed in 1.8 ms +2024-06-20 20:47:54.780 +02:00 [INF] Query-Time for Package "cross-spawn" completed in 1.8 ms +2024-06-20 20:47:54.782 +02:00 [INF] Query-Time for Package "get-stream" completed in 1.7 ms +2024-06-20 20:47:54.783 +02:00 [INF] Query-Time for Package "human-signals" completed in 1.7 ms +2024-06-20 20:47:54.785 +02:00 [INF] Query-Time for Package "is-stream" completed in 1.5 ms +2024-06-20 20:47:54.787 +02:00 [INF] Query-Time for Package "merge-stream" completed in 1.6 ms +2024-06-20 20:47:54.789 +02:00 [INF] Query-Time for Package "path-key" completed in 1.7 ms +2024-06-20 20:47:54.791 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 1.9 ms +2024-06-20 20:47:54.793 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 2.0 ms +2024-06-20 20:47:54.795 +02:00 [INF] Query-Time for Package "onetime" completed in 1.8 ms +2024-06-20 20:47:54.796 +02:00 [INF] Query-Time for Package "signal-exit" completed in 1.6 ms +2024-06-20 20:47:54.798 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 1.6 ms +2024-06-20 20:47:54.800 +02:00 [INF] Query-Time for Package "lodash.isfunction" completed in 1.6 ms +2024-06-20 20:47:54.802 +02:00 [INF] Query-Time for Package "ini" completed in 1.7 ms +2024-06-20 20:47:54.803 +02:00 [INF] Query-Time for Package "global-dirs" completed in 1.6 ms +2024-06-20 20:47:54.805 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 1.6 ms +2024-06-20 20:47:54.807 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 2.0 ms +2024-06-20 20:47:54.809 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 1.7 ms +2024-06-20 20:47:54.811 +02:00 [INF] Query-Time for Package "string-width" completed in 1.7 ms +2024-06-20 20:47:54.812 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.6 ms +2024-06-20 20:47:54.814 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 1.5 ms +2024-06-20 20:47:54.816 +02:00 [INF] Query-Time for Package "cliui" completed in 1.5 ms +2024-06-20 20:47:54.817 +02:00 [INF] Query-Time for Package "escalade" completed in 1.7 ms +2024-06-20 20:47:54.819 +02:00 [INF] Query-Time for Package "get-caller-file" completed in 2.0 ms +2024-06-20 20:47:54.821 +02:00 [INF] Query-Time for Package "require-directory" completed in 2.0 ms +2024-06-20 20:47:54.823 +02:00 [INF] Query-Time for Package "y18n" completed in 1.9 ms +2024-06-20 20:47:54.829 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 5.4 ms +2024-06-20 20:47:54.832 +02:00 [INF] Query-Time for Package "yargs" completed in 2.5 ms +2024-06-20 20:47:54.833 +02:00 [INF] Query-Time for Package "@commitlint/cli" completed in 1.7 ms +2024-06-20 20:47:54.835 +02:00 [INF] Query-Time for Package "array-ify" completed in 1.6 ms +2024-06-20 20:47:54.837 +02:00 [INF] Query-Time for Package "is-obj" completed in 1.8 ms +2024-06-20 20:47:54.839 +02:00 [INF] Query-Time for Package "dot-prop" completed in 1.9 ms +2024-06-20 20:47:54.841 +02:00 [INF] Query-Time for Package "conventional-changelog-conventionalcommits" completed in 1.7 ms +2024-06-20 20:47:54.843 +02:00 [INF] Query-Time for Package "@commitlint/config-conventional" completed in 1.9 ms +2024-06-20 20:47:54.845 +02:00 [INF] Query-Time for Package "@types/estree" completed in 1.8 ms +2024-06-20 20:47:54.847 +02:00 [INF] Query-Time for Package "@types/json-schema" completed in 1.9 ms +2024-06-20 20:47:54.849 +02:00 [INF] Query-Time for Package "@types/eslint" completed in 1.7 ms +2024-06-20 20:47:54.850 +02:00 [INF] Query-Time for Package "jest-get-type" completed in 1.8 ms +2024-06-20 20:47:54.852 +02:00 [INF] Query-Time for Package "@jest/expect-utils" completed in 1.6 ms +2024-06-20 20:47:54.854 +02:00 [INF] Query-Time for Package "diff-sequences" completed in 1.6 ms +2024-06-20 20:47:54.856 +02:00 [INF] Query-Time for Package "pretty-format" completed in 1.6 ms +2024-06-20 20:47:54.857 +02:00 [INF] Query-Time for Package "jest-diff" completed in 1.5 ms +2024-06-20 20:47:54.859 +02:00 [INF] Query-Time for Package "jest-matcher-utils" completed in 1.6 ms +2024-06-20 20:47:54.861 +02:00 [INF] Query-Time for Package "@babel/helper-validator-identifier" completed in 1.8 ms +2024-06-20 20:47:54.862 +02:00 [INF] Query-Time for Package "color-name" completed in 1.6 ms +2024-06-20 20:47:54.864 +02:00 [INF] Query-Time for Package "color-convert" completed in 1.7 ms +2024-06-20 20:47:54.866 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.6 ms +2024-06-20 20:47:54.868 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.2 ms +2024-06-20 20:47:54.870 +02:00 [INF] Query-Time for Package "has-flag" completed in 2.2 ms +2024-06-20 20:47:54.872 +02:00 [INF] Query-Time for Package "supports-color" completed in 1.7 ms +2024-06-20 20:47:54.874 +02:00 [INF] Query-Time for Package "chalk" completed in 1.7 ms +2024-06-20 20:47:54.875 +02:00 [INF] Query-Time for Package "js-tokens" completed in 1.5 ms +2024-06-20 20:47:54.877 +02:00 [INF] Query-Time for Package "@babel/highlight" completed in 1.5 ms +2024-06-20 20:47:54.879 +02:00 [INF] Query-Time for Package "@jest/schemas" completed in 1.5 ms +2024-06-20 20:47:54.880 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-coverage" completed in 1.6 ms +2024-06-20 20:47:54.882 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-report" completed in 1.7 ms +2024-06-20 20:47:54.884 +02:00 [INF] Query-Time for Package "@types/istanbul-reports" completed in 1.7 ms +2024-06-20 20:47:54.886 +02:00 [INF] Query-Time for Package "@types/yargs-parser" completed in 1.6 ms +2024-06-20 20:47:54.888 +02:00 [INF] Query-Time for Package "@types/yargs" completed in 1.8 ms +2024-06-20 20:47:54.889 +02:00 [INF] Query-Time for Package "@jest/types" completed in 1.5 ms +2024-06-20 20:47:54.891 +02:00 [INF] Query-Time for Package "@types/stack-utils" completed in 1.6 ms +2024-06-20 20:47:54.892 +02:00 [INF] Query-Time for Package "micromatch" completed in 1.6 ms +2024-06-20 20:47:54.894 +02:00 [INF] Query-Time for Package "slash" completed in 1.7 ms +2024-06-20 20:47:54.896 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 1.6 ms +2024-06-20 20:47:54.898 +02:00 [INF] Query-Time for Package "stack-utils" completed in 1.9 ms +2024-06-20 20:47:54.900 +02:00 [INF] Query-Time for Package "jest-message-util" completed in 1.8 ms +2024-06-20 20:47:54.902 +02:00 [INF] Query-Time for Package "ci-info" completed in 1.6 ms +2024-06-20 20:47:54.903 +02:00 [INF] Query-Time for Package "picomatch" completed in 1.7 ms +2024-06-20 20:47:54.905 +02:00 [INF] Query-Time for Package "jest-util" completed in 1.5 ms +2024-06-20 20:47:54.907 +02:00 [INF] Query-Time for Package "expect" completed in 1.5 ms +2024-06-20 20:47:54.908 +02:00 [INF] Query-Time for Package "@sinclair/typebox" completed in 1.5 ms +2024-06-20 20:47:54.910 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.6 ms +2024-06-20 20:47:54.912 +02:00 [INF] Query-Time for Package "react-is" completed in 1.7 ms +2024-06-20 20:47:54.914 +02:00 [INF] Query-Time for Package "@types/jest" completed in 1.8 ms +2024-06-20 20:47:54.915 +02:00 [INF] Query-Time for Package "@eslint-community/regexpp" completed in 1.8 ms +2024-06-20 20:47:54.917 +02:00 [INF] Query-Time for Package "@typescript-eslint/parser" completed in 1.7 ms +2024-06-20 20:47:54.919 +02:00 [INF] Query-Time for Package "@typescript-eslint/types" completed in 1.6 ms +2024-06-20 20:47:54.920 +02:00 [INF] Query-Time for Package "@typescript-eslint/visitor-keys" completed in 1.5 ms +2024-06-20 20:47:54.922 +02:00 [INF] Query-Time for Package "@typescript-eslint/scope-manager" completed in 1.6 ms +2024-06-20 20:47:54.924 +02:00 [INF] Query-Time for Package "@typescript-eslint/typescript-estree" completed in 1.6 ms +2024-06-20 20:47:54.926 +02:00 [INF] Query-Time for Package "@typescript-eslint/utils" completed in 1.6 ms +2024-06-20 20:47:54.927 +02:00 [INF] Query-Time for Package "debug" completed in 1.6 ms +2024-06-20 20:47:54.930 +02:00 [INF] Query-Time for Package "eslint" completed in 2.0 ms +2024-06-20 20:47:54.931 +02:00 [INF] Query-Time for Package "ts-api-utils" completed in 1.8 ms +2024-06-20 20:47:54.933 +02:00 [INF] Query-Time for Package "@typescript-eslint/type-utils" completed in 1.5 ms +2024-06-20 20:47:54.935 +02:00 [INF] Query-Time for Package "@eslint-community/eslint-utils" completed in 1.6 ms +2024-06-20 20:47:54.936 +02:00 [INF] Query-Time for Package "@types/semver" completed in 1.5 ms +2024-06-20 20:47:54.938 +02:00 [INF] Query-Time for Package "eslint-visitor-keys" completed in 1.7 ms +2024-06-20 20:47:54.940 +02:00 [INF] Query-Time for Package "ms" completed in 1.9 ms +2024-06-20 20:47:54.942 +02:00 [INF] Query-Time for Package "graphemer" completed in 1.8 ms +2024-06-20 20:47:54.944 +02:00 [INF] Query-Time for Package "ignore" completed in 1.9 ms +2024-06-20 20:47:54.946 +02:00 [INF] Query-Time for Package "natural-compare" completed in 1.7 ms +2024-06-20 20:47:54.948 +02:00 [INF] Query-Time for Package "yallist" completed in 1.6 ms +2024-06-20 20:47:54.949 +02:00 [INF] Query-Time for Package "@typescript-eslint/eslint-plugin" completed in 1.6 ms +2024-06-20 20:47:54.951 +02:00 [INF] Query-Time for Package "array-union" completed in 1.6 ms +2024-06-20 20:47:54.953 +02:00 [INF] Query-Time for Package "dir-glob" completed in 1.6 ms +2024-06-20 20:47:54.954 +02:00 [INF] Query-Time for Package "@nodelib/fs.stat" completed in 1.6 ms +2024-06-20 20:47:54.956 +02:00 [INF] Query-Time for Package "@nodelib/fs.walk" completed in 1.7 ms +2024-06-20 20:47:54.958 +02:00 [INF] Query-Time for Package "is-glob" completed in 1.6 ms +2024-06-20 20:47:54.961 +02:00 [INF] Query-Time for Package "glob-parent" completed in 2.8 ms +2024-06-20 20:47:54.964 +02:00 [INF] Query-Time for Package "merge2" completed in 2.6 ms +2024-06-20 20:47:54.966 +02:00 [INF] Query-Time for Package "fast-glob" completed in 2.6 ms +2024-06-20 20:47:54.968 +02:00 [INF] Query-Time for Package "globby" completed in 2.0 ms +2024-06-20 20:47:54.970 +02:00 [INF] Query-Time for Package "confusing-browser-globals" completed in 1.9 ms +2024-06-20 20:47:54.972 +02:00 [INF] Query-Time for Package "eslint-plugin-import" completed in 1.7 ms +2024-06-20 20:47:54.974 +02:00 [INF] Query-Time for Package "function-bind" completed in 1.8 ms +2024-06-20 20:47:54.976 +02:00 [INF] Query-Time for Package "get-intrinsic" completed in 2.1 ms +2024-06-20 20:47:54.978 +02:00 [INF] Query-Time for Package "call-bind" completed in 2.0 ms +2024-06-20 20:47:54.980 +02:00 [INF] Query-Time for Package "gopd" completed in 1.9 ms +2024-06-20 20:47:54.983 +02:00 [INF] Query-Time for Package "has-property-descriptors" completed in 2.5 ms +2024-06-20 20:47:54.985 +02:00 [INF] Query-Time for Package "define-data-property" completed in 2.2 ms +2024-06-20 20:47:54.987 +02:00 [INF] Query-Time for Package "object-keys" completed in 2.0 ms +2024-06-20 20:47:54.990 +02:00 [INF] Query-Time for Package "define-properties" completed in 2.4 ms +2024-06-20 20:47:54.992 +02:00 [INF] Query-Time for Package "has-symbols" completed in 2.1 ms +2024-06-20 20:47:54.995 +02:00 [INF] Query-Time for Package "object.assign" completed in 2.5 ms +2024-06-20 20:47:54.997 +02:00 [INF] Query-Time for Package "is-array-buffer" completed in 1.7 ms +2024-06-20 20:47:54.999 +02:00 [INF] Query-Time for Package "array-buffer-byte-length" completed in 1.7 ms +2024-06-20 20:47:55.000 +02:00 [INF] Query-Time for Package "es-abstract" completed in 1.8 ms +2024-06-20 20:47:55.002 +02:00 [INF] Query-Time for Package "is-shared-array-buffer" completed in 1.7 ms +2024-06-20 20:47:55.004 +02:00 [INF] Query-Time for Package "arraybuffer.prototype.slice" completed in 1.6 ms +2024-06-20 20:47:55.006 +02:00 [INF] Query-Time for Package "available-typed-arrays" completed in 2.4 ms +2024-06-20 20:47:55.008 +02:00 [INF] Query-Time for Package "has-tostringtag" completed in 1.8 ms +2024-06-20 20:47:55.010 +02:00 [INF] Query-Time for Package "has" completed in 1.6 ms +2024-06-20 20:47:55.012 +02:00 [INF] Query-Time for Package "es-set-tostringtag" completed in 1.7 ms +2024-06-20 20:47:55.014 +02:00 [INF] Query-Time for Package "is-callable" completed in 1.6 ms +2024-06-20 20:47:55.015 +02:00 [INF] Query-Time for Package "is-date-object" completed in 1.5 ms +2024-06-20 20:47:55.017 +02:00 [INF] Query-Time for Package "is-symbol" completed in 1.5 ms +2024-06-20 20:47:55.019 +02:00 [INF] Query-Time for Package "es-to-primitive" completed in 1.9 ms +2024-06-20 20:47:55.021 +02:00 [INF] Query-Time for Package "functions-have-names" completed in 1.8 ms +2024-06-20 20:47:55.023 +02:00 [INF] Query-Time for Package "function.prototype.name" completed in 2.0 ms +2024-06-20 20:47:55.025 +02:00 [INF] Query-Time for Package "get-symbol-description" completed in 1.9 ms +2024-06-20 20:47:55.026 +02:00 [INF] Query-Time for Package "globalthis" completed in 1.6 ms +2024-06-20 20:47:55.028 +02:00 [INF] Query-Time for Package "has-proto" completed in 1.6 ms +2024-06-20 20:47:55.030 +02:00 [INF] Query-Time for Package "object-inspect" completed in 1.6 ms +2024-06-20 20:47:55.031 +02:00 [INF] Query-Time for Package "side-channel" completed in 1.6 ms +2024-06-20 20:47:55.033 +02:00 [INF] Query-Time for Package "internal-slot" completed in 1.6 ms +2024-06-20 20:47:55.035 +02:00 [INF] Query-Time for Package "is-typed-array" completed in 1.7 ms +2024-06-20 20:47:55.037 +02:00 [INF] Query-Time for Package "is-negative-zero" completed in 1.8 ms +2024-06-20 20:47:55.039 +02:00 [INF] Query-Time for Package "is-regex" completed in 2.0 ms +2024-06-20 20:47:55.041 +02:00 [INF] Query-Time for Package "is-string" completed in 1.6 ms +2024-06-20 20:47:55.042 +02:00 [INF] Query-Time for Package "which-typed-array" completed in 1.5 ms +2024-06-20 20:47:55.044 +02:00 [INF] Query-Time for Package "is-weakref" completed in 1.6 ms +2024-06-20 20:47:55.046 +02:00 [INF] Query-Time for Package "set-function-name" completed in 1.6 ms +2024-06-20 20:47:55.047 +02:00 [INF] Query-Time for Package "regexp.prototype.flags" completed in 1.6 ms +2024-06-20 20:47:55.049 +02:00 [INF] Query-Time for Package "isarray" completed in 1.6 ms +2024-06-20 20:47:55.051 +02:00 [INF] Query-Time for Package "safe-array-concat" completed in 2.0 ms +2024-06-20 20:47:55.053 +02:00 [INF] Query-Time for Package "safe-regex-test" completed in 1.8 ms +2024-06-20 20:47:55.055 +02:00 [INF] Query-Time for Package "string.prototype.trim" completed in 1.6 ms +2024-06-20 20:47:55.056 +02:00 [INF] Query-Time for Package "string.prototype.trimend" completed in 1.6 ms +2024-06-20 20:47:55.058 +02:00 [INF] Query-Time for Package "string.prototype.trimstart" completed in 1.8 ms +2024-06-20 20:47:55.060 +02:00 [INF] Query-Time for Package "typed-array-buffer" completed in 1.6 ms +2024-06-20 20:47:55.061 +02:00 [INF] Query-Time for Package "for-each" completed in 1.5 ms +2024-06-20 20:47:55.063 +02:00 [INF] Query-Time for Package "typed-array-byte-length" completed in 1.5 ms +2024-06-20 20:47:55.065 +02:00 [INF] Query-Time for Package "typed-array-byte-offset" completed in 1.6 ms +2024-06-20 20:47:55.067 +02:00 [INF] Query-Time for Package "typed-array-length" completed in 1.9 ms +2024-06-20 20:47:55.069 +02:00 [INF] Query-Time for Package "has-bigints" completed in 1.8 ms +2024-06-20 20:47:55.070 +02:00 [INF] Query-Time for Package "is-bigint" completed in 1.8 ms +2024-06-20 20:47:55.072 +02:00 [INF] Query-Time for Package "is-boolean-object" completed in 1.8 ms +2024-06-20 20:47:55.074 +02:00 [INF] Query-Time for Package "is-number-object" completed in 1.7 ms +2024-06-20 20:47:55.076 +02:00 [INF] Query-Time for Package "which-boxed-primitive" completed in 1.6 ms +2024-06-20 20:47:55.077 +02:00 [INF] Query-Time for Package "unbox-primitive" completed in 1.6 ms +2024-06-20 20:47:55.079 +02:00 [INF] Query-Time for Package "object.entries" completed in 1.6 ms +2024-06-20 20:47:55.081 +02:00 [INF] Query-Time for Package "semver" completed in 1.9 ms +2024-06-20 20:47:55.083 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-base" completed in 1.7 ms +2024-06-20 20:47:55.085 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-typescript" completed in 1.7 ms +2024-06-20 20:47:55.087 +02:00 [INF] Query-Time for Package "eslint-config-prettier" completed in 1.6 ms +2024-06-20 20:47:55.088 +02:00 [INF] Query-Time for Package "array-includes" completed in 1.6 ms +2024-06-20 20:47:55.090 +02:00 [INF] Query-Time for Package "es-shim-unscopables" completed in 1.6 ms +2024-06-20 20:47:55.092 +02:00 [INF] Query-Time for Package "array.prototype.findlastindex" completed in 1.8 ms +2024-06-20 20:47:55.094 +02:00 [INF] Query-Time for Package "array.prototype.flat" completed in 1.6 ms +2024-06-20 20:47:55.095 +02:00 [INF] Query-Time for Package "array.prototype.flatmap" completed in 1.7 ms +2024-06-20 20:47:55.097 +02:00 [INF] Query-Time for Package "debug" completed in 2.0 ms +2024-06-20 20:47:55.099 +02:00 [INF] Query-Time for Package "esutils" completed in 1.7 ms +2024-06-20 20:47:55.101 +02:00 [INF] Query-Time for Package "doctrine" completed in 1.7 ms +2024-06-20 20:47:55.103 +02:00 [INF] Query-Time for Package "path-parse" completed in 1.8 ms +2024-06-20 20:47:55.105 +02:00 [INF] Query-Time for Package "supports-preserve-symlinks-flag" completed in 1.8 ms +2024-06-20 20:47:55.107 +02:00 [INF] Query-Time for Package "eslint-import-resolver-node" completed in 1.5 ms +2024-06-20 20:47:55.108 +02:00 [INF] Query-Time for Package "eslint-module-utils" completed in 1.7 ms +2024-06-20 20:47:55.110 +02:00 [INF] Query-Time for Package "is-extglob" completed in 1.7 ms +2024-06-20 20:47:55.112 +02:00 [INF] Query-Time for Package "balanced-match" completed in 1.7 ms +2024-06-20 20:47:55.114 +02:00 [INF] Query-Time for Package "concat-map" completed in 1.5 ms +2024-06-20 20:47:55.115 +02:00 [INF] Query-Time for Package "brace-expansion" completed in 1.5 ms +2024-06-20 20:47:55.117 +02:00 [INF] Query-Time for Package "minimatch" completed in 1.6 ms +2024-06-20 20:47:55.119 +02:00 [INF] Query-Time for Package "object.fromentries" completed in 1.7 ms +2024-06-20 20:47:55.120 +02:00 [INF] Query-Time for Package "object.groupby" completed in 1.5 ms +2024-06-20 20:47:55.122 +02:00 [INF] Query-Time for Package "object.values" completed in 1.5 ms +2024-06-20 20:47:55.124 +02:00 [INF] Query-Time for Package "@types/json5" completed in 1.8 ms +2024-06-20 20:47:55.126 +02:00 [INF] Query-Time for Package "json5" completed in 1.8 ms +2024-06-20 20:47:55.128 +02:00 [INF] Query-Time for Package "strip-bom" completed in 1.7 ms +2024-06-20 20:47:55.129 +02:00 [INF] Query-Time for Package "tsconfig-paths" completed in 1.6 ms +2024-06-20 20:47:55.131 +02:00 [INF] Query-Time for Package "fast-diff" completed in 1.6 ms +2024-06-20 20:47:55.133 +02:00 [INF] Query-Time for Package "prettier-linter-helpers" completed in 1.5 ms +2024-06-20 20:47:55.134 +02:00 [INF] Query-Time for Package "prettier" completed in 1.6 ms +2024-06-20 20:47:55.136 +02:00 [INF] Query-Time for Package "run-applescript" completed in 1.6 ms +2024-06-20 20:47:55.138 +02:00 [INF] Query-Time for Package "bundle-name" completed in 1.6 ms +2024-06-20 20:47:55.140 +02:00 [INF] Query-Time for Package "big-integer" completed in 1.8 ms +2024-06-20 20:47:55.141 +02:00 [INF] Query-Time for Package "bplist-parser" completed in 1.7 ms +2024-06-20 20:47:55.143 +02:00 [INF] Query-Time for Package "untildify" completed in 1.9 ms +2024-06-20 20:47:55.145 +02:00 [INF] Query-Time for Package "default-browser-id" completed in 1.7 ms +2024-06-20 20:47:55.147 +02:00 [INF] Query-Time for Package "human-signals" completed in 1.8 ms +2024-06-20 20:47:55.149 +02:00 [INF] Query-Time for Package "is-stream" completed in 1.9 ms +2024-06-20 20:47:55.151 +02:00 [INF] Query-Time for Package "path-key" completed in 1.7 ms +2024-06-20 20:47:55.153 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 1.7 ms +2024-06-20 20:47:55.155 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 1.7 ms +2024-06-20 20:47:55.156 +02:00 [INF] Query-Time for Package "onetime" completed in 1.7 ms +2024-06-20 20:47:55.159 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 2.2 ms +2024-06-20 20:47:55.161 +02:00 [INF] Query-Time for Package "execa" completed in 1.8 ms +2024-06-20 20:47:55.162 +02:00 [INF] Query-Time for Package "titleize" completed in 1.7 ms +2024-06-20 20:47:55.164 +02:00 [INF] Query-Time for Package "default-browser" completed in 1.6 ms +2024-06-20 20:47:55.166 +02:00 [INF] Query-Time for Package "define-lazy-prop" completed in 1.8 ms +2024-06-20 20:47:55.168 +02:00 [INF] Query-Time for Package "is-docker" completed in 1.6 ms +2024-06-20 20:47:55.169 +02:00 [INF] Query-Time for Package "is-inside-container" completed in 1.6 ms +2024-06-20 20:47:55.171 +02:00 [INF] Query-Time for Package "is-docker" completed in 1.6 ms +2024-06-20 20:47:55.173 +02:00 [INF] Query-Time for Package "is-wsl" completed in 2.0 ms +2024-06-20 20:47:55.175 +02:00 [INF] Query-Time for Package "open" completed in 2.2 ms +2024-06-20 20:47:55.178 +02:00 [INF] Query-Time for Package "picocolors" completed in 2.7 ms +2024-06-20 20:47:55.181 +02:00 [INF] Query-Time for Package "tslib" completed in 2.7 ms +2024-06-20 20:47:55.184 +02:00 [INF] Query-Time for Package "@pkgr/utils" completed in 2.7 ms +2024-06-20 20:47:55.186 +02:00 [INF] Query-Time for Package "synckit" completed in 1.8 ms +2024-06-20 20:47:55.188 +02:00 [INF] Query-Time for Package "eslint-plugin-prettier" completed in 1.8 ms +2024-06-20 20:47:55.190 +02:00 [INF] Query-Time for Package "fast-json-stable-stringify" completed in 1.8 ms +2024-06-20 20:47:55.191 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 1.7 ms +2024-06-20 20:47:55.193 +02:00 [INF] Query-Time for Package "ajv" completed in 1.6 ms +2024-06-20 20:47:55.195 +02:00 [INF] Query-Time for Package "espree" completed in 1.7 ms +2024-06-20 20:47:55.197 +02:00 [INF] Query-Time for Package "globals" completed in 1.6 ms +2024-06-20 20:47:55.198 +02:00 [INF] Query-Time for Package "callsites" completed in 1.6 ms +2024-06-20 20:47:55.200 +02:00 [INF] Query-Time for Package "parent-module" completed in 1.7 ms +2024-06-20 20:47:55.202 +02:00 [INF] Query-Time for Package "resolve-from" completed in 1.8 ms +2024-06-20 20:47:55.204 +02:00 [INF] Query-Time for Package "strip-json-comments" completed in 1.7 ms +2024-06-20 20:47:55.206 +02:00 [INF] Query-Time for Package "@eslint/eslintrc" completed in 1.8 ms +2024-06-20 20:47:55.207 +02:00 [INF] Query-Time for Package "@eslint/js" completed in 1.6 ms +2024-06-20 20:47:55.209 +02:00 [INF] Query-Time for Package "@humanwhocodes/object-schema" completed in 1.6 ms +2024-06-20 20:47:55.211 +02:00 [INF] Query-Time for Package "@humanwhocodes/config-array" completed in 1.6 ms +2024-06-20 20:47:55.212 +02:00 [INF] Query-Time for Package "@humanwhocodes/module-importer" completed in 1.7 ms +2024-06-20 20:47:55.214 +02:00 [INF] Query-Time for Package "queue-microtask" completed in 1.6 ms +2024-06-20 20:47:55.216 +02:00 [INF] Query-Time for Package "run-parallel" completed in 1.5 ms +2024-06-20 20:47:55.218 +02:00 [INF] Query-Time for Package "@nodelib/fs.scandir" completed in 1.7 ms +2024-06-20 20:47:55.219 +02:00 [INF] Query-Time for Package "reusify" completed in 1.7 ms +2024-06-20 20:47:55.221 +02:00 [INF] Query-Time for Package "fastq" completed in 1.7 ms +2024-06-20 20:47:55.223 +02:00 [INF] Query-Time for Package "punycode" completed in 1.5 ms +2024-06-20 20:47:55.225 +02:00 [INF] Query-Time for Package "color-name" completed in 1.8 ms +2024-06-20 20:47:55.226 +02:00 [INF] Query-Time for Package "color-convert" completed in 1.6 ms +2024-06-20 20:47:55.228 +02:00 [INF] Query-Time for Package "has-flag" completed in 1.6 ms +2024-06-20 20:47:55.230 +02:00 [INF] Query-Time for Package "supports-color" completed in 1.8 ms +2024-06-20 20:47:55.232 +02:00 [INF] Query-Time for Package "shebang-regex" completed in 1.7 ms +2024-06-20 20:47:55.234 +02:00 [INF] Query-Time for Package "shebang-command" completed in 2.0 ms +2024-06-20 20:47:55.235 +02:00 [INF] Query-Time for Package "isexe" completed in 1.6 ms +2024-06-20 20:47:55.237 +02:00 [INF] Query-Time for Package "which" completed in 1.5 ms +2024-06-20 20:47:55.239 +02:00 [INF] Query-Time for Package "doctrine" completed in 1.6 ms +2024-06-20 20:47:55.240 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 1.6 ms +2024-06-20 20:47:55.242 +02:00 [INF] Query-Time for Package "estraverse" completed in 1.5 ms +2024-06-20 20:47:55.244 +02:00 [INF] Query-Time for Package "esrecurse" completed in 1.5 ms +2024-06-20 20:47:55.245 +02:00 [INF] Query-Time for Package "eslint-scope" completed in 1.5 ms +2024-06-20 20:47:55.247 +02:00 [INF] Query-Time for Package "acorn-jsx" completed in 1.5 ms +2024-06-20 20:47:55.249 +02:00 [INF] Query-Time for Package "esquery" completed in 1.8 ms +2024-06-20 20:47:55.251 +02:00 [INF] Query-Time for Package "flatted" completed in 1.8 ms +2024-06-20 20:47:55.252 +02:00 [INF] Query-Time for Package "json-buffer" completed in 1.8 ms +2024-06-20 20:47:55.254 +02:00 [INF] Query-Time for Package "keyv" completed in 1.7 ms +2024-06-20 20:47:55.256 +02:00 [INF] Query-Time for Package "fs.realpath" completed in 1.7 ms +2024-06-20 20:47:55.258 +02:00 [INF] Query-Time for Package "once" completed in 1.8 ms +2024-06-20 20:47:55.260 +02:00 [INF] Query-Time for Package "wrappy" completed in 1.7 ms +2024-06-20 20:47:55.261 +02:00 [INF] Query-Time for Package "inflight" completed in 1.5 ms +2024-06-20 20:47:55.263 +02:00 [INF] Query-Time for Package "path-is-absolute" completed in 1.9 ms +2024-06-20 20:47:55.265 +02:00 [INF] Query-Time for Package "glob" completed in 1.9 ms +2024-06-20 20:47:55.267 +02:00 [INF] Query-Time for Package "rimraf" completed in 1.8 ms +2024-06-20 20:47:55.269 +02:00 [INF] Query-Time for Package "flat-cache" completed in 2.0 ms +2024-06-20 20:47:55.271 +02:00 [INF] Query-Time for Package "file-entry-cache" completed in 1.6 ms +2024-06-20 20:47:55.273 +02:00 [INF] Query-Time for Package "yocto-queue" completed in 1.6 ms +2024-06-20 20:47:55.275 +02:00 [INF] Query-Time for Package "p-limit" completed in 1.6 ms +2024-06-20 20:47:55.276 +02:00 [INF] Query-Time for Package "p-locate" completed in 1.6 ms +2024-06-20 20:47:55.278 +02:00 [INF] Query-Time for Package "locate-path" completed in 1.8 ms +2024-06-20 20:47:55.280 +02:00 [INF] Query-Time for Package "glob-parent" completed in 2.0 ms +2024-06-20 20:47:55.282 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.8 ms +2024-06-20 20:47:55.284 +02:00 [INF] Query-Time for Package "imurmurhash" completed in 1.7 ms +2024-06-20 20:47:55.286 +02:00 [INF] Query-Time for Package "is-path-inside" completed in 1.6 ms +2024-06-20 20:47:55.287 +02:00 [INF] Query-Time for Package "argparse" completed in 1.6 ms +2024-06-20 20:47:55.289 +02:00 [INF] Query-Time for Package "json-stable-stringify-without-jsonify" completed in 1.6 ms +2024-06-20 20:47:55.291 +02:00 [INF] Query-Time for Package "prelude-ls" completed in 1.6 ms +2024-06-20 20:47:55.293 +02:00 [INF] Query-Time for Package "type-check" completed in 1.7 ms +2024-06-20 20:47:55.294 +02:00 [INF] Query-Time for Package "levn" completed in 1.6 ms +2024-06-20 20:47:55.296 +02:00 [INF] Query-Time for Package "@aashutoshrathi/word-wrap" completed in 1.6 ms +2024-06-20 20:47:55.298 +02:00 [INF] Query-Time for Package "deep-is" completed in 1.6 ms +2024-06-20 20:47:55.299 +02:00 [INF] Query-Time for Package "fast-levenshtein" completed in 1.6 ms +2024-06-20 20:47:55.301 +02:00 [INF] Query-Time for Package "optionator" completed in 1.6 ms +2024-06-20 20:47:55.303 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 1.5 ms +2024-06-20 20:47:55.304 +02:00 [INF] Query-Time for Package "text-table" completed in 1.6 ms +2024-06-20 20:47:55.306 +02:00 [INF] Query-Time for Package "husky" completed in 1.8 ms +2024-06-20 20:47:55.308 +02:00 [INF] Query-Time for Package "chalk" completed in 1.9 ms +2024-06-20 20:47:55.310 +02:00 [INF] Query-Time for Package "commander" completed in 1.9 ms +2024-06-20 20:47:55.312 +02:00 [INF] Query-Time for Package "lilconfig" completed in 1.9 ms +2024-06-20 20:47:55.314 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 1.7 ms +2024-06-20 20:47:55.316 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 1.5 ms +2024-06-20 20:47:55.317 +02:00 [INF] Query-Time for Package "slice-ansi" completed in 1.5 ms +2024-06-20 20:47:55.319 +02:00 [INF] Query-Time for Package "eastasianwidth" completed in 1.6 ms +2024-06-20 20:47:55.321 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 1.7 ms +2024-06-20 20:47:55.323 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 1.6 ms +2024-06-20 20:47:55.324 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 1.8 ms +2024-06-20 20:47:55.326 +02:00 [INF] Query-Time for Package "string-width" completed in 1.6 ms +2024-06-20 20:47:55.328 +02:00 [INF] Query-Time for Package "cli-truncate" completed in 1.6 ms +2024-06-20 20:47:55.330 +02:00 [INF] Query-Time for Package "colorette" completed in 1.6 ms +2024-06-20 20:47:55.331 +02:00 [INF] Query-Time for Package "enquirer" completed in 1.6 ms +2024-06-20 20:47:55.333 +02:00 [INF] Query-Time for Package "eventemitter3" completed in 1.5 ms +2024-06-20 20:47:55.335 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.8 ms +2024-06-20 20:47:55.337 +02:00 [INF] Query-Time for Package "ansi-escapes" completed in 1.7 ms +2024-06-20 20:47:55.338 +02:00 [INF] Query-Time for Package "restore-cursor" completed in 1.7 ms +2024-06-20 20:47:55.340 +02:00 [INF] Query-Time for Package "cli-cursor" completed in 1.8 ms +2024-06-20 20:47:55.342 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 1.7 ms +2024-06-20 20:47:55.344 +02:00 [INF] Query-Time for Package "log-update" completed in 1.7 ms +2024-06-20 20:47:55.346 +02:00 [INF] Query-Time for Package "rfdc" completed in 1.6 ms +2024-06-20 20:47:55.347 +02:00 [INF] Query-Time for Package "listr2" completed in 1.6 ms +2024-06-20 20:47:55.349 +02:00 [INF] Query-Time for Package "is-number" completed in 1.6 ms +2024-06-20 20:47:55.351 +02:00 [INF] Query-Time for Package "to-regex-range" completed in 1.6 ms +2024-06-20 20:47:55.352 +02:00 [INF] Query-Time for Package "fill-range" completed in 1.5 ms +2024-06-20 20:47:55.354 +02:00 [INF] Query-Time for Package "braces" completed in 1.6 ms +2024-06-20 20:47:55.356 +02:00 [INF] Query-Time for Package "pidtree" completed in 2.0 ms +2024-06-20 20:47:55.358 +02:00 [INF] Query-Time for Package "string-argv" completed in 2.0 ms +2024-06-20 20:47:55.360 +02:00 [INF] Query-Time for Package "yaml" completed in 1.8 ms +2024-06-20 20:47:55.362 +02:00 [INF] Query-Time for Package "lint-staged" completed in 1.7 ms +2024-06-20 21:30:06.389 +02:00 [INF] TaskDuration completed in 5084.5 ms +2024-06-20 21:31:58.930 +02:00 [INF] Query-Time for Package "@commitlint/types" completed in 3.5 ms +2024-06-20 21:31:58.933 +02:00 [INF] Query-Time for Package "chalk" completed in 2.7 ms +2024-06-20 21:31:58.936 +02:00 [INF] Query-Time for Package "@commitlint/format" completed in 2.1 ms +2024-06-20 21:31:58.940 +02:00 [INF] Query-Time for Package "semver" completed in 4.0 ms +2024-06-20 21:31:59.068 +02:00 [INF] Query-Time for Package "@commitlint/is-ignored" completed in 3.0 ms +2024-06-20 21:31:59.070 +02:00 [INF] Query-Time for Package "compare-func" completed in 2.3 ms +2024-06-20 21:31:59.073 +02:00 [INF] Query-Time for Package "conventional-changelog-angular" completed in 2.7 ms +2024-06-20 21:31:59.077 +02:00 [INF] Query-Time for Package "text-extensions" completed in 3.0 ms +2024-06-20 21:31:59.081 +02:00 [INF] Query-Time for Package "is-text-path" completed in 3.5 ms +2024-06-20 21:31:59.083 +02:00 [INF] Query-Time for Package "jsonparse" completed in 2.4 ms +2024-06-20 21:31:59.086 +02:00 [INF] Query-Time for Package "through" completed in 2.6 ms +2024-06-20 21:31:59.089 +02:00 [INF] Query-Time for Package "JSONStream" completed in 2.4 ms +2024-06-20 21:31:59.092 +02:00 [INF] Query-Time for Package "meow" completed in 3.1 ms +2024-06-20 21:31:59.094 +02:00 [INF] Query-Time for Package "split2" completed in 2.3 ms +2024-06-20 21:31:59.097 +02:00 [INF] Query-Time for Package "conventional-commits-parser" completed in 2.2 ms +2024-06-20 21:31:59.099 +02:00 [INF] Query-Time for Package "@commitlint/parse" completed in 2.2 ms +2024-06-20 21:31:59.101 +02:00 [INF] Query-Time for Package "lodash.camelcase" completed in 1.9 ms +2024-06-20 21:31:59.104 +02:00 [INF] Query-Time for Package "lodash.kebabcase" completed in 2.7 ms +2024-06-20 21:31:59.108 +02:00 [INF] Query-Time for Package "lodash.snakecase" completed in 3.2 ms +2024-06-20 21:31:59.113 +02:00 [INF] Query-Time for Package "lodash.startcase" completed in 4.5 ms +2024-06-20 21:31:59.116 +02:00 [INF] Query-Time for Package "lodash.upperfirst" completed in 2.9 ms +2024-06-20 21:31:59.118 +02:00 [INF] Query-Time for Package "@commitlint/ensure" completed in 2.5 ms +2024-06-20 21:31:59.121 +02:00 [INF] Query-Time for Package "@commitlint/message" completed in 2.5 ms +2024-06-20 21:31:59.124 +02:00 [INF] Query-Time for Package "@commitlint/to-lines" completed in 2.7 ms +2024-06-20 21:31:59.127 +02:00 [INF] Query-Time for Package "execa" completed in 2.6 ms +2024-06-20 21:31:59.130 +02:00 [INF] Query-Time for Package "@commitlint/rules" completed in 2.5 ms +2024-06-20 21:31:59.132 +02:00 [INF] Query-Time for Package "@commitlint/lint" completed in 2.2 ms +2024-06-20 21:31:59.134 +02:00 [INF] Query-Time for Package "fast-deep-equal" completed in 2.3 ms +2024-06-20 21:31:59.138 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 3.0 ms +2024-06-20 21:31:59.141 +02:00 [INF] Query-Time for Package "require-from-string" completed in 2.9 ms +2024-06-20 21:31:59.144 +02:00 [INF] Query-Time for Package "uri-js" completed in 2.6 ms +2024-06-20 21:31:59.146 +02:00 [INF] Query-Time for Package "ajv" completed in 2.5 ms +2024-06-20 21:31:59.149 +02:00 [INF] Query-Time for Package "@commitlint/config-validator" completed in 2.7 ms +2024-06-20 21:31:59.152 +02:00 [INF] Query-Time for Package "@commitlint/execute-rule" completed in 2.9 ms +2024-06-20 21:31:59.155 +02:00 [INF] Query-Time for Package "import-fresh" completed in 2.3 ms +2024-06-20 21:31:59.158 +02:00 [INF] Query-Time for Package "lodash.mergewith" completed in 2.5 ms +2024-06-20 21:31:59.161 +02:00 [INF] Query-Time for Package "resolve-from" completed in 3.2 ms +2024-06-20 21:31:59.163 +02:00 [INF] Query-Time for Package "resolve-global" completed in 2.1 ms +2024-06-20 21:31:59.166 +02:00 [INF] Query-Time for Package "@commitlint/resolve-extends" completed in 2.4 ms +2024-06-20 21:31:59.168 +02:00 [INF] Query-Time for Package "@types/node" completed in 2.0 ms +2024-06-20 21:31:59.171 +02:00 [INF] Query-Time for Package "cosmiconfig" completed in 2.9 ms +2024-06-20 21:31:59.174 +02:00 [INF] Query-Time for Package "ts-node" completed in 2.7 ms +2024-06-20 21:31:59.177 +02:00 [INF] Query-Time for Package "typescript" completed in 2.7 ms +2024-06-20 21:31:59.179 +02:00 [INF] Query-Time for Package "cosmiconfig-typescript-loader" completed in 2.1 ms +2024-06-20 21:31:59.184 +02:00 [INF] Query-Time for Package "js-yaml" completed in 4.9 ms +2024-06-20 21:31:59.187 +02:00 [INF] Query-Time for Package "@babel/code-frame" completed in 2.2 ms +2024-06-20 21:31:59.189 +02:00 [INF] Query-Time for Package "is-arrayish" completed in 2.4 ms +2024-06-20 21:31:59.192 +02:00 [INF] Query-Time for Package "error-ex" completed in 2.4 ms +2024-06-20 21:31:59.195 +02:00 [INF] Query-Time for Package "json-parse-even-better-errors" completed in 3.1 ms +2024-06-20 21:31:59.198 +02:00 [INF] Query-Time for Package "lines-and-columns" completed in 2.5 ms +2024-06-20 21:31:59.202 +02:00 [INF] Query-Time for Package "parse-json" completed in 3.4 ms +2024-06-20 21:31:59.205 +02:00 [INF] Query-Time for Package "path-type" completed in 3.4 ms +2024-06-20 21:31:59.210 +02:00 [INF] Query-Time for Package "lodash.isplainobject" completed in 3.9 ms +2024-06-20 21:31:59.214 +02:00 [INF] Query-Time for Package "lodash.merge" completed in 4.4 ms +2024-06-20 21:31:59.218 +02:00 [INF] Query-Time for Package "lodash.uniq" completed in 3.0 ms +2024-06-20 21:31:59.221 +02:00 [INF] Query-Time for Package "@jridgewell/resolve-uri" completed in 3.1 ms +2024-06-20 21:31:59.224 +02:00 [INF] Query-Time for Package "@jridgewell/sourcemap-codec" completed in 2.6 ms +2024-06-20 21:31:59.227 +02:00 [INF] Query-Time for Package "@jridgewell/trace-mapping" completed in 3.2 ms +2024-06-20 21:31:59.231 +02:00 [INF] Query-Time for Package "@cspotcode/source-map-support" completed in 3.3 ms +2024-06-20 21:31:59.234 +02:00 [INF] Query-Time for Package "@swc/core" completed in 2.8 ms +2024-06-20 21:31:59.237 +02:00 [INF] Query-Time for Package "@swc/wasm" completed in 2.6 ms +2024-06-20 21:31:59.240 +02:00 [INF] Query-Time for Package "@tsconfig/node10" completed in 2.8 ms +2024-06-20 21:31:59.244 +02:00 [INF] Query-Time for Package "@tsconfig/node12" completed in 3.7 ms +2024-06-20 21:31:59.247 +02:00 [INF] Query-Time for Package "@tsconfig/node14" completed in 2.9 ms +2024-06-20 21:31:59.250 +02:00 [INF] Query-Time for Package "@tsconfig/node16" completed in 2.7 ms +2024-06-20 21:31:59.252 +02:00 [INF] Query-Time for Package "acorn-walk" completed in 2.1 ms +2024-06-20 21:31:59.255 +02:00 [INF] Query-Time for Package "acorn" completed in 2.2 ms +2024-06-20 21:31:59.258 +02:00 [INF] Query-Time for Package "arg" completed in 2.9 ms +2024-06-20 21:31:59.261 +02:00 [INF] Query-Time for Package "create-require" completed in 3.0 ms +2024-06-20 21:31:59.264 +02:00 [INF] Query-Time for Package "diff" completed in 2.3 ms +2024-06-20 21:31:59.266 +02:00 [INF] Query-Time for Package "make-error" completed in 1.9 ms +2024-06-20 21:31:59.269 +02:00 [INF] Query-Time for Package "v8-compile-cache-lib" completed in 2.6 ms +2024-06-20 21:31:59.271 +02:00 [INF] Query-Time for Package "yn" completed in 2.1 ms +2024-06-20 21:31:59.276 +02:00 [INF] Query-Time for Package "@commitlint/load" completed in 4.6 ms +2024-06-20 21:31:59.279 +02:00 [INF] Query-Time for Package "find-up" completed in 2.8 ms +2024-06-20 21:31:59.282 +02:00 [INF] Query-Time for Package "@commitlint/top-level" completed in 2.7 ms +2024-06-20 21:31:59.284 +02:00 [INF] Query-Time for Package "graceful-fs" completed in 2.3 ms +2024-06-20 21:31:59.287 +02:00 [INF] Query-Time for Package "universalify" completed in 2.6 ms +2024-06-20 21:31:59.290 +02:00 [INF] Query-Time for Package "jsonfile" completed in 2.7 ms +2024-06-20 21:31:59.293 +02:00 [INF] Query-Time for Package "fs-extra" completed in 3.3 ms +2024-06-20 21:31:59.296 +02:00 [INF] Query-Time for Package "dargs" completed in 1.9 ms +2024-06-20 21:31:59.299 +02:00 [INF] Query-Time for Package "lodash" completed in 3.0 ms +2024-06-20 21:31:59.303 +02:00 [INF] Query-Time for Package "@types/minimist" completed in 2.3 ms +2024-06-20 21:31:59.306 +02:00 [INF] Query-Time for Package "camelcase" completed in 3.0 ms +2024-06-20 21:31:59.309 +02:00 [INF] Query-Time for Package "map-obj" completed in 2.2 ms +2024-06-20 21:31:59.312 +02:00 [INF] Query-Time for Package "quick-lru" completed in 3.0 ms +2024-06-20 21:31:59.314 +02:00 [INF] Query-Time for Package "camelcase-keys" completed in 1.8 ms +2024-06-20 21:31:59.316 +02:00 [INF] Query-Time for Package "decamelize" completed in 2.3 ms +2024-06-20 21:31:59.319 +02:00 [INF] Query-Time for Package "map-obj" completed in 2.5 ms +2024-06-20 21:31:59.321 +02:00 [INF] Query-Time for Package "decamelize-keys" completed in 2.2 ms +2024-06-20 21:31:59.324 +02:00 [INF] Query-Time for Package "hard-rejection" completed in 2.4 ms +2024-06-20 21:31:59.327 +02:00 [INF] Query-Time for Package "arrify" completed in 2.4 ms +2024-06-20 21:31:59.330 +02:00 [INF] Query-Time for Package "is-plain-obj" completed in 3.3 ms +2024-06-20 21:31:59.332 +02:00 [INF] Query-Time for Package "kind-of" completed in 2.2 ms +2024-06-20 21:31:59.335 +02:00 [INF] Query-Time for Package "minimist-options" completed in 2.8 ms +2024-06-20 21:31:59.338 +02:00 [INF] Query-Time for Package "lru-cache" completed in 2.2 ms +2024-06-20 21:31:59.341 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 3.0 ms +2024-06-20 21:31:59.344 +02:00 [INF] Query-Time for Package "is-core-module" completed in 2.2 ms +2024-06-20 21:31:59.346 +02:00 [INF] Query-Time for Package "spdx-expression-parse" completed in 2.2 ms +2024-06-20 21:31:59.349 +02:00 [INF] Query-Time for Package "spdx-license-ids" completed in 2.5 ms +2024-06-20 21:31:59.353 +02:00 [INF] Query-Time for Package "spdx-correct" completed in 3.6 ms +2024-06-20 21:31:59.355 +02:00 [INF] Query-Time for Package "spdx-exceptions" completed in 2.4 ms +2024-06-20 21:31:59.359 +02:00 [INF] Query-Time for Package "validate-npm-package-license" completed in 3.1 ms +2024-06-20 21:31:59.361 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 2.5 ms +2024-06-20 21:31:59.364 +02:00 [INF] Query-Time for Package "p-try" completed in 2.7 ms +2024-06-20 21:31:59.367 +02:00 [INF] Query-Time for Package "p-limit" completed in 2.2 ms +2024-06-20 21:31:59.369 +02:00 [INF] Query-Time for Package "p-locate" completed in 2.0 ms +2024-06-20 21:31:59.372 +02:00 [INF] Query-Time for Package "locate-path" completed in 2.9 ms +2024-06-20 21:31:59.374 +02:00 [INF] Query-Time for Package "path-exists" completed in 2.2 ms +2024-06-20 21:31:59.377 +02:00 [INF] Query-Time for Package "find-up" completed in 3.0 ms +2024-06-20 21:31:59.380 +02:00 [INF] Query-Time for Package "@types/normalize-package-data" completed in 1.9 ms +2024-06-20 21:31:59.382 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 1.9 ms +2024-06-20 21:31:59.387 +02:00 [INF] Query-Time for Package "resolve" completed in 4.0 ms +2024-06-20 21:31:59.390 +02:00 [INF] Query-Time for Package "semver" completed in 2.8 ms +2024-06-20 21:31:59.392 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 2.2 ms +2024-06-20 21:31:59.395 +02:00 [INF] Query-Time for Package "type-fest" completed in 3.0 ms +2024-06-20 21:31:59.398 +02:00 [INF] Query-Time for Package "read-pkg" completed in 2.3 ms +2024-06-20 21:31:59.400 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.2 ms +2024-06-20 21:31:59.403 +02:00 [INF] Query-Time for Package "read-pkg-up" completed in 2.2 ms +2024-06-20 21:31:59.405 +02:00 [INF] Query-Time for Package "indent-string" completed in 1.9 ms +2024-06-20 21:31:59.407 +02:00 [INF] Query-Time for Package "min-indent" completed in 2.6 ms +2024-06-20 21:31:59.411 +02:00 [INF] Query-Time for Package "strip-indent" completed in 2.8 ms +2024-06-20 21:31:59.415 +02:00 [INF] Query-Time for Package "redent" completed in 3.9 ms +2024-06-20 21:31:59.418 +02:00 [INF] Query-Time for Package "trim-newlines" completed in 3.0 ms +2024-06-20 21:31:59.422 +02:00 [INF] Query-Time for Package "type-fest" completed in 3.5 ms +2024-06-20 21:31:59.426 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 3.9 ms +2024-06-20 21:31:59.429 +02:00 [INF] Query-Time for Package "inherits" completed in 2.7 ms +2024-06-20 21:31:59.433 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 3.1 ms +2024-06-20 21:31:59.436 +02:00 [INF] Query-Time for Package "string_decoder" completed in 2.6 ms +2024-06-20 21:31:59.439 +02:00 [INF] Query-Time for Package "util-deprecate" completed in 3.1 ms +2024-06-20 21:31:59.441 +02:00 [INF] Query-Time for Package "readable-stream" completed in 2.4 ms +2024-06-20 21:31:59.445 +02:00 [INF] Query-Time for Package "through2" completed in 3.4 ms +2024-06-20 21:31:59.447 +02:00 [INF] Query-Time for Package "git-raw-commits" completed in 1.9 ms +2024-06-20 21:31:59.450 +02:00 [INF] Query-Time for Package "minimist" completed in 2.8 ms +2024-06-20 21:31:59.453 +02:00 [INF] Query-Time for Package "@commitlint/read" completed in 2.2 ms +2024-06-20 21:31:59.455 +02:00 [INF] Query-Time for Package "cross-spawn" completed in 2.0 ms +2024-06-20 21:31:59.458 +02:00 [INF] Query-Time for Package "get-stream" completed in 2.7 ms +2024-06-20 21:31:59.461 +02:00 [INF] Query-Time for Package "human-signals" completed in 2.9 ms +2024-06-20 21:31:59.464 +02:00 [INF] Query-Time for Package "is-stream" completed in 2.7 ms +2024-06-20 21:31:59.467 +02:00 [INF] Query-Time for Package "merge-stream" completed in 2.3 ms +2024-06-20 21:31:59.470 +02:00 [INF] Query-Time for Package "path-key" completed in 2.6 ms +2024-06-20 21:31:59.472 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 2.2 ms +2024-06-20 21:31:59.476 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 4.1 ms +2024-06-20 21:31:59.480 +02:00 [INF] Query-Time for Package "onetime" completed in 3.1 ms +2024-06-20 21:31:59.482 +02:00 [INF] Query-Time for Package "signal-exit" completed in 2.4 ms +2024-06-20 21:31:59.484 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 2.0 ms +2024-06-20 21:31:59.487 +02:00 [INF] Query-Time for Package "lodash.isfunction" completed in 2.4 ms +2024-06-20 21:31:59.490 +02:00 [INF] Query-Time for Package "ini" completed in 2.7 ms +2024-06-20 21:31:59.494 +02:00 [INF] Query-Time for Package "global-dirs" completed in 3.3 ms +2024-06-20 21:31:59.497 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 2.6 ms +2024-06-20 21:31:59.500 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 2.4 ms +2024-06-20 21:31:59.502 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.1 ms +2024-06-20 21:31:59.506 +02:00 [INF] Query-Time for Package "string-width" completed in 3.7 ms +2024-06-20 21:31:59.508 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.3 ms +2024-06-20 21:31:59.512 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 3.0 ms +2024-06-20 21:31:59.514 +02:00 [INF] Query-Time for Package "cliui" completed in 1.8 ms +2024-06-20 21:31:59.516 +02:00 [INF] Query-Time for Package "escalade" completed in 2.2 ms +2024-06-20 21:31:59.519 +02:00 [INF] Query-Time for Package "get-caller-file" completed in 2.6 ms +2024-06-20 21:31:59.521 +02:00 [INF] Query-Time for Package "require-directory" completed in 2.0 ms +2024-06-20 21:31:59.524 +02:00 [INF] Query-Time for Package "y18n" completed in 2.6 ms +2024-06-20 21:31:59.527 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 2.6 ms +2024-06-20 21:31:59.530 +02:00 [INF] Query-Time for Package "yargs" completed in 2.6 ms +2024-06-20 21:31:59.533 +02:00 [INF] Query-Time for Package "@commitlint/cli" completed in 2.1 ms +2024-06-20 21:31:59.535 +02:00 [INF] Query-Time for Package "array-ify" completed in 2.5 ms +2024-06-20 21:31:59.538 +02:00 [INF] Query-Time for Package "is-obj" completed in 2.5 ms +2024-06-20 21:31:59.541 +02:00 [INF] Query-Time for Package "dot-prop" completed in 3.3 ms +2024-06-20 21:31:59.544 +02:00 [INF] Query-Time for Package "conventional-changelog-conventionalcommits" completed in 2.2 ms +2024-06-20 21:31:59.547 +02:00 [INF] Query-Time for Package "@commitlint/config-conventional" completed in 2.8 ms +2024-06-20 21:31:59.551 +02:00 [INF] Query-Time for Package "@types/estree" completed in 3.6 ms +2024-06-20 21:31:59.554 +02:00 [INF] Query-Time for Package "@types/json-schema" completed in 3.1 ms +2024-06-20 21:31:59.557 +02:00 [INF] Query-Time for Package "@types/eslint" completed in 3.0 ms +2024-06-20 21:31:59.561 +02:00 [INF] Query-Time for Package "jest-get-type" completed in 3.1 ms +2024-06-20 21:31:59.563 +02:00 [INF] Query-Time for Package "@jest/expect-utils" completed in 2.1 ms +2024-06-20 21:31:59.566 +02:00 [INF] Query-Time for Package "diff-sequences" completed in 2.9 ms +2024-06-20 21:31:59.568 +02:00 [INF] Query-Time for Package "pretty-format" completed in 2.0 ms +2024-06-20 21:31:59.571 +02:00 [INF] Query-Time for Package "jest-diff" completed in 2.4 ms +2024-06-20 21:31:59.573 +02:00 [INF] Query-Time for Package "jest-matcher-utils" completed in 2.2 ms +2024-06-20 21:31:59.576 +02:00 [INF] Query-Time for Package "@babel/helper-validator-identifier" completed in 2.2 ms +2024-06-20 21:31:59.579 +02:00 [INF] Query-Time for Package "color-name" completed in 2.7 ms +2024-06-20 21:31:59.581 +02:00 [INF] Query-Time for Package "color-convert" completed in 2.6 ms +2024-06-20 21:31:59.584 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.8 ms +2024-06-20 21:31:59.587 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 1.9 ms +2024-06-20 21:31:59.589 +02:00 [INF] Query-Time for Package "has-flag" completed in 2.1 ms +2024-06-20 21:31:59.591 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.2 ms +2024-06-20 21:31:59.593 +02:00 [INF] Query-Time for Package "chalk" completed in 2.0 ms +2024-06-20 21:31:59.596 +02:00 [INF] Query-Time for Package "js-tokens" completed in 2.8 ms +2024-06-20 21:31:59.599 +02:00 [INF] Query-Time for Package "@babel/highlight" completed in 2.3 ms +2024-06-20 21:31:59.602 +02:00 [INF] Query-Time for Package "@jest/schemas" completed in 2.8 ms +2024-06-20 21:31:59.604 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-coverage" completed in 2.3 ms +2024-06-20 21:31:59.606 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-report" completed in 1.8 ms +2024-06-20 21:31:59.610 +02:00 [INF] Query-Time for Package "@types/istanbul-reports" completed in 3.1 ms +2024-06-20 21:31:59.613 +02:00 [INF] Query-Time for Package "@types/yargs-parser" completed in 3.6 ms +2024-06-20 21:31:59.616 +02:00 [INF] Query-Time for Package "@types/yargs" completed in 2.4 ms +2024-06-20 21:31:59.619 +02:00 [INF] Query-Time for Package "@jest/types" completed in 2.4 ms +2024-06-20 21:31:59.622 +02:00 [INF] Query-Time for Package "@types/stack-utils" completed in 2.5 ms +2024-06-20 21:31:59.624 +02:00 [INF] Query-Time for Package "micromatch" completed in 2.6 ms +2024-06-20 21:31:59.628 +02:00 [INF] Query-Time for Package "slash" completed in 3.3 ms +2024-06-20 21:31:59.632 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 3.7 ms +2024-06-20 21:31:59.635 +02:00 [INF] Query-Time for Package "stack-utils" completed in 2.4 ms +2024-06-20 21:31:59.638 +02:00 [INF] Query-Time for Package "jest-message-util" completed in 3.2 ms +2024-06-20 21:31:59.641 +02:00 [INF] Query-Time for Package "ci-info" completed in 2.4 ms +2024-06-20 21:31:59.645 +02:00 [INF] Query-Time for Package "picomatch" completed in 4.0 ms +2024-06-20 21:31:59.648 +02:00 [INF] Query-Time for Package "jest-util" completed in 2.9 ms +2024-06-20 21:31:59.652 +02:00 [INF] Query-Time for Package "expect" completed in 3.7 ms +2024-06-20 21:31:59.654 +02:00 [INF] Query-Time for Package "@sinclair/typebox" completed in 2.0 ms +2024-06-20 21:31:59.658 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 3.3 ms +2024-06-20 21:31:59.661 +02:00 [INF] Query-Time for Package "react-is" completed in 2.9 ms +2024-06-20 21:31:59.664 +02:00 [INF] Query-Time for Package "@types/jest" completed in 3.3 ms +2024-06-20 21:31:59.668 +02:00 [INF] Query-Time for Package "@eslint-community/regexpp" completed in 3.0 ms +2024-06-20 21:31:59.670 +02:00 [INF] Query-Time for Package "@typescript-eslint/parser" completed in 2.5 ms +2024-06-20 21:31:59.674 +02:00 [INF] Query-Time for Package "@typescript-eslint/types" completed in 3.1 ms +2024-06-20 21:31:59.677 +02:00 [INF] Query-Time for Package "@typescript-eslint/visitor-keys" completed in 2.9 ms +2024-06-20 21:31:59.679 +02:00 [INF] Query-Time for Package "@typescript-eslint/scope-manager" completed in 2.3 ms +2024-06-20 21:31:59.682 +02:00 [INF] Query-Time for Package "@typescript-eslint/typescript-estree" completed in 2.4 ms +2024-06-20 21:31:59.684 +02:00 [INF] Query-Time for Package "@typescript-eslint/utils" completed in 2.1 ms +2024-06-20 21:31:59.687 +02:00 [INF] Query-Time for Package "debug" completed in 2.5 ms +2024-06-20 21:31:59.691 +02:00 [INF] Query-Time for Package "eslint" completed in 2.4 ms +2024-06-20 21:31:59.694 +02:00 [INF] Query-Time for Package "ts-api-utils" completed in 2.6 ms +2024-06-20 21:31:59.696 +02:00 [INF] Query-Time for Package "@typescript-eslint/type-utils" completed in 1.9 ms +2024-06-20 21:31:59.698 +02:00 [INF] Query-Time for Package "@eslint-community/eslint-utils" completed in 2.2 ms +2024-06-20 21:31:59.701 +02:00 [INF] Query-Time for Package "@types/semver" completed in 2.5 ms +2024-06-20 21:31:59.704 +02:00 [INF] Query-Time for Package "eslint-visitor-keys" completed in 2.7 ms +2024-06-20 21:31:59.707 +02:00 [INF] Query-Time for Package "ms" completed in 3.2 ms +2024-06-20 21:31:59.710 +02:00 [INF] Query-Time for Package "graphemer" completed in 2.6 ms +2024-06-20 21:31:59.713 +02:00 [INF] Query-Time for Package "ignore" completed in 2.1 ms +2024-06-20 21:31:59.715 +02:00 [INF] Query-Time for Package "natural-compare" completed in 1.8 ms +2024-06-20 21:31:59.717 +02:00 [INF] Query-Time for Package "yallist" completed in 2.6 ms +2024-06-20 21:31:59.720 +02:00 [INF] Query-Time for Package "@typescript-eslint/eslint-plugin" completed in 2.1 ms +2024-06-20 21:31:59.722 +02:00 [INF] Query-Time for Package "array-union" completed in 2.0 ms +2024-06-20 21:31:59.724 +02:00 [INF] Query-Time for Package "dir-glob" completed in 2.2 ms +2024-06-20 21:31:59.727 +02:00 [INF] Query-Time for Package "@nodelib/fs.stat" completed in 2.1 ms +2024-06-20 21:31:59.729 +02:00 [INF] Query-Time for Package "@nodelib/fs.walk" completed in 2.4 ms +2024-06-20 21:31:59.731 +02:00 [INF] Query-Time for Package "is-glob" completed in 2.0 ms +2024-06-20 21:31:59.734 +02:00 [INF] Query-Time for Package "glob-parent" completed in 2.5 ms +2024-06-20 21:31:59.737 +02:00 [INF] Query-Time for Package "merge2" completed in 2.2 ms +2024-06-20 21:31:59.739 +02:00 [INF] Query-Time for Package "fast-glob" completed in 2.3 ms +2024-06-20 21:31:59.743 +02:00 [INF] Query-Time for Package "globby" completed in 3.3 ms +2024-06-20 21:31:59.745 +02:00 [INF] Query-Time for Package "confusing-browser-globals" completed in 1.8 ms +2024-06-20 21:31:59.747 +02:00 [INF] Query-Time for Package "eslint-plugin-import" completed in 2.3 ms +2024-06-20 21:31:59.750 +02:00 [INF] Query-Time for Package "function-bind" completed in 2.6 ms +2024-06-20 21:31:59.753 +02:00 [INF] Query-Time for Package "get-intrinsic" completed in 2.6 ms +2024-06-20 21:31:59.755 +02:00 [INF] Query-Time for Package "call-bind" completed in 2.0 ms +2024-06-20 21:31:59.757 +02:00 [INF] Query-Time for Package "gopd" completed in 2.0 ms +2024-06-20 21:31:59.761 +02:00 [INF] Query-Time for Package "has-property-descriptors" completed in 3.0 ms +2024-06-20 21:31:59.763 +02:00 [INF] Query-Time for Package "define-data-property" completed in 2.2 ms +2024-06-20 21:31:59.765 +02:00 [INF] Query-Time for Package "object-keys" completed in 2.3 ms +2024-06-20 21:31:59.767 +02:00 [INF] Query-Time for Package "define-properties" completed in 2.0 ms +2024-06-20 21:31:59.769 +02:00 [INF] Query-Time for Package "has-symbols" completed in 1.8 ms +2024-06-20 21:31:59.772 +02:00 [INF] Query-Time for Package "object.assign" completed in 2.5 ms +2024-06-20 21:31:59.774 +02:00 [INF] Query-Time for Package "is-array-buffer" completed in 2.0 ms +2024-06-20 21:31:59.777 +02:00 [INF] Query-Time for Package "array-buffer-byte-length" completed in 3.0 ms +2024-06-20 21:31:59.780 +02:00 [INF] Query-Time for Package "es-abstract" completed in 2.2 ms +2024-06-20 21:31:59.783 +02:00 [INF] Query-Time for Package "is-shared-array-buffer" completed in 3.0 ms +2024-06-20 21:31:59.786 +02:00 [INF] Query-Time for Package "arraybuffer.prototype.slice" completed in 2.3 ms +2024-06-20 21:31:59.788 +02:00 [INF] Query-Time for Package "available-typed-arrays" completed in 2.0 ms +2024-06-20 21:31:59.790 +02:00 [INF] Query-Time for Package "has-tostringtag" completed in 2.5 ms +2024-06-20 21:31:59.793 +02:00 [INF] Query-Time for Package "has" completed in 2.2 ms +2024-06-20 21:31:59.796 +02:00 [INF] Query-Time for Package "es-set-tostringtag" completed in 2.5 ms +2024-06-20 21:31:59.798 +02:00 [INF] Query-Time for Package "is-callable" completed in 2.2 ms +2024-06-20 21:31:59.800 +02:00 [INF] Query-Time for Package "is-date-object" completed in 2.0 ms +2024-06-20 21:31:59.802 +02:00 [INF] Query-Time for Package "is-symbol" completed in 2.2 ms +2024-06-20 21:31:59.804 +02:00 [INF] Query-Time for Package "es-to-primitive" completed in 1.8 ms +2024-06-20 21:31:59.806 +02:00 [INF] Query-Time for Package "functions-have-names" completed in 2.0 ms +2024-06-20 21:31:59.810 +02:00 [INF] Query-Time for Package "function.prototype.name" completed in 2.9 ms +2024-06-20 21:31:59.812 +02:00 [INF] Query-Time for Package "get-symbol-description" completed in 2.0 ms +2024-06-20 21:31:59.815 +02:00 [INF] Query-Time for Package "globalthis" completed in 3.1 ms +2024-06-20 21:31:59.817 +02:00 [INF] Query-Time for Package "has-proto" completed in 2.2 ms +2024-06-20 21:31:59.820 +02:00 [INF] Query-Time for Package "object-inspect" completed in 2.5 ms +2024-06-20 21:31:59.823 +02:00 [INF] Query-Time for Package "side-channel" completed in 2.2 ms +2024-06-20 21:31:59.825 +02:00 [INF] Query-Time for Package "internal-slot" completed in 2.4 ms +2024-06-20 21:31:59.828 +02:00 [INF] Query-Time for Package "is-typed-array" completed in 2.6 ms +2024-06-20 21:31:59.831 +02:00 [INF] Query-Time for Package "is-negative-zero" completed in 2.9 ms +2024-06-20 21:31:59.834 +02:00 [INF] Query-Time for Package "is-regex" completed in 2.9 ms +2024-06-20 21:31:59.838 +02:00 [INF] Query-Time for Package "is-string" completed in 3.4 ms +2024-06-20 21:31:59.842 +02:00 [INF] Query-Time for Package "which-typed-array" completed in 3.6 ms +2024-06-20 21:31:59.845 +02:00 [INF] Query-Time for Package "is-weakref" completed in 3.1 ms +2024-06-20 21:31:59.847 +02:00 [INF] Query-Time for Package "set-function-name" completed in 2.4 ms +2024-06-20 21:31:59.850 +02:00 [INF] Query-Time for Package "regexp.prototype.flags" completed in 2.8 ms +2024-06-20 21:31:59.853 +02:00 [INF] Query-Time for Package "isarray" completed in 2.6 ms +2024-06-20 21:31:59.856 +02:00 [INF] Query-Time for Package "safe-array-concat" completed in 2.3 ms +2024-06-20 21:31:59.859 +02:00 [INF] Query-Time for Package "safe-regex-test" completed in 2.6 ms +2024-06-20 21:31:59.861 +02:00 [INF] Query-Time for Package "string.prototype.trim" completed in 2.2 ms +2024-06-20 21:31:59.864 +02:00 [INF] Query-Time for Package "string.prototype.trimend" completed in 2.7 ms +2024-06-20 21:31:59.866 +02:00 [INF] Query-Time for Package "string.prototype.trimstart" completed in 2.2 ms +2024-06-20 21:31:59.869 +02:00 [INF] Query-Time for Package "typed-array-buffer" completed in 2.6 ms +2024-06-20 21:31:59.871 +02:00 [INF] Query-Time for Package "for-each" completed in 2.1 ms +2024-06-20 21:31:59.874 +02:00 [INF] Query-Time for Package "typed-array-byte-length" completed in 2.3 ms +2024-06-20 21:31:59.877 +02:00 [INF] Query-Time for Package "typed-array-byte-offset" completed in 3.2 ms +2024-06-20 21:31:59.880 +02:00 [INF] Query-Time for Package "typed-array-length" completed in 2.2 ms +2024-06-20 21:31:59.882 +02:00 [INF] Query-Time for Package "has-bigints" completed in 2.3 ms +2024-06-20 21:31:59.885 +02:00 [INF] Query-Time for Package "is-bigint" completed in 2.2 ms +2024-06-20 21:31:59.887 +02:00 [INF] Query-Time for Package "is-boolean-object" completed in 2.4 ms +2024-06-20 21:31:59.890 +02:00 [INF] Query-Time for Package "is-number-object" completed in 2.4 ms +2024-06-20 21:31:59.893 +02:00 [INF] Query-Time for Package "which-boxed-primitive" completed in 3.1 ms +2024-06-20 21:31:59.896 +02:00 [INF] Query-Time for Package "unbox-primitive" completed in 2.3 ms +2024-06-20 21:31:59.898 +02:00 [INF] Query-Time for Package "object.entries" completed in 2.3 ms +2024-06-20 21:31:59.901 +02:00 [INF] Query-Time for Package "semver" completed in 2.5 ms +2024-06-20 21:31:59.903 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-base" completed in 2.1 ms +2024-06-20 21:31:59.906 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-typescript" completed in 2.6 ms +2024-06-20 21:31:59.911 +02:00 [INF] Query-Time for Package "eslint-config-prettier" completed in 4.2 ms +2024-06-20 21:31:59.913 +02:00 [INF] Query-Time for Package "array-includes" completed in 2.6 ms +2024-06-20 21:31:59.916 +02:00 [INF] Query-Time for Package "es-shim-unscopables" completed in 2.0 ms +2024-06-20 21:31:59.919 +02:00 [INF] Query-Time for Package "array.prototype.findlastindex" completed in 3.1 ms +2024-06-20 21:31:59.921 +02:00 [INF] Query-Time for Package "array.prototype.flat" completed in 2.4 ms +2024-06-20 21:31:59.924 +02:00 [INF] Query-Time for Package "array.prototype.flatmap" completed in 2.6 ms +2024-06-20 21:31:59.927 +02:00 [INF] Query-Time for Package "debug" completed in 2.2 ms +2024-06-20 21:31:59.931 +02:00 [INF] Query-Time for Package "esutils" completed in 3.2 ms +2024-06-20 21:31:59.933 +02:00 [INF] Query-Time for Package "doctrine" completed in 2.1 ms +2024-06-20 21:31:59.935 +02:00 [INF] Query-Time for Package "path-parse" completed in 2.1 ms +2024-06-20 21:31:59.939 +02:00 [INF] Query-Time for Package "supports-preserve-symlinks-flag" completed in 3.2 ms +2024-06-20 21:31:59.942 +02:00 [INF] Query-Time for Package "eslint-import-resolver-node" completed in 3.3 ms +2024-06-20 21:31:59.944 +02:00 [INF] Query-Time for Package "eslint-module-utils" completed in 2.0 ms +2024-06-20 21:31:59.947 +02:00 [INF] Query-Time for Package "is-extglob" completed in 2.1 ms +2024-06-20 21:31:59.949 +02:00 [INF] Query-Time for Package "balanced-match" completed in 2.3 ms +2024-06-20 21:31:59.951 +02:00 [INF] Query-Time for Package "concat-map" completed in 2.1 ms +2024-06-20 21:31:59.954 +02:00 [INF] Query-Time for Package "brace-expansion" completed in 2.4 ms +2024-06-20 21:31:59.956 +02:00 [INF] Query-Time for Package "minimatch" completed in 2.1 ms +2024-06-20 21:31:59.960 +02:00 [INF] Query-Time for Package "object.fromentries" completed in 2.8 ms +2024-06-20 21:31:59.962 +02:00 [INF] Query-Time for Package "object.groupby" completed in 2.3 ms +2024-06-20 21:31:59.965 +02:00 [INF] Query-Time for Package "object.values" completed in 2.7 ms +2024-06-20 21:31:59.967 +02:00 [INF] Query-Time for Package "@types/json5" completed in 2.3 ms +2024-06-20 21:31:59.970 +02:00 [INF] Query-Time for Package "json5" completed in 2.2 ms +2024-06-20 21:31:59.973 +02:00 [INF] Query-Time for Package "strip-bom" completed in 2.5 ms +2024-06-20 21:31:59.975 +02:00 [INF] Query-Time for Package "tsconfig-paths" completed in 1.9 ms +2024-06-20 21:31:59.978 +02:00 [INF] Query-Time for Package "fast-diff" completed in 2.5 ms +2024-06-20 21:31:59.980 +02:00 [INF] Query-Time for Package "prettier-linter-helpers" completed in 2.1 ms +2024-06-20 21:31:59.982 +02:00 [INF] Query-Time for Package "prettier" completed in 2.0 ms +2024-06-20 21:31:59.985 +02:00 [INF] Query-Time for Package "run-applescript" completed in 2.8 ms +2024-06-20 21:31:59.987 +02:00 [INF] Query-Time for Package "bundle-name" completed in 2.0 ms +2024-06-20 21:31:59.990 +02:00 [INF] Query-Time for Package "big-integer" completed in 2.6 ms +2024-06-20 21:31:59.993 +02:00 [INF] Query-Time for Package "bplist-parser" completed in 2.6 ms +2024-06-20 21:31:59.996 +02:00 [INF] Query-Time for Package "untildify" completed in 2.8 ms +2024-06-20 21:31:59.998 +02:00 [INF] Query-Time for Package "default-browser-id" completed in 2.5 ms +2024-06-20 21:32:00.001 +02:00 [INF] Query-Time for Package "human-signals" completed in 2.2 ms +2024-06-20 21:32:00.003 +02:00 [INF] Query-Time for Package "is-stream" completed in 2.2 ms +2024-06-20 21:32:00.006 +02:00 [INF] Query-Time for Package "path-key" completed in 2.1 ms +2024-06-20 21:32:00.008 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 2.8 ms +2024-06-20 21:32:00.011 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 2.7 ms +2024-06-20 21:32:00.016 +02:00 [INF] Query-Time for Package "onetime" completed in 4.4 ms +2024-06-20 21:32:00.019 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 2.3 ms +2024-06-20 21:32:00.022 +02:00 [INF] Query-Time for Package "execa" completed in 3.4 ms +2024-06-20 21:32:00.025 +02:00 [INF] Query-Time for Package "titleize" completed in 2.5 ms +2024-06-20 21:32:00.028 +02:00 [INF] Query-Time for Package "default-browser" completed in 3.1 ms +2024-06-20 21:32:00.031 +02:00 [INF] Query-Time for Package "define-lazy-prop" completed in 2.4 ms +2024-06-20 21:32:00.034 +02:00 [INF] Query-Time for Package "is-docker" completed in 2.8 ms +2024-06-20 21:32:00.037 +02:00 [INF] Query-Time for Package "is-inside-container" completed in 2.6 ms +2024-06-20 21:32:00.040 +02:00 [INF] Query-Time for Package "is-docker" completed in 3.0 ms +2024-06-20 21:32:00.043 +02:00 [INF] Query-Time for Package "is-wsl" completed in 3.1 ms +2024-06-20 21:32:00.048 +02:00 [INF] Query-Time for Package "open" completed in 3.9 ms +2024-06-20 21:32:00.053 +02:00 [INF] Query-Time for Package "picocolors" completed in 4.5 ms +2024-06-20 21:32:00.056 +02:00 [INF] Query-Time for Package "tslib" completed in 3.3 ms +2024-06-20 21:32:00.060 +02:00 [INF] Query-Time for Package "@pkgr/utils" completed in 3.3 ms +2024-06-20 21:32:00.063 +02:00 [INF] Query-Time for Package "synckit" completed in 3.4 ms +2024-06-20 21:32:00.066 +02:00 [INF] Query-Time for Package "eslint-plugin-prettier" completed in 2.6 ms +2024-06-20 21:32:00.069 +02:00 [INF] Query-Time for Package "fast-json-stable-stringify" completed in 3.2 ms +2024-06-20 21:32:00.072 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 2.7 ms +2024-06-20 21:32:00.078 +02:00 [INF] Query-Time for Package "ajv" completed in 5.3 ms +2024-06-20 21:32:00.081 +02:00 [INF] Query-Time for Package "espree" completed in 3.0 ms +2024-06-20 21:32:00.084 +02:00 [INF] Query-Time for Package "globals" completed in 2.6 ms +2024-06-20 21:32:00.087 +02:00 [INF] Query-Time for Package "callsites" completed in 2.5 ms +2024-06-20 21:32:00.090 +02:00 [INF] Query-Time for Package "parent-module" completed in 2.6 ms +2024-06-20 21:32:00.093 +02:00 [INF] Query-Time for Package "resolve-from" completed in 3.1 ms +2024-06-20 21:32:00.096 +02:00 [INF] Query-Time for Package "strip-json-comments" completed in 2.5 ms +2024-06-20 21:32:00.098 +02:00 [INF] Query-Time for Package "@eslint/eslintrc" completed in 2.5 ms +2024-06-20 21:32:00.101 +02:00 [INF] Query-Time for Package "@eslint/js" completed in 2.2 ms +2024-06-20 21:32:00.103 +02:00 [INF] Query-Time for Package "@humanwhocodes/object-schema" completed in 1.8 ms +2024-06-20 21:32:00.106 +02:00 [INF] Query-Time for Package "@humanwhocodes/config-array" completed in 3.3 ms +2024-06-20 21:32:00.109 +02:00 [INF] Query-Time for Package "@humanwhocodes/module-importer" completed in 2.6 ms +2024-06-20 21:32:00.112 +02:00 [INF] Query-Time for Package "queue-microtask" completed in 2.7 ms +2024-06-20 21:32:00.114 +02:00 [INF] Query-Time for Package "run-parallel" completed in 1.8 ms +2024-06-20 21:32:00.116 +02:00 [INF] Query-Time for Package "@nodelib/fs.scandir" completed in 1.8 ms +2024-06-20 21:32:00.119 +02:00 [INF] Query-Time for Package "reusify" completed in 2.7 ms +2024-06-20 21:32:00.121 +02:00 [INF] Query-Time for Package "fastq" completed in 2.1 ms +2024-06-20 21:32:00.123 +02:00 [INF] Query-Time for Package "punycode" completed in 2.1 ms +2024-06-20 21:32:00.125 +02:00 [INF] Query-Time for Package "color-name" completed in 2.2 ms +2024-06-20 21:32:00.128 +02:00 [INF] Query-Time for Package "color-convert" completed in 2.2 ms +2024-06-20 21:32:00.131 +02:00 [INF] Query-Time for Package "has-flag" completed in 2.6 ms +2024-06-20 21:32:00.133 +02:00 [INF] Query-Time for Package "supports-color" completed in 1.9 ms +2024-06-20 21:32:00.136 +02:00 [INF] Query-Time for Package "shebang-regex" completed in 2.7 ms +2024-06-20 21:32:00.139 +02:00 [INF] Query-Time for Package "shebang-command" completed in 2.9 ms +2024-06-20 21:32:00.142 +02:00 [INF] Query-Time for Package "isexe" completed in 3.1 ms +2024-06-20 21:32:00.144 +02:00 [INF] Query-Time for Package "which" completed in 2.0 ms +2024-06-20 21:32:00.146 +02:00 [INF] Query-Time for Package "doctrine" completed in 1.8 ms +2024-06-20 21:32:00.149 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.6 ms +2024-06-20 21:32:00.151 +02:00 [INF] Query-Time for Package "estraverse" completed in 2.2 ms +2024-06-20 21:32:00.154 +02:00 [INF] Query-Time for Package "esrecurse" completed in 2.3 ms +2024-06-20 21:32:00.156 +02:00 [INF] Query-Time for Package "eslint-scope" completed in 2.0 ms +2024-06-20 21:32:00.159 +02:00 [INF] Query-Time for Package "acorn-jsx" completed in 2.6 ms +2024-06-20 21:32:00.162 +02:00 [INF] Query-Time for Package "esquery" completed in 2.7 ms +2024-06-20 21:32:00.165 +02:00 [INF] Query-Time for Package "flatted" completed in 2.6 ms +2024-06-20 21:32:00.168 +02:00 [INF] Query-Time for Package "json-buffer" completed in 2.7 ms +2024-06-20 21:32:00.170 +02:00 [INF] Query-Time for Package "keyv" completed in 2.0 ms +2024-06-20 21:32:00.172 +02:00 [INF] Query-Time for Package "fs.realpath" completed in 2.5 ms +2024-06-20 21:32:00.175 +02:00 [INF] Query-Time for Package "once" completed in 2.1 ms +2024-06-20 21:32:00.178 +02:00 [INF] Query-Time for Package "wrappy" completed in 3.1 ms +2024-06-20 21:32:00.180 +02:00 [INF] Query-Time for Package "inflight" completed in 2.3 ms +2024-06-20 21:32:00.183 +02:00 [INF] Query-Time for Package "path-is-absolute" completed in 2.4 ms +2024-06-20 21:32:00.188 +02:00 [INF] Query-Time for Package "glob" completed in 4.5 ms +2024-06-20 21:32:00.192 +02:00 [INF] Query-Time for Package "rimraf" completed in 3.4 ms +2024-06-20 21:32:00.194 +02:00 [INF] Query-Time for Package "flat-cache" completed in 2.2 ms +2024-06-20 21:32:00.197 +02:00 [INF] Query-Time for Package "file-entry-cache" completed in 3.1 ms +2024-06-20 21:32:00.200 +02:00 [INF] Query-Time for Package "yocto-queue" completed in 2.2 ms +2024-06-20 21:32:00.203 +02:00 [INF] Query-Time for Package "p-limit" completed in 2.7 ms +2024-06-20 21:32:00.205 +02:00 [INF] Query-Time for Package "p-locate" completed in 2.0 ms +2024-06-20 21:32:00.207 +02:00 [INF] Query-Time for Package "locate-path" completed in 1.8 ms +2024-06-20 21:32:00.210 +02:00 [INF] Query-Time for Package "glob-parent" completed in 3.2 ms +2024-06-20 21:32:00.213 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.0 ms +2024-06-20 21:32:00.217 +02:00 [INF] Query-Time for Package "imurmurhash" completed in 4.2 ms +2024-06-20 21:32:00.220 +02:00 [INF] Query-Time for Package "is-path-inside" completed in 2.4 ms +2024-06-20 21:32:00.222 +02:00 [INF] Query-Time for Package "argparse" completed in 2.2 ms +2024-06-20 21:32:00.224 +02:00 [INF] Query-Time for Package "json-stable-stringify-without-jsonify" completed in 2.1 ms +2024-06-20 21:32:00.228 +02:00 [INF] Query-Time for Package "prelude-ls" completed in 3.0 ms +2024-06-20 21:32:00.230 +02:00 [INF] Query-Time for Package "type-check" completed in 2.6 ms +2024-06-20 21:32:00.233 +02:00 [INF] Query-Time for Package "levn" completed in 2.3 ms +2024-06-20 21:32:00.235 +02:00 [INF] Query-Time for Package "@aashutoshrathi/word-wrap" completed in 1.8 ms +2024-06-20 21:32:00.237 +02:00 [INF] Query-Time for Package "deep-is" completed in 1.7 ms +2024-06-20 21:32:00.239 +02:00 [INF] Query-Time for Package "fast-levenshtein" completed in 2.5 ms +2024-06-20 21:32:00.242 +02:00 [INF] Query-Time for Package "optionator" completed in 2.4 ms +2024-06-20 21:32:00.246 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 3.4 ms +2024-06-20 21:32:00.248 +02:00 [INF] Query-Time for Package "text-table" completed in 2.0 ms +2024-06-20 21:32:00.250 +02:00 [INF] Query-Time for Package "husky" completed in 2.5 ms +2024-06-20 21:32:00.253 +02:00 [INF] Query-Time for Package "chalk" completed in 2.1 ms +2024-06-20 21:32:00.255 +02:00 [INF] Query-Time for Package "commander" completed in 1.8 ms +2024-06-20 21:32:00.258 +02:00 [INF] Query-Time for Package "lilconfig" completed in 2.5 ms +2024-06-20 21:32:00.261 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 3.3 ms +2024-06-20 21:32:00.265 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 3.8 ms +2024-06-20 21:32:00.269 +02:00 [INF] Query-Time for Package "slice-ansi" completed in 3.3 ms +2024-06-20 21:32:00.272 +02:00 [INF] Query-Time for Package "eastasianwidth" completed in 3.0 ms +2024-06-20 21:32:00.278 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 5.4 ms +2024-06-20 21:32:00.281 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 3.1 ms +2024-06-20 21:32:00.284 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 3.1 ms +2024-06-20 21:32:00.287 +02:00 [INF] Query-Time for Package "string-width" completed in 2.2 ms +2024-06-20 21:32:00.293 +02:00 [INF] Query-Time for Package "cli-truncate" completed in 5.7 ms +2024-06-20 21:32:00.296 +02:00 [INF] Query-Time for Package "colorette" completed in 2.7 ms +2024-06-20 21:32:00.298 +02:00 [INF] Query-Time for Package "enquirer" completed in 2.2 ms +2024-06-20 21:32:00.301 +02:00 [INF] Query-Time for Package "eventemitter3" completed in 2.5 ms +2024-06-20 21:32:00.303 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.9 ms +2024-06-20 21:32:00.307 +02:00 [INF] Query-Time for Package "ansi-escapes" completed in 3.4 ms +2024-06-20 21:32:00.310 +02:00 [INF] Query-Time for Package "restore-cursor" completed in 2.9 ms +2024-06-20 21:32:00.313 +02:00 [INF] Query-Time for Package "cli-cursor" completed in 2.9 ms +2024-06-20 21:32:00.315 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 2.0 ms +2024-06-20 21:32:00.317 +02:00 [INF] Query-Time for Package "log-update" completed in 2.4 ms +2024-06-20 21:32:00.320 +02:00 [INF] Query-Time for Package "rfdc" completed in 2.2 ms +2024-06-20 21:32:00.322 +02:00 [INF] Query-Time for Package "listr2" completed in 2.4 ms +2024-06-20 21:32:00.325 +02:00 [INF] Query-Time for Package "is-number" completed in 2.5 ms +2024-06-20 21:32:00.328 +02:00 [INF] Query-Time for Package "to-regex-range" completed in 2.4 ms +2024-06-20 21:32:00.331 +02:00 [INF] Query-Time for Package "fill-range" completed in 2.7 ms +2024-06-20 21:32:00.333 +02:00 [INF] Query-Time for Package "braces" completed in 2.0 ms +2024-06-20 21:32:00.335 +02:00 [INF] Query-Time for Package "pidtree" completed in 2.2 ms +2024-06-20 21:32:00.338 +02:00 [INF] Query-Time for Package "string-argv" completed in 2.7 ms +2024-06-20 21:32:00.341 +02:00 [INF] Query-Time for Package "yaml" completed in 2.1 ms +2024-06-20 21:32:00.344 +02:00 [INF] Query-Time for Package "lint-staged" completed in 2.8 ms +2024-06-20 21:33:08.992 +02:00 [INF] Query-Time for Package "async" completed in 3.2 ms +2024-06-20 21:33:08.995 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 3.1 ms +2024-06-20 21:33:08.998 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.4 ms +2024-06-20 21:33:09.000 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 2.4 ms +2024-06-20 21:33:09.003 +02:00 [INF] Query-Time for Package "has-ansi" completed in 2.2 ms +2024-06-20 21:33:09.005 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.2 ms +2024-06-20 21:33:09.007 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.3 ms +2024-06-20 21:33:09.009 +02:00 [INF] Query-Time for Package "chalk" completed in 1.9 ms +2024-06-20 21:33:09.012 +02:00 [INF] Query-Time for Package "aws-sign2" completed in 2.1 ms +2024-06-20 21:33:09.015 +02:00 [INF] Query-Time for Package "core-util-is" completed in 3.2 ms +2024-06-20 21:33:09.019 +02:00 [INF] Query-Time for Package "inherits" completed in 3.8 ms +2024-06-20 21:33:09.023 +02:00 [INF] Query-Time for Package "isarray" completed in 3.3 ms +2024-06-20 21:33:09.025 +02:00 [INF] Query-Time for Package "string_decoder" completed in 2.4 ms +2024-06-20 21:33:09.028 +02:00 [INF] Query-Time for Package "readable-stream" completed in 2.3 ms +2024-06-20 21:33:09.031 +02:00 [INF] Query-Time for Package "bl" completed in 3.3 ms +2024-06-20 21:33:09.035 +02:00 [INF] Query-Time for Package "caseless" completed in 3.3 ms +2024-06-20 21:33:09.038 +02:00 [INF] Query-Time for Package "forever-agent" completed in 2.9 ms +2024-06-20 21:33:09.042 +02:00 [INF] Query-Time for Package "async" completed in 3.4 ms +2024-06-20 21:33:09.045 +02:00 [INF] Query-Time for Package "delayed-stream" completed in 3.2 ms +2024-06-20 21:33:09.049 +02:00 [INF] Query-Time for Package "combined-stream" completed in 3.7 ms +2024-06-20 21:33:09.052 +02:00 [INF] Query-Time for Package "mime" completed in 2.9 ms +2024-06-20 21:33:09.056 +02:00 [INF] Query-Time for Package "form-data" completed in 3.2 ms +2024-06-20 21:33:09.060 +02:00 [INF] Query-Time for Package "hoek" completed in 3.7 ms +2024-06-20 21:33:09.063 +02:00 [INF] Query-Time for Package "boom" completed in 3.3 ms +2024-06-20 21:33:09.066 +02:00 [INF] Query-Time for Package "cryptiles" completed in 3.0 ms +2024-06-20 21:33:09.070 +02:00 [INF] Query-Time for Package "sntp" completed in 3.1 ms +2024-06-20 21:33:09.073 +02:00 [INF] Query-Time for Package "hawk" completed in 2.9 ms +2024-06-20 21:33:09.076 +02:00 [INF] Query-Time for Package "asn1" completed in 2.6 ms +2024-06-20 21:33:09.080 +02:00 [INF] Query-Time for Package "assert-plus" completed in 3.6 ms +2024-06-20 21:33:09.083 +02:00 [INF] Query-Time for Package "ctype" completed in 2.8 ms +2024-06-20 21:33:09.085 +02:00 [INF] Query-Time for Package "http-signature" completed in 2.6 ms +2024-06-20 21:33:09.088 +02:00 [INF] Query-Time for Package "json-stringify-safe" completed in 2.2 ms +2024-06-20 21:33:09.090 +02:00 [INF] Query-Time for Package "mime-types" completed in 2.3 ms +2024-06-20 21:33:09.093 +02:00 [INF] Query-Time for Package "node-uuid" completed in 2.5 ms +2024-06-20 21:33:09.096 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 2.9 ms +2024-06-20 21:33:09.099 +02:00 [INF] Query-Time for Package "qs" completed in 2.8 ms +2024-06-20 21:33:09.102 +02:00 [INF] Query-Time for Package "stringstream" completed in 2.5 ms +2024-06-20 21:33:09.104 +02:00 [INF] Query-Time for Package "tough-cookie" completed in 2.1 ms +2024-06-20 21:33:09.107 +02:00 [INF] Query-Time for Package "tunnel-agent" completed in 2.3 ms +2024-06-20 21:33:09.110 +02:00 [INF] Query-Time for Package "request" completed in 2.5 ms +2024-06-20 21:33:09.112 +02:00 [INF] Query-Time for Package "deep-equal" completed in 2.1 ms +2024-06-20 21:33:09.114 +02:00 [INF] Query-Time for Package "defined" completed in 2.3 ms +2024-06-20 21:33:09.117 +02:00 [INF] Query-Time for Package "jsonify" completed in 2.4 ms +2024-06-20 21:33:09.119 +02:00 [INF] Query-Time for Package "through" completed in 1.8 ms +2024-06-20 21:33:09.121 +02:00 [INF] Query-Time for Package "resumer" completed in 2.3 ms +2024-06-20 21:33:09.124 +02:00 [INF] Query-Time for Package "split" completed in 2.3 ms +2024-06-20 21:33:09.127 +02:00 [INF] Query-Time for Package "duplexer" completed in 2.6 ms +2024-06-20 21:33:09.130 +02:00 [INF] Query-Time for Package "stream-combiner" completed in 2.9 ms +2024-06-20 21:33:09.132 +02:00 [INF] Query-Time for Package "tape" completed in 2.4 ms +2024-06-20 21:33:09.135 +02:00 [INF] Query-Time for Package "urlgrey" completed in 2.2 ms +2024-06-20 21:33:09.137 +02:00 [INF] Query-Time for Package "codecov.io" completed in 2.5 ms +2024-06-20 21:33:09.141 +02:00 [INF] Query-Time for Package "sprintf-js" completed in 3.2 ms +2024-06-20 21:33:09.144 +02:00 [INF] Query-Time for Package "argparse" completed in 2.9 ms +2024-06-20 21:33:09.146 +02:00 [INF] Query-Time for Package "esprima" completed in 2.6 ms +2024-06-20 21:33:09.149 +02:00 [INF] Query-Time for Package "js-yaml" completed in 2.6 ms +2024-06-20 21:33:09.152 +02:00 [INF] Query-Time for Package "lcov-parse" completed in 2.6 ms +2024-06-20 21:33:09.154 +02:00 [INF] Query-Time for Package "log-driver" completed in 2.0 ms +2024-06-20 21:33:09.156 +02:00 [INF] Query-Time for Package "minimist" completed in 1.7 ms +2024-06-20 21:33:09.158 +02:00 [INF] Query-Time for Package "aws-sign2" completed in 2.0 ms +2024-06-20 21:33:09.160 +02:00 [INF] Query-Time for Package "aws4" completed in 2.0 ms +2024-06-20 21:33:09.163 +02:00 [INF] Query-Time for Package "caseless" completed in 2.3 ms +2024-06-20 21:33:09.165 +02:00 [INF] Query-Time for Package "combined-stream" completed in 2.3 ms +2024-06-20 21:33:09.168 +02:00 [INF] Query-Time for Package "extend" completed in 2.6 ms +2024-06-20 21:33:09.171 +02:00 [INF] Query-Time for Package "forever-agent" completed in 2.6 ms +2024-06-20 21:33:09.174 +02:00 [INF] Query-Time for Package "asynckit" completed in 3.1 ms +2024-06-20 21:33:09.178 +02:00 [INF] Query-Time for Package "mime-types" completed in 3.2 ms +2024-06-20 21:33:09.181 +02:00 [INF] Query-Time for Package "form-data" completed in 3.6 ms +2024-06-20 21:33:09.185 +02:00 [INF] Query-Time for Package "commander" completed in 3.7 ms +2024-06-20 21:33:09.190 +02:00 [INF] Query-Time for Package "is-property" completed in 4.3 ms +2024-06-20 21:33:09.193 +02:00 [INF] Query-Time for Package "generate-function" completed in 3.5 ms +2024-06-20 21:33:09.197 +02:00 [INF] Query-Time for Package "generate-object-property" completed in 3.2 ms +2024-06-20 21:33:09.201 +02:00 [INF] Query-Time for Package "is-my-ip-valid" completed in 3.7 ms +2024-06-20 21:33:09.204 +02:00 [INF] Query-Time for Package "jsonpointer" completed in 2.9 ms +2024-06-20 21:33:09.207 +02:00 [INF] Query-Time for Package "xtend" completed in 2.8 ms +2024-06-20 21:33:09.209 +02:00 [INF] Query-Time for Package "is-my-json-valid" completed in 2.4 ms +2024-06-20 21:33:09.212 +02:00 [INF] Query-Time for Package "pinkie" completed in 2.6 ms +2024-06-20 21:33:09.215 +02:00 [INF] Query-Time for Package "pinkie-promise" completed in 3.2 ms +2024-06-20 21:33:09.218 +02:00 [INF] Query-Time for Package "har-validator" completed in 2.8 ms +2024-06-20 21:33:09.221 +02:00 [INF] Query-Time for Package "hoek" completed in 2.2 ms +2024-06-20 21:33:09.223 +02:00 [INF] Query-Time for Package "boom" completed in 2.1 ms +2024-06-20 21:33:09.225 +02:00 [INF] Query-Time for Package "cryptiles" completed in 2.2 ms +2024-06-20 21:33:09.228 +02:00 [INF] Query-Time for Package "sntp" completed in 2.5 ms +2024-06-20 21:33:09.231 +02:00 [INF] Query-Time for Package "hawk" completed in 3.2 ms +2024-06-20 21:33:09.234 +02:00 [INF] Query-Time for Package "assert-plus" completed in 2.6 ms +2024-06-20 21:33:09.237 +02:00 [INF] Query-Time for Package "jsprim" completed in 2.4 ms +2024-06-20 21:33:09.239 +02:00 [INF] Query-Time for Package "sshpk" completed in 2.3 ms +2024-06-20 21:33:09.242 +02:00 [INF] Query-Time for Package "http-signature" completed in 2.3 ms +2024-06-20 21:33:09.245 +02:00 [INF] Query-Time for Package "is-typedarray" completed in 3.0 ms +2024-06-20 21:33:09.248 +02:00 [INF] Query-Time for Package "isstream" completed in 3.0 ms +2024-06-20 21:33:09.251 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 2.8 ms +2024-06-20 21:33:09.254 +02:00 [INF] Query-Time for Package "qs" completed in 2.3 ms +2024-06-20 21:33:09.256 +02:00 [INF] Query-Time for Package "punycode" completed in 2.1 ms +2024-06-20 21:33:09.258 +02:00 [INF] Query-Time for Package "tough-cookie" completed in 2.6 ms +2024-06-20 21:33:09.262 +02:00 [INF] Query-Time for Package "uuid" completed in 3.2 ms +2024-06-20 21:33:09.265 +02:00 [INF] Query-Time for Package "request" completed in 2.6 ms +2024-06-20 21:33:09.268 +02:00 [INF] Query-Time for Package "coveralls" completed in 2.3 ms +2024-06-20 21:33:09.270 +02:00 [INF] Query-Time for Package "curl-amd" completed in 1.9 ms +2024-06-20 21:33:09.272 +02:00 [INF] Query-Time for Package "lodash" completed in 2.5 ms +2024-06-20 21:33:09.276 +02:00 [INF] Query-Time for Package "docdown" completed in 3.2 ms +2024-06-20 21:33:09.279 +02:00 [INF] Query-Time for Package "dojo" completed in 2.5 ms +2024-06-20 21:33:09.281 +02:00 [INF] Query-Time for Package "he" completed in 2.4 ms +2024-06-20 21:33:09.284 +02:00 [INF] Query-Time for Package "mime" completed in 2.0 ms +2024-06-20 21:33:09.286 +02:00 [INF] Query-Time for Package "minimist" completed in 2.1 ms +2024-06-20 21:33:09.288 +02:00 [INF] Query-Time for Package "url-join" completed in 1.8 ms +2024-06-20 21:33:09.290 +02:00 [INF] Query-Time for Package "ecstatic" completed in 2.2 ms +2024-06-20 21:33:09.293 +02:00 [INF] Query-Time for Package "graceful-fs" completed in 2.2 ms +2024-06-20 21:33:09.295 +02:00 [INF] Query-Time for Package "jsonfile" completed in 2.0 ms +2024-06-20 21:33:09.297 +02:00 [INF] Query-Time for Package "klaw" completed in 2.2 ms +2024-06-20 21:33:09.300 +02:00 [INF] Query-Time for Package "path-is-absolute" completed in 2.3 ms +2024-06-20 21:33:09.301 +02:00 [INF] Query-Time for Package "fs.realpath" completed in 1.8 ms +2024-06-20 21:33:09.303 +02:00 [INF] Query-Time for Package "inflight" completed in 1.7 ms +2024-06-20 21:33:09.306 +02:00 [INF] Query-Time for Package "brace-expansion" completed in 2.6 ms +2024-06-20 21:33:09.308 +02:00 [INF] Query-Time for Package "minimatch" completed in 2.4 ms +2024-06-20 21:33:09.311 +02:00 [INF] Query-Time for Package "once" completed in 1.9 ms +2024-06-20 21:33:09.312 +02:00 [INF] Query-Time for Package "glob" completed in 1.6 ms +2024-06-20 21:33:09.314 +02:00 [INF] Query-Time for Package "rimraf" completed in 1.9 ms +2024-06-20 21:33:09.317 +02:00 [INF] Query-Time for Package "fs-extra" completed in 2.1 ms +2024-06-20 21:33:09.319 +02:00 [INF] Query-Time for Package "abbrev" completed in 1.9 ms +2024-06-20 21:33:09.321 +02:00 [INF] Query-Time for Package "esprima" completed in 2.4 ms +2024-06-20 21:33:09.323 +02:00 [INF] Query-Time for Package "estraverse" completed in 1.9 ms +2024-06-20 21:33:09.325 +02:00 [INF] Query-Time for Package "esutils" completed in 1.9 ms +2024-06-20 21:33:09.328 +02:00 [INF] Query-Time for Package "deep-is" completed in 2.2 ms +2024-06-20 21:33:09.330 +02:00 [INF] Query-Time for Package "fast-levenshtein" completed in 1.9 ms +2024-06-20 21:33:09.332 +02:00 [INF] Query-Time for Package "prelude-ls" completed in 1.9 ms +2024-06-20 21:33:09.334 +02:00 [INF] Query-Time for Package "type-check" completed in 2.0 ms +2024-06-20 21:33:09.336 +02:00 [INF] Query-Time for Package "levn" completed in 2.2 ms +2024-06-20 21:33:09.339 +02:00 [INF] Query-Time for Package "wordwrap" completed in 2.9 ms +2024-06-20 21:33:09.341 +02:00 [INF] Query-Time for Package "optionator" completed in 1.7 ms +2024-06-20 21:33:09.343 +02:00 [INF] Query-Time for Package "amdefine" completed in 1.7 ms +2024-06-20 21:33:09.345 +02:00 [INF] Query-Time for Package "source-map" completed in 1.9 ms +2024-06-20 21:33:09.347 +02:00 [INF] Query-Time for Package "escodegen" completed in 1.9 ms +2024-06-20 21:33:09.349 +02:00 [INF] Query-Time for Package "minimatch" completed in 2.1 ms +2024-06-20 21:33:09.352 +02:00 [INF] Query-Time for Package "glob" completed in 2.4 ms +2024-06-20 21:33:09.354 +02:00 [INF] Query-Time for Package "fileset" completed in 1.7 ms +2024-06-20 21:33:09.355 +02:00 [INF] Query-Time for Package "neo-async" completed in 1.7 ms +2024-06-20 21:33:09.357 +02:00 [INF] Query-Time for Package "source-map" completed in 2.0 ms +2024-06-20 21:33:09.360 +02:00 [INF] Query-Time for Package "uglify-js" completed in 2.0 ms +2024-06-20 21:33:09.362 +02:00 [INF] Query-Time for Package "wordwrap" completed in 2.4 ms +2024-06-20 21:33:09.364 +02:00 [INF] Query-Time for Package "handlebars" completed in 2.0 ms +2024-06-20 21:33:09.367 +02:00 [INF] Query-Time for Package "esprima" completed in 2.2 ms +2024-06-20 21:33:09.369 +02:00 [INF] Query-Time for Package "js-yaml" completed in 2.2 ms +2024-06-20 21:33:09.371 +02:00 [INF] Query-Time for Package "mkdirp" completed in 1.8 ms +2024-06-20 21:33:09.373 +02:00 [INF] Query-Time for Package "nopt" completed in 1.7 ms +2024-06-20 21:33:09.375 +02:00 [INF] Query-Time for Package "wrappy" completed in 1.8 ms +2024-06-20 21:33:09.377 +02:00 [INF] Query-Time for Package "resolve" completed in 1.9 ms +2024-06-20 21:33:09.379 +02:00 [INF] Query-Time for Package "has-flag" completed in 1.8 ms +2024-06-20 21:33:09.380 +02:00 [INF] Query-Time for Package "supports-color" completed in 1.8 ms +2024-06-20 21:33:09.384 +02:00 [INF] Query-Time for Package "isexe" completed in 3.1 ms +2024-06-20 21:33:09.386 +02:00 [INF] Query-Time for Package "which" completed in 2.6 ms +2024-06-20 21:33:09.390 +02:00 [INF] Query-Time for Package "istanbul" completed in 3.4 ms +2024-06-20 21:33:09.394 +02:00 [INF] Query-Time for Package "jquery" completed in 4.1 ms +2024-06-20 21:33:09.398 +02:00 [INF] Query-Time for Package "babel-plugin-constant-folding" completed in 2.9 ms +2024-06-20 21:33:09.401 +02:00 [INF] Query-Time for Package "babel-plugin-dead-code-elimination" completed in 3.1 ms +2024-06-20 21:33:09.404 +02:00 [INF] Query-Time for Package "babel-plugin-eval" completed in 2.3 ms +2024-06-20 21:33:09.407 +02:00 [INF] Query-Time for Package "babel-plugin-inline-environment-variables" completed in 2.9 ms +2024-06-20 21:33:09.409 +02:00 [INF] Query-Time for Package "babel-plugin-jscript" completed in 2.0 ms +2024-06-20 21:33:09.411 +02:00 [INF] Query-Time for Package "babel-plugin-member-expression-literals" completed in 2.2 ms +2024-06-20 21:33:09.414 +02:00 [INF] Query-Time for Package "babel-plugin-property-literals" completed in 2.9 ms +2024-06-20 21:33:09.417 +02:00 [INF] Query-Time for Package "babel-plugin-proto-to-assign" completed in 2.7 ms +2024-06-20 21:33:09.419 +02:00 [INF] Query-Time for Package "babel-plugin-react-constant-elements" completed in 1.8 ms +2024-06-20 21:33:09.421 +02:00 [INF] Query-Time for Package "babel-plugin-react-display-name" completed in 1.7 ms +2024-06-20 21:33:09.423 +02:00 [INF] Query-Time for Package "babel-plugin-remove-console" completed in 1.8 ms +2024-06-20 21:33:09.425 +02:00 [INF] Query-Time for Package "babel-plugin-remove-debugger" completed in 1.8 ms +2024-06-20 21:33:09.427 +02:00 [INF] Query-Time for Package "babel-plugin-runtime" completed in 2.2 ms +2024-06-20 21:33:09.430 +02:00 [INF] Query-Time for Package "leven" completed in 2.6 ms +2024-06-20 21:33:09.432 +02:00 [INF] Query-Time for Package "babel-plugin-undeclared-variables-check" completed in 2.2 ms +2024-06-20 21:33:09.434 +02:00 [INF] Query-Time for Package "babel-plugin-undefined-to-void" completed in 2.0 ms +2024-06-20 21:33:09.436 +02:00 [INF] Query-Time for Package "babylon" completed in 1.9 ms +2024-06-20 21:33:09.438 +02:00 [INF] Query-Time for Package "bluebird" completed in 1.9 ms +2024-06-20 21:33:09.440 +02:00 [INF] Query-Time for Package "convert-source-map" completed in 1.8 ms +2024-06-20 21:33:09.442 +02:00 [INF] Query-Time for Package "core-js" completed in 2.1 ms +2024-06-20 21:33:09.446 +02:00 [INF] Query-Time for Package "ms" completed in 3.0 ms +2024-06-20 21:33:09.449 +02:00 [INF] Query-Time for Package "debug" completed in 2.9 ms +2024-06-20 21:33:09.452 +02:00 [INF] Query-Time for Package "get-stdin" completed in 2.5 ms +2024-06-20 21:33:09.454 +02:00 [INF] Query-Time for Package "repeating" completed in 1.9 ms +2024-06-20 21:33:09.456 +02:00 [INF] Query-Time for Package "detect-indent" completed in 1.9 ms +2024-06-20 21:33:09.458 +02:00 [INF] Query-Time for Package "fs-readdir-recursive" completed in 1.9 ms +2024-06-20 21:33:09.461 +02:00 [INF] Query-Time for Package "globals" completed in 2.6 ms +2024-06-20 21:33:09.463 +02:00 [INF] Query-Time for Package "os-tmpdir" completed in 2.1 ms +2024-06-20 21:33:09.465 +02:00 [INF] Query-Time for Package "user-home" completed in 2.3 ms +2024-06-20 21:33:09.467 +02:00 [INF] Query-Time for Package "home-or-tmp" completed in 1.8 ms +2024-06-20 21:33:09.469 +02:00 [INF] Query-Time for Package "is-finite" completed in 1.9 ms +2024-06-20 21:33:09.471 +02:00 [INF] Query-Time for Package "is-integer" completed in 1.9 ms +2024-06-20 21:33:09.474 +02:00 [INF] Query-Time for Package "js-tokens" completed in 2.2 ms +2024-06-20 21:33:09.476 +02:00 [INF] Query-Time for Package "json5" completed in 2.4 ms +2024-06-20 21:33:09.479 +02:00 [INF] Query-Time for Package "object-assign" completed in 1.9 ms +2024-06-20 21:33:09.481 +02:00 [INF] Query-Time for Package "output-file-sync" completed in 1.9 ms +2024-06-20 21:33:09.483 +02:00 [INF] Query-Time for Package "path-exists" completed in 2.2 ms +2024-06-20 21:33:09.485 +02:00 [INF] Query-Time for Package "private" completed in 2.1 ms +2024-06-20 21:33:09.487 +02:00 [INF] Query-Time for Package "acorn" completed in 1.8 ms +2024-06-20 21:33:09.489 +02:00 [INF] Query-Time for Package "defined" completed in 2.0 ms +2024-06-20 21:33:09.492 +02:00 [INF] Query-Time for Package "detective" completed in 2.3 ms +2024-06-20 21:33:09.494 +02:00 [INF] Query-Time for Package "safer-buffer" completed in 2.1 ms +2024-06-20 21:33:09.496 +02:00 [INF] Query-Time for Package "iconv-lite" completed in 2.2 ms +2024-06-20 21:33:09.499 +02:00 [INF] Query-Time for Package "q" completed in 2.3 ms +2024-06-20 21:33:09.501 +02:00 [INF] Query-Time for Package "ast-types" completed in 2.5 ms +2024-06-20 21:33:09.504 +02:00 [INF] Query-Time for Package "esprima" completed in 2.2 ms +2024-06-20 21:33:09.506 +02:00 [INF] Query-Time for Package "source-map" completed in 2.0 ms +2024-06-20 21:33:09.508 +02:00 [INF] Query-Time for Package "recast" completed in 1.8 ms +2024-06-20 21:33:09.510 +02:00 [INF] Query-Time for Package "commoner" completed in 2.6 ms +2024-06-20 21:33:09.513 +02:00 [INF] Query-Time for Package "stable" completed in 2.1 ms +2024-06-20 21:33:09.515 +02:00 [INF] Query-Time for Package "alter" completed in 2.5 ms +2024-06-20 21:33:09.521 +02:00 [INF] Query-Time for Package "ast-traverse" completed in 2.3 ms +2024-06-20 21:33:09.523 +02:00 [INF] Query-Time for Package "breakable" completed in 2.2 ms +2024-06-20 21:33:09.525 +02:00 [INF] Query-Time for Package "esprima-fb" completed in 2.0 ms +2024-06-20 21:33:09.527 +02:00 [INF] Query-Time for Package "simple-fmt" completed in 2.2 ms +2024-06-20 21:33:09.529 +02:00 [INF] Query-Time for Package "simple-is" completed in 1.7 ms +2024-06-20 21:33:09.531 +02:00 [INF] Query-Time for Package "stringmap" completed in 1.9 ms +2024-06-20 21:33:09.533 +02:00 [INF] Query-Time for Package "stringset" completed in 1.8 ms +2024-06-20 21:33:09.535 +02:00 [INF] Query-Time for Package "tryor" completed in 1.8 ms +2024-06-20 21:33:09.537 +02:00 [INF] Query-Time for Package "camelcase" completed in 1.8 ms +2024-06-20 21:33:09.539 +02:00 [INF] Query-Time for Package "center-align" completed in 2.1 ms +2024-06-20 21:33:09.541 +02:00 [INF] Query-Time for Package "right-align" completed in 1.9 ms +2024-06-20 21:33:09.543 +02:00 [INF] Query-Time for Package "wordwrap" completed in 1.7 ms +2024-06-20 21:33:09.545 +02:00 [INF] Query-Time for Package "cliui" completed in 1.8 ms +2024-06-20 21:33:09.547 +02:00 [INF] Query-Time for Package "decamelize" completed in 1.9 ms +2024-06-20 21:33:09.550 +02:00 [INF] Query-Time for Package "invert-kv" completed in 2.8 ms +2024-06-20 21:33:09.554 +02:00 [INF] Query-Time for Package "lcid" completed in 3.2 ms +2024-06-20 21:33:09.556 +02:00 [INF] Query-Time for Package "os-locale" completed in 2.1 ms +2024-06-20 21:33:09.558 +02:00 [INF] Query-Time for Package "window-size" completed in 1.9 ms +2024-06-20 21:33:09.560 +02:00 [INF] Query-Time for Package "y18n" completed in 2.1 ms +2024-06-20 21:33:09.563 +02:00 [INF] Query-Time for Package "yargs" completed in 2.6 ms +2024-06-20 21:33:09.566 +02:00 [INF] Query-Time for Package "defs" completed in 2.3 ms +2024-06-20 21:33:09.568 +02:00 [INF] Query-Time for Package "ast-types" completed in 2.1 ms +2024-06-20 21:33:09.570 +02:00 [INF] Query-Time for Package "recast" completed in 2.2 ms +2024-06-20 21:33:09.572 +02:00 [INF] Query-Time for Package "regenerator" completed in 2.0 ms +2024-06-20 21:33:09.574 +02:00 [INF] Query-Time for Package "regenerate" completed in 1.7 ms +2024-06-20 21:33:09.576 +02:00 [INF] Query-Time for Package "regjsgen" completed in 1.9 ms +2024-06-20 21:33:09.578 +02:00 [INF] Query-Time for Package "jsesc" completed in 1.8 ms +2024-06-20 21:33:09.580 +02:00 [INF] Query-Time for Package "regjsparser" completed in 1.8 ms +2024-06-20 21:33:09.583 +02:00 [INF] Query-Time for Package "regexpu" completed in 3.3 ms +2024-06-20 21:33:09.585 +02:00 [INF] Query-Time for Package "resolve" completed in 2.1 ms +2024-06-20 21:33:09.588 +02:00 [INF] Query-Time for Package "shebang-regex" completed in 2.4 ms +2024-06-20 21:33:09.591 +02:00 [INF] Query-Time for Package "slash" completed in 2.5 ms +2024-06-20 21:33:09.594 +02:00 [INF] Query-Time for Package "source-map" completed in 2.9 ms +2024-06-20 21:33:09.597 +02:00 [INF] Query-Time for Package "source-map-support" completed in 2.9 ms +2024-06-20 21:33:09.600 +02:00 [INF] Query-Time for Package "to-fast-properties" completed in 3.5 ms +2024-06-20 21:33:09.604 +02:00 [INF] Query-Time for Package "trim-right" completed in 3.2 ms +2024-06-20 21:33:09.608 +02:00 [INF] Query-Time for Package "try-resolve" completed in 3.6 ms +2024-06-20 21:33:09.611 +02:00 [INF] Query-Time for Package "babel-core" completed in 3.3 ms +2024-06-20 21:33:09.615 +02:00 [INF] Query-Time for Package "lodash._basecopy" completed in 3.4 ms +2024-06-20 21:33:09.619 +02:00 [INF] Query-Time for Package "lodash.keys" completed in 3.6 ms +2024-06-20 21:33:09.622 +02:00 [INF] Query-Time for Package "lodash._baseassign" completed in 3.3 ms +2024-06-20 21:33:09.626 +02:00 [INF] Query-Time for Package "lodash._bindcallback" completed in 3.2 ms +2024-06-20 21:33:09.629 +02:00 [INF] Query-Time for Package "lodash._isiterateecall" completed in 3.3 ms +2024-06-20 21:33:09.632 +02:00 [INF] Query-Time for Package "lodash.restparam" completed in 3.0 ms +2024-06-20 21:33:09.634 +02:00 [INF] Query-Time for Package "lodash._createassigner" completed in 1.9 ms +2024-06-20 21:33:09.637 +02:00 [INF] Query-Time for Package "lodash._getnative" completed in 2.7 ms +2024-06-20 21:33:09.639 +02:00 [INF] Query-Time for Package "lodash.isarguments" completed in 2.1 ms +2024-06-20 21:33:09.642 +02:00 [INF] Query-Time for Package "lodash.isarray" completed in 2.3 ms +2024-06-20 21:33:09.644 +02:00 [INF] Query-Time for Package "lodash.assign" completed in 1.9 ms +2024-06-20 21:33:09.646 +02:00 [INF] Query-Time for Package "babel-jscs" completed in 2.0 ms +2024-06-20 21:33:09.649 +02:00 [INF] Query-Time for Package "colors" completed in 2.8 ms +2024-06-20 21:33:09.652 +02:00 [INF] Query-Time for Package "cli-table" completed in 2.7 ms +2024-06-20 21:33:09.655 +02:00 [INF] Query-Time for Package "graceful-readlink" completed in 2.5 ms +2024-06-20 21:33:09.657 +02:00 [INF] Query-Time for Package "commander" completed in 2.1 ms +2024-06-20 21:33:09.660 +02:00 [INF] Query-Time for Package "es5-ext" completed in 2.8 ms +2024-06-20 21:33:09.662 +02:00 [INF] Query-Time for Package "type" completed in 2.4 ms +2024-06-20 21:33:09.665 +02:00 [INF] Query-Time for Package "d" completed in 2.0 ms +2024-06-20 21:33:09.667 +02:00 [INF] Query-Time for Package "es6-iterator" completed in 1.9 ms +2024-06-20 21:33:09.668 +02:00 [INF] Query-Time for Package "es6-symbol" completed in 1.8 ms +2024-06-20 21:33:09.670 +02:00 [INF] Query-Time for Package "event-emitter" completed in 1.7 ms +2024-06-20 21:33:09.673 +02:00 [INF] Query-Time for Package "esniff" completed in 2.3 ms +2024-06-20 21:33:09.675 +02:00 [INF] Query-Time for Package "next-tick" completed in 2.0 ms +2024-06-20 21:33:09.677 +02:00 [INF] Query-Time for Package "es6-set" completed in 2.3 ms +2024-06-20 21:33:09.680 +02:00 [INF] Query-Time for Package "ext" completed in 2.8 ms +2024-06-20 21:33:09.683 +02:00 [INF] Query-Time for Package "es6-map" completed in 2.6 ms +2024-06-20 21:33:09.685 +02:00 [INF] Query-Time for Package "es6-weak-map" completed in 2.0 ms +2024-06-20 21:33:09.687 +02:00 [INF] Query-Time for Package "estraverse" completed in 1.7 ms +2024-06-20 21:33:09.689 +02:00 [INF] Query-Time for Package "esrecurse" completed in 1.9 ms +2024-06-20 21:33:09.691 +02:00 [INF] Query-Time for Package "estraverse" completed in 2.0 ms +2024-06-20 21:33:09.693 +02:00 [INF] Query-Time for Package "escope" completed in 2.2 ms +2024-06-20 21:33:09.696 +02:00 [INF] Query-Time for Package "exit" completed in 2.2 ms +2024-06-20 21:33:09.698 +02:00 [INF] Query-Time for Package "minimatch" completed in 2.1 ms +2024-06-20 21:33:09.700 +02:00 [INF] Query-Time for Package "domelementtype" completed in 1.9 ms +2024-06-20 21:33:09.702 +02:00 [INF] Query-Time for Package "domhandler" completed in 2.0 ms +2024-06-20 21:33:09.706 +02:00 [INF] Query-Time for Package "domelementtype" completed in 3.7 ms +2024-06-20 21:33:09.708 +02:00 [INF] Query-Time for Package "entities" completed in 2.2 ms +2024-06-20 21:33:09.711 +02:00 [INF] Query-Time for Package "dom-serializer" completed in 2.0 ms +2024-06-20 21:33:09.712 +02:00 [INF] Query-Time for Package "domutils" completed in 1.6 ms +2024-06-20 21:33:09.714 +02:00 [INF] Query-Time for Package "entities" completed in 2.0 ms +2024-06-20 21:33:09.717 +02:00 [INF] Query-Time for Package "readable-stream" completed in 2.0 ms +2024-06-20 21:33:09.719 +02:00 [INF] Query-Time for Package "htmlparser2" completed in 2.3 ms +2024-06-20 21:33:09.721 +02:00 [INF] Query-Time for Package "inherit" completed in 2.1 ms +2024-06-20 21:33:09.723 +02:00 [INF] Query-Time for Package "js-yaml" completed in 1.9 ms +2024-06-20 21:33:09.725 +02:00 [INF] Query-Time for Package "isarray" completed in 2.1 ms +2024-06-20 21:33:09.729 +02:00 [INF] Query-Time for Package "process-nextick-args" completed in 2.9 ms +2024-06-20 21:33:09.731 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 2.5 ms +2024-06-20 21:33:09.734 +02:00 [INF] Query-Time for Package "string_decoder" completed in 2.2 ms +2024-06-20 21:33:09.735 +02:00 [INF] Query-Time for Package "util-deprecate" completed in 1.8 ms +2024-06-20 21:33:09.737 +02:00 [INF] Query-Time for Package "readable-stream" completed in 1.7 ms +2024-06-20 21:33:09.739 +02:00 [INF] Query-Time for Package "comment-parser" completed in 2.0 ms +2024-06-20 21:33:09.742 +02:00 [INF] Query-Time for Package "jsdoctypeparser" completed in 2.0 ms +2024-06-20 21:33:09.743 +02:00 [INF] Query-Time for Package "jscs-jsdoc" completed in 1.7 ms +2024-06-20 21:33:09.746 +02:00 [INF] Query-Time for Package "jscs-preset-wikimedia" completed in 2.0 ms +2024-06-20 21:33:09.748 +02:00 [INF] Query-Time for Package "JSV" completed in 2.5 ms +2024-06-20 21:33:09.752 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 3.4 ms +2024-06-20 21:33:09.754 +02:00 [INF] Query-Time for Package "has-color" completed in 2.2 ms +2024-06-20 21:33:09.756 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.0 ms +2024-06-20 21:33:09.758 +02:00 [INF] Query-Time for Package "chalk" completed in 2.1 ms +2024-06-20 21:33:09.761 +02:00 [INF] Query-Time for Package "underscore" completed in 2.7 ms +2024-06-20 21:33:09.765 +02:00 [INF] Query-Time for Package "nomnom" completed in 2.9 ms +2024-06-20 21:33:09.767 +02:00 [INF] Query-Time for Package "jsonlint" completed in 2.3 ms +2024-06-20 21:33:09.769 +02:00 [INF] Query-Time for Package "balanced-match" completed in 2.1 ms +2024-06-20 21:33:09.772 +02:00 [INF] Query-Time for Package "concat-map" completed in 2.3 ms +2024-06-20 21:33:09.773 +02:00 [INF] Query-Time for Package "natural-compare" completed in 1.7 ms +2024-06-20 21:33:09.776 +02:00 [INF] Query-Time for Package "pathval" completed in 2.1 ms +2024-06-20 21:33:09.778 +02:00 [INF] Query-Time for Package "pkginfo" completed in 1.9 ms +2024-06-20 21:33:09.781 +02:00 [INF] Query-Time for Package "mute-stream" completed in 2.9 ms +2024-06-20 21:33:09.784 +02:00 [INF] Query-Time for Package "read" completed in 3.0 ms +2024-06-20 21:33:09.786 +02:00 [INF] Query-Time for Package "revalidator" completed in 2.1 ms +2024-06-20 21:33:09.789 +02:00 [INF] Query-Time for Package "async" completed in 2.6 ms +2024-06-20 21:33:09.792 +02:00 [INF] Query-Time for Package "i" completed in 3.0 ms +2024-06-20 21:33:09.798 +02:00 [INF] Query-Time for Package "ncp" completed in 2.4 ms +2024-06-20 21:33:09.800 +02:00 [INF] Query-Time for Package "utile" completed in 2.4 ms +2024-06-20 21:33:09.802 +02:00 [INF] Query-Time for Package "colors" completed in 2.0 ms +2024-06-20 21:33:09.804 +02:00 [INF] Query-Time for Package "cycle" completed in 1.8 ms +2024-06-20 21:33:09.807 +02:00 [INF] Query-Time for Package "eyes" completed in 2.1 ms +2024-06-20 21:33:09.809 +02:00 [INF] Query-Time for Package "pkginfo" completed in 2.1 ms +2024-06-20 21:33:09.812 +02:00 [INF] Query-Time for Package "stack-trace" completed in 3.3 ms +2024-06-20 21:33:09.815 +02:00 [INF] Query-Time for Package "winston" completed in 3.0 ms +2024-06-20 21:33:09.820 +02:00 [INF] Query-Time for Package "prompt" completed in 4.2 ms +2024-06-20 21:33:09.823 +02:00 [INF] Query-Time for Package "reserved-words" completed in 2.9 ms +2024-06-20 21:33:09.826 +02:00 [INF] Query-Time for Package "function-bind" completed in 3.2 ms +2024-06-20 21:33:09.829 +02:00 [INF] Query-Time for Package "has" completed in 2.5 ms +2024-06-20 21:33:09.832 +02:00 [INF] Query-Time for Package "is-core-module" completed in 2.9 ms +2024-06-20 21:33:09.835 +02:00 [INF] Query-Time for Package "path-parse" completed in 2.4 ms +2024-06-20 21:33:09.838 +02:00 [INF] Query-Time for Package "supports-preserve-symlinks-flag" completed in 3.3 ms +2024-06-20 21:33:09.841 +02:00 [INF] Query-Time for Package "is-utf8" completed in 2.9 ms +2024-06-20 21:33:09.845 +02:00 [INF] Query-Time for Package "strip-bom" completed in 2.9 ms +2024-06-20 21:33:09.847 +02:00 [INF] Query-Time for Package "strip-json-comments" completed in 2.4 ms +2024-06-20 21:33:09.851 +02:00 [INF] Query-Time for Package "to-double-quotes" completed in 3.3 ms +2024-06-20 21:33:09.853 +02:00 [INF] Query-Time for Package "to-single-quotes" completed in 2.0 ms +2024-06-20 21:33:09.855 +02:00 [INF] Query-Time for Package "uuid" completed in 2.0 ms +2024-06-20 21:33:09.857 +02:00 [INF] Query-Time for Package "vow" completed in 2.3 ms +2024-06-20 21:33:09.860 +02:00 [INF] Query-Time for Package "vow-queue" completed in 2.7 ms +2024-06-20 21:33:09.863 +02:00 [INF] Query-Time for Package "vow-fs" completed in 2.6 ms +2024-06-20 21:33:09.865 +02:00 [INF] Query-Time for Package "xmlbuilder" completed in 2.1 ms +2024-06-20 21:33:09.867 +02:00 [INF] Query-Time for Package "jscs" completed in 1.8 ms +2024-06-20 21:33:09.869 +02:00 [INF] Query-Time for Package "platform" completed in 2.3 ms +2024-06-20 21:33:09.875 +02:00 [INF] Query-Time for Package "qunit-extras" completed in 2.4 ms +2024-06-20 21:33:09.877 +02:00 [INF] Query-Time for Package "qunitjs" completed in 1.8 ms +2024-06-20 21:33:09.879 +02:00 [INF] Query-Time for Package "aws-sign2" completed in 2.2 ms +2024-06-20 21:33:09.881 +02:00 [INF] Query-Time for Package "caseless" completed in 2.1 ms +2024-06-20 21:33:09.883 +02:00 [INF] Query-Time for Package "delayed-stream" completed in 2.0 ms +2024-06-20 21:33:09.886 +02:00 [INF] Query-Time for Package "form-data" completed in 2.2 ms +2024-06-20 21:33:09.888 +02:00 [INF] Query-Time for Package "fast-deep-equal" completed in 2.0 ms +2024-06-20 21:33:09.890 +02:00 [INF] Query-Time for Package "fast-json-stable-stringify" completed in 2.0 ms +2024-06-20 21:33:09.892 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 2.2 ms +2024-06-20 21:33:09.894 +02:00 [INF] Query-Time for Package "punycode" completed in 2.0 ms +2024-06-20 21:33:09.897 +02:00 [INF] Query-Time for Package "uri-js" completed in 2.2 ms +2024-06-20 21:33:09.899 +02:00 [INF] Query-Time for Package "ajv" completed in 2.0 ms +2024-06-20 21:33:09.901 +02:00 [INF] Query-Time for Package "har-schema" completed in 1.9 ms +2024-06-20 21:33:09.903 +02:00 [INF] Query-Time for Package "har-validator" completed in 2.4 ms +2024-06-20 21:33:09.905 +02:00 [INF] Query-Time for Package "assert-plus" completed in 1.8 ms +2024-06-20 21:33:09.907 +02:00 [INF] Query-Time for Package "extsprintf" completed in 1.7 ms +2024-06-20 21:33:09.910 +02:00 [INF] Query-Time for Package "json-schema" completed in 2.5 ms +2024-06-20 21:33:09.912 +02:00 [INF] Query-Time for Package "verror" completed in 2.4 ms +2024-06-20 21:33:09.915 +02:00 [INF] Query-Time for Package "asn1" completed in 2.4 ms +2024-06-20 21:33:09.918 +02:00 [INF] Query-Time for Package "tweetnacl" completed in 2.9 ms +2024-06-20 21:33:09.921 +02:00 [INF] Query-Time for Package "bcrypt-pbkdf" completed in 2.8 ms +2024-06-20 21:33:09.923 +02:00 [INF] Query-Time for Package "dashdash" completed in 2.3 ms +2024-06-20 21:33:09.926 +02:00 [INF] Query-Time for Package "jsbn" completed in 2.3 ms +2024-06-20 21:33:09.928 +02:00 [INF] Query-Time for Package "ecc-jsbn" completed in 2.4 ms +2024-06-20 21:33:09.931 +02:00 [INF] Query-Time for Package "getpass" completed in 2.2 ms +2024-06-20 21:33:09.933 +02:00 [INF] Query-Time for Package "http-signature" completed in 2.4 ms +2024-06-20 21:33:09.935 +02:00 [INF] Query-Time for Package "mime-db" completed in 2.1 ms +2024-06-20 21:33:09.937 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 2.1 ms +2024-06-20 21:33:09.940 +02:00 [INF] Query-Time for Package "performance-now" completed in 2.2 ms +2024-06-20 21:33:09.942 +02:00 [INF] Query-Time for Package "qs" completed in 1.8 ms +2024-06-20 21:33:09.944 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 1.9 ms +2024-06-20 21:33:09.946 +02:00 [INF] Query-Time for Package "psl" completed in 2.3 ms +2024-06-20 21:33:09.948 +02:00 [INF] Query-Time for Package "tunnel-agent" completed in 2.2 ms +2024-06-20 21:33:09.953 +02:00 [INF] Query-Time for Package "request" completed in 4.6 ms +2024-06-20 21:33:09.956 +02:00 [INF] Query-Time for Package "requirejs" completed in 2.7 ms +2024-06-20 21:33:09.959 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 2.8 ms +2024-06-20 21:33:09.961 +02:00 [INF] Query-Time for Package "has-ansi" completed in 2.0 ms +2024-06-20 21:33:09.963 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.2 ms +2024-06-20 21:33:09.966 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.3 ms +2024-06-20 21:33:09.969 +02:00 [INF] Query-Time for Package "chalk" completed in 2.7 ms +2024-06-20 21:33:09.972 +02:00 [INF] Query-Time for Package "aws-sign" completed in 2.8 ms +2024-06-20 21:33:09.974 +02:00 [INF] Query-Time for Package "cookie-jar" completed in 2.1 ms +2024-06-20 21:33:09.977 +02:00 [INF] Query-Time for Package "form-data" completed in 2.7 ms +2024-06-20 21:33:09.979 +02:00 [INF] Query-Time for Package "hoek" completed in 2.6 ms +2024-06-20 21:33:09.984 +02:00 [INF] Query-Time for Package "hawk" completed in 4.0 ms +2024-06-20 21:33:09.986 +02:00 [INF] Query-Time for Package "assert-plus" completed in 2.5 ms +2024-06-20 21:33:09.989 +02:00 [INF] Query-Time for Package "ctype" completed in 2.3 ms +2024-06-20 21:33:09.991 +02:00 [INF] Query-Time for Package "http-signature" completed in 2.3 ms +2024-06-20 21:33:09.995 +02:00 [INF] Query-Time for Package "json-stringify-safe" completed in 3.2 ms +2024-06-20 21:33:09.998 +02:00 [INF] Query-Time for Package "oauth-sign" completed in 3.2 ms +2024-06-20 21:33:10.001 +02:00 [INF] Query-Time for Package "qs" completed in 3.3 ms +2024-06-20 21:33:10.005 +02:00 [INF] Query-Time for Package "tunnel-agent" completed in 3.7 ms +2024-06-20 21:33:10.009 +02:00 [INF] Query-Time for Package "request" completed in 3.7 ms +2024-06-20 21:33:10.015 +02:00 [INF] Query-Time for Package "split" completed in 5.7 ms +2024-06-20 21:33:10.019 +02:00 [INF] Query-Time for Package "sauce-tunnel" completed in 3.5 ms +2024-06-20 21:33:10.022 +02:00 [INF] Query-Time for Package "uglify-to-browserify" completed in 2.8 ms +2024-06-20 21:33:10.025 +02:00 [INF] Query-Time for Package "is-buffer" completed in 2.8 ms +2024-06-20 21:33:10.028 +02:00 [INF] Query-Time for Package "kind-of" completed in 3.1 ms +2024-06-20 21:33:10.032 +02:00 [INF] Query-Time for Package "longest" completed in 3.5 ms +2024-06-20 21:33:10.036 +02:00 [INF] Query-Time for Package "repeat-string" completed in 4.1 ms +2024-06-20 21:33:10.040 +02:00 [INF] Query-Time for Package "align-text" completed in 3.6 ms +2024-06-20 21:33:10.044 +02:00 [INF] Query-Time for Package "lazy-cache" completed in 4.3 ms +2024-06-20 21:33:10.047 +02:00 [INF] Query-Time for Package "window-size" completed in 2.4 ms +2024-06-20 21:33:10.050 +02:00 [INF] Query-Time for Package "yargs" completed in 2.5 ms +2024-06-20 21:33:10.052 +02:00 [INF] Query-Time for Package "uglify-js" completed in 2.0 ms +2024-06-20 21:33:10.054 +02:00 [INF] Query-Time for Package "acorn" completed in 2.0 ms +2024-06-20 21:33:10.056 +02:00 [INF] Query-Time for Package "clone" completed in 2.4 ms +2024-06-20 21:33:10.060 +02:00 [INF] Query-Time for Package "memory-fs" completed in 3.5 ms +2024-06-20 21:33:10.064 +02:00 [INF] Query-Time for Package "tapable" completed in 3.5 ms +2024-06-20 21:33:10.067 +02:00 [INF] Query-Time for Package "enhanced-resolve" completed in 3.1 ms +2024-06-20 21:33:10.070 +02:00 [INF] Query-Time for Package "interpret" completed in 2.8 ms +2024-06-20 21:33:10.074 +02:00 [INF] Query-Time for Package "big.js" completed in 3.6 ms +2024-06-20 21:33:10.076 +02:00 [INF] Query-Time for Package "emojis-list" completed in 2.2 ms +2024-06-20 21:33:10.079 +02:00 [INF] Query-Time for Package "json5" completed in 2.2 ms +2024-06-20 21:33:10.081 +02:00 [INF] Query-Time for Package "loader-utils" completed in 2.2 ms +2024-06-20 21:33:10.084 +02:00 [INF] Query-Time for Package "prr" completed in 2.4 ms +2024-06-20 21:33:10.086 +02:00 [INF] Query-Time for Package "errno" completed in 2.4 ms +2024-06-20 21:33:10.089 +02:00 [INF] Query-Time for Package "memory-fs" completed in 2.2 ms +2024-06-20 21:33:10.091 +02:00 [INF] Query-Time for Package "get-intrinsic" completed in 2.3 ms +2024-06-20 21:33:10.094 +02:00 [INF] Query-Time for Package "es-define-property" completed in 2.2 ms +2024-06-20 21:33:10.096 +02:00 [INF] Query-Time for Package "es-errors" completed in 2.3 ms +2024-06-20 21:33:10.099 +02:00 [INF] Query-Time for Package "has-proto" completed in 2.5 ms +2024-06-20 21:33:10.101 +02:00 [INF] Query-Time for Package "has-symbols" completed in 2.4 ms +2024-06-20 21:33:10.105 +02:00 [INF] Query-Time for Package "hasown" completed in 3.6 ms +2024-06-20 21:33:10.107 +02:00 [INF] Query-Time for Package "define-data-property" completed in 2.1 ms +2024-06-20 21:33:10.110 +02:00 [INF] Query-Time for Package "gopd" completed in 2.4 ms +2024-06-20 21:33:10.112 +02:00 [INF] Query-Time for Package "has-property-descriptors" completed in 1.9 ms +2024-06-20 21:33:10.114 +02:00 [INF] Query-Time for Package "set-function-length" completed in 1.9 ms +2024-06-20 21:33:10.117 +02:00 [INF] Query-Time for Package "call-bind" completed in 2.6 ms +2024-06-20 21:33:10.120 +02:00 [INF] Query-Time for Package "object-keys" completed in 2.8 ms +2024-06-20 21:33:10.122 +02:00 [INF] Query-Time for Package "define-properties" completed in 2.7 ms +2024-06-20 21:33:10.125 +02:00 [INF] Query-Time for Package "object.assign" completed in 2.5 ms +2024-06-20 21:33:10.128 +02:00 [INF] Query-Time for Package "util" completed in 2.9 ms +2024-06-20 21:33:10.131 +02:00 [INF] Query-Time for Package "assert" completed in 2.4 ms +2024-06-20 21:33:10.133 +02:00 [INF] Query-Time for Package "pako" completed in 2.3 ms +2024-06-20 21:33:10.135 +02:00 [INF] Query-Time for Package "browserify-zlib" completed in 1.9 ms +2024-06-20 21:33:10.138 +02:00 [INF] Query-Time for Package "base64-js" completed in 2.6 ms +2024-06-20 21:33:10.141 +02:00 [INF] Query-Time for Package "ieee754" completed in 2.7 ms +2024-06-20 21:33:10.143 +02:00 [INF] Query-Time for Package "buffer" completed in 1.9 ms +2024-06-20 21:33:10.145 +02:00 [INF] Query-Time for Package "console-browserify" completed in 1.7 ms +2024-06-20 21:33:10.147 +02:00 [INF] Query-Time for Package "constants-browserify" completed in 1.9 ms +2024-06-20 21:33:10.150 +02:00 [INF] Query-Time for Package "browserify-aes" completed in 3.0 ms +2024-06-20 21:33:10.153 +02:00 [INF] Query-Time for Package "pbkdf2-compat" completed in 2.7 ms +2024-06-20 21:33:10.155 +02:00 [INF] Query-Time for Package "ripemd160" completed in 2.4 ms +2024-06-20 21:33:10.158 +02:00 [INF] Query-Time for Package "sha.js" completed in 2.4 ms +2024-06-20 21:33:10.161 +02:00 [INF] Query-Time for Package "crypto-browserify" completed in 2.8 ms +2024-06-20 21:33:10.163 +02:00 [INF] Query-Time for Package "domain-browser" completed in 2.4 ms +2024-06-20 21:33:10.166 +02:00 [INF] Query-Time for Package "events" completed in 2.7 ms +2024-06-20 21:33:10.169 +02:00 [INF] Query-Time for Package "https-browserify" completed in 2.7 ms +2024-06-20 21:33:10.172 +02:00 [INF] Query-Time for Package "os-browserify" completed in 3.2 ms +2024-06-20 21:33:10.175 +02:00 [INF] Query-Time for Package "path-browserify" completed in 2.3 ms +2024-06-20 21:33:10.178 +02:00 [INF] Query-Time for Package "process" completed in 3.1 ms +2024-06-20 21:33:10.181 +02:00 [INF] Query-Time for Package "querystring-es3" completed in 2.5 ms +2024-06-20 21:33:10.184 +02:00 [INF] Query-Time for Package "stream-browserify" completed in 3.4 ms +2024-06-20 21:33:10.186 +02:00 [INF] Query-Time for Package "builtin-status-codes" completed in 2.0 ms +2024-06-20 21:33:10.189 +02:00 [INF] Query-Time for Package "to-arraybuffer" completed in 2.8 ms +2024-06-20 21:33:10.192 +02:00 [INF] Query-Time for Package "stream-http" completed in 2.4 ms +2024-06-20 21:33:10.194 +02:00 [INF] Query-Time for Package "setimmediate" completed in 2.6 ms +2024-06-20 21:33:10.196 +02:00 [INF] Query-Time for Package "timers-browserify" completed in 1.9 ms +2024-06-20 21:33:10.199 +02:00 [INF] Query-Time for Package "tty-browserify" completed in 2.0 ms +2024-06-20 21:33:10.201 +02:00 [INF] Query-Time for Package "object-inspect" completed in 2.5 ms +2024-06-20 21:33:10.204 +02:00 [INF] Query-Time for Package "side-channel" completed in 2.2 ms +2024-06-20 21:33:10.206 +02:00 [INF] Query-Time for Package "qs" completed in 1.9 ms +2024-06-20 21:33:10.208 +02:00 [INF] Query-Time for Package "url" completed in 2.2 ms +2024-06-20 21:33:10.210 +02:00 [INF] Query-Time for Package "inherits" completed in 2.3 ms +2024-06-20 21:33:10.213 +02:00 [INF] Query-Time for Package "indexof" completed in 2.8 ms +2024-06-20 21:33:10.216 +02:00 [INF] Query-Time for Package "vm-browserify" completed in 2.3 ms +2024-06-20 21:33:10.218 +02:00 [INF] Query-Time for Package "node-libs-browser" completed in 2.3 ms +2024-06-20 21:33:10.221 +02:00 [INF] Query-Time for Package "minimist" completed in 2.3 ms +2024-06-20 21:33:10.222 +02:00 [INF] Query-Time for Package "optimist" completed in 1.7 ms +2024-06-20 21:33:10.225 +02:00 [INF] Query-Time for Package "uglify-js" completed in 2.2 ms +2024-06-20 21:33:10.227 +02:00 [INF] Query-Time for Package "arr-flatten" completed in 2.5 ms +2024-06-20 21:33:10.230 +02:00 [INF] Query-Time for Package "arr-diff" completed in 2.6 ms +2024-06-20 21:33:10.232 +02:00 [INF] Query-Time for Package "array-unique" completed in 2.2 ms +2024-06-20 21:33:10.235 +02:00 [INF] Query-Time for Package "is-number" completed in 2.3 ms +2024-06-20 21:33:10.238 +02:00 [INF] Query-Time for Package "isobject" completed in 3.2 ms +2024-06-20 21:33:10.242 +02:00 [INF] Query-Time for Package "is-number" completed in 3.2 ms +2024-06-20 21:33:10.246 +02:00 [INF] Query-Time for Package "kind-of" completed in 3.8 ms +2024-06-20 21:33:10.250 +02:00 [INF] Query-Time for Package "math-random" completed in 3.9 ms +2024-06-20 21:33:10.253 +02:00 [INF] Query-Time for Package "randomatic" completed in 3.0 ms +2024-06-20 21:33:10.256 +02:00 [INF] Query-Time for Package "repeat-element" completed in 3.4 ms +2024-06-20 21:33:10.259 +02:00 [INF] Query-Time for Package "fill-range" completed in 2.6 ms +2024-06-20 21:33:10.262 +02:00 [INF] Query-Time for Package "expand-range" completed in 2.8 ms +2024-06-20 21:33:10.264 +02:00 [INF] Query-Time for Package "preserve" completed in 2.1 ms +2024-06-20 21:33:10.266 +02:00 [INF] Query-Time for Package "braces" completed in 1.9 ms +2024-06-20 21:33:10.269 +02:00 [INF] Query-Time for Package "is-posix-bracket" completed in 2.5 ms +2024-06-20 21:33:10.272 +02:00 [INF] Query-Time for Package "expand-brackets" completed in 3.1 ms +2024-06-20 21:33:10.275 +02:00 [INF] Query-Time for Package "is-extglob" completed in 2.7 ms +2024-06-20 21:33:10.277 +02:00 [INF] Query-Time for Package "extglob" completed in 1.9 ms +2024-06-20 21:33:10.280 +02:00 [INF] Query-Time for Package "filename-regex" completed in 2.3 ms +2024-06-20 21:33:10.282 +02:00 [INF] Query-Time for Package "is-glob" completed in 2.3 ms +2024-06-20 21:33:10.285 +02:00 [INF] Query-Time for Package "normalize-path" completed in 2.3 ms +2024-06-20 21:33:10.288 +02:00 [INF] Query-Time for Package "for-in" completed in 2.8 ms +2024-06-20 21:33:10.290 +02:00 [INF] Query-Time for Package "for-own" completed in 2.3 ms +2024-06-20 21:33:10.293 +02:00 [INF] Query-Time for Package "is-extendable" completed in 2.3 ms +2024-06-20 21:33:10.295 +02:00 [INF] Query-Time for Package "object.omit" completed in 1.9 ms +2024-06-20 21:33:10.297 +02:00 [INF] Query-Time for Package "glob-parent" completed in 2.2 ms +2024-06-20 21:33:10.300 +02:00 [INF] Query-Time for Package "glob-base" completed in 2.2 ms +2024-06-20 21:33:10.302 +02:00 [INF] Query-Time for Package "is-dotfile" completed in 2.2 ms +2024-06-20 21:33:10.305 +02:00 [INF] Query-Time for Package "parse-glob" completed in 2.6 ms +2024-06-20 21:33:10.307 +02:00 [INF] Query-Time for Package "is-primitive" completed in 1.8 ms +2024-06-20 21:33:10.309 +02:00 [INF] Query-Time for Package "is-equal-shallow" completed in 1.9 ms +2024-06-20 21:33:10.311 +02:00 [INF] Query-Time for Package "regex-cache" completed in 2.2 ms +2024-06-20 21:33:10.316 +02:00 [INF] Query-Time for Package "micromatch" completed in 4.7 ms +2024-06-20 21:33:10.319 +02:00 [INF] Query-Time for Package "remove-trailing-separator" completed in 2.7 ms +2024-06-20 21:33:10.321 +02:00 [INF] Query-Time for Package "anymatch" completed in 2.5 ms +2024-06-20 21:33:10.324 +02:00 [INF] Query-Time for Package "async-each" completed in 2.5 ms +2024-06-20 21:33:10.326 +02:00 [INF] Query-Time for Package "fsevents" completed in 2.3 ms +2024-06-20 21:33:10.329 +02:00 [INF] Query-Time for Package "binary-extensions" completed in 2.1 ms +2024-06-20 21:33:10.331 +02:00 [INF] Query-Time for Package "is-binary-path" completed in 1.8 ms +2024-06-20 21:33:10.333 +02:00 [INF] Query-Time for Package "arr-diff" completed in 1.9 ms +2024-06-20 21:33:10.335 +02:00 [INF] Query-Time for Package "array-unique" completed in 2.4 ms +2024-06-20 21:33:10.337 +02:00 [INF] Query-Time for Package "extend-shallow" completed in 2.1 ms +2024-06-20 21:33:10.340 +02:00 [INF] Query-Time for Package "is-number" completed in 2.2 ms +2024-06-20 21:33:10.342 +02:00 [INF] Query-Time for Package "to-regex-range" completed in 1.9 ms +2024-06-20 21:33:10.344 +02:00 [INF] Query-Time for Package "fill-range" completed in 1.7 ms +2024-06-20 21:33:10.346 +02:00 [INF] Query-Time for Package "isobject" completed in 2.1 ms +2024-06-20 21:33:10.349 +02:00 [INF] Query-Time for Package "is-descriptor" completed in 3.0 ms +2024-06-20 21:33:10.351 +02:00 [INF] Query-Time for Package "define-property" completed in 2.2 ms +2024-06-20 21:33:10.353 +02:00 [INF] Query-Time for Package "snapdragon-util" completed in 1.8 ms +2024-06-20 21:33:10.355 +02:00 [INF] Query-Time for Package "snapdragon-node" completed in 1.7 ms +2024-06-20 21:33:10.390 +02:00 [INF] Query-Time for Package "snapdragon" completed in 35.0 ms +2024-06-20 21:33:10.490 +02:00 [INF] Query-Time for Package "extend-shallow" completed in 3.3 ms +2024-06-20 21:33:10.493 +02:00 [INF] Query-Time for Package "split-string" completed in 3.3 ms +2024-06-20 21:33:10.496 +02:00 [INF] Query-Time for Package "to-regex" completed in 2.6 ms +2024-06-20 21:33:10.500 +02:00 [INF] Query-Time for Package "braces" completed in 3.3 ms +2024-06-20 21:33:10.502 +02:00 [INF] Query-Time for Package "is-accessor-descriptor" completed in 2.5 ms +2024-06-20 21:33:10.512 +02:00 [INF] Query-Time for Package "is-data-descriptor" completed in 7.9 ms +2024-06-20 21:33:10.515 +02:00 [INF] Query-Time for Package "define-property" completed in 2.9 ms +2024-06-20 21:33:10.519 +02:00 [INF] Query-Time for Package "assign-symbols" completed in 3.1 ms +2024-06-20 21:33:10.521 +02:00 [INF] Query-Time for Package "is-plain-object" completed in 2.1 ms +2024-06-20 21:33:10.523 +02:00 [INF] Query-Time for Package "is-extendable" completed in 2.1 ms +2024-06-20 21:33:10.525 +02:00 [INF] Query-Time for Package "is-descriptor" completed in 2.1 ms +2024-06-20 21:33:10.528 +02:00 [INF] Query-Time for Package "define-property" completed in 2.3 ms +2024-06-20 21:33:10.531 +02:00 [INF] Query-Time for Package "posix-character-classes" completed in 2.8 ms +2024-06-20 21:33:10.533 +02:00 [INF] Query-Time for Package "regex-not" completed in 2.0 ms +2024-06-20 21:33:10.535 +02:00 [INF] Query-Time for Package "expand-brackets" completed in 2.3 ms +2024-06-20 21:33:10.538 +02:00 [INF] Query-Time for Package "fragment-cache" completed in 2.3 ms +2024-06-20 21:33:10.541 +02:00 [INF] Query-Time for Package "extglob" completed in 2.7 ms +2024-06-20 21:33:10.543 +02:00 [INF] Query-Time for Package "map-cache" completed in 2.1 ms +2024-06-20 21:33:10.545 +02:00 [INF] Query-Time for Package "is-windows" completed in 1.9 ms +2024-06-20 21:33:10.547 +02:00 [INF] Query-Time for Package "object.pick" completed in 2.3 ms +2024-06-20 21:33:10.551 +02:00 [INF] Query-Time for Package "nanomatch" completed in 3.0 ms +2024-06-20 21:33:10.554 +02:00 [INF] Query-Time for Package "ret" completed in 2.9 ms +2024-06-20 21:33:10.556 +02:00 [INF] Query-Time for Package "safe-regex" completed in 2.1 ms +2024-06-20 21:33:10.558 +02:00 [INF] Query-Time for Package "object-visit" completed in 2.0 ms +2024-06-20 21:33:10.561 +02:00 [INF] Query-Time for Package "map-visit" completed in 2.2 ms +2024-06-20 21:33:10.563 +02:00 [INF] Query-Time for Package "collection-visit" completed in 2.4 ms +2024-06-20 21:33:10.566 +02:00 [INF] Query-Time for Package "component-emitter" completed in 2.7 ms +2024-06-20 21:33:10.568 +02:00 [INF] Query-Time for Package "get-value" completed in 2.2 ms +2024-06-20 21:33:10.571 +02:00 [INF] Query-Time for Package "kind-of" completed in 2.4 ms +2024-06-20 21:33:10.573 +02:00 [INF] Query-Time for Package "has-values" completed in 2.2 ms +2024-06-20 21:33:10.576 +02:00 [INF] Query-Time for Package "has-value" completed in 2.3 ms +2024-06-20 21:33:10.578 +02:00 [INF] Query-Time for Package "set-value" completed in 2.6 ms +2024-06-20 21:33:10.581 +02:00 [INF] Query-Time for Package "to-object-path" completed in 2.4 ms +2024-06-20 21:33:10.584 +02:00 [INF] Query-Time for Package "arr-union" completed in 3.0 ms +2024-06-20 21:33:10.587 +02:00 [INF] Query-Time for Package "union-value" completed in 2.0 ms +2024-06-20 21:33:10.590 +02:00 [INF] Query-Time for Package "has-values" completed in 3.2 ms +2024-06-20 21:33:10.593 +02:00 [INF] Query-Time for Package "has-value" completed in 2.7 ms +2024-06-20 21:33:10.595 +02:00 [INF] Query-Time for Package "unset-value" completed in 2.5 ms +2024-06-20 21:33:10.598 +02:00 [INF] Query-Time for Package "cache-base" completed in 2.6 ms +2024-06-20 21:33:10.601 +02:00 [INF] Query-Time for Package "copy-descriptor" completed in 2.4 ms +2024-06-20 21:33:10.603 +02:00 [INF] Query-Time for Package "object-copy" completed in 2.2 ms +2024-06-20 21:33:10.605 +02:00 [INF] Query-Time for Package "static-extend" completed in 2.2 ms +2024-06-20 21:33:10.608 +02:00 [INF] Query-Time for Package "class-utils" completed in 2.7 ms +2024-06-20 21:33:10.611 +02:00 [INF] Query-Time for Package "mixin-deep" completed in 2.4 ms +2024-06-20 21:33:10.614 +02:00 [INF] Query-Time for Package "pascalcase" completed in 3.2 ms +2024-06-20 21:33:10.617 +02:00 [INF] Query-Time for Package "base" completed in 2.8 ms +2024-06-20 21:33:10.620 +02:00 [INF] Query-Time for Package "atob" completed in 2.5 ms +2024-06-20 21:33:10.622 +02:00 [INF] Query-Time for Package "decode-uri-component" completed in 2.4 ms +2024-06-20 21:33:10.625 +02:00 [INF] Query-Time for Package "resolve-url" completed in 2.8 ms +2024-06-20 21:33:10.628 +02:00 [INF] Query-Time for Package "source-map-url" completed in 2.8 ms +2024-06-20 21:33:10.631 +02:00 [INF] Query-Time for Package "urix" completed in 3.1 ms +2024-06-20 21:33:10.634 +02:00 [INF] Query-Time for Package "source-map-resolve" completed in 2.6 ms +2024-06-20 21:33:10.637 +02:00 [INF] Query-Time for Package "use" completed in 2.8 ms +2024-06-20 21:33:10.640 +02:00 [INF] Query-Time for Package "micromatch" completed in 2.3 ms +2024-06-20 21:33:10.642 +02:00 [INF] Query-Time for Package "readdirp" completed in 2.0 ms +2024-06-20 21:33:10.645 +02:00 [INF] Query-Time for Package "chokidar" completed in 2.6 ms +2024-06-20 21:33:10.647 +02:00 [INF] Query-Time for Package "watchpack" completed in 2.2 ms +2024-06-20 21:33:10.649 +02:00 [INF] Query-Time for Package "source-list-map" completed in 2.1 ms +2024-06-20 21:33:10.652 +02:00 [INF] Query-Time for Package "source-map" completed in 2.6 ms +2024-06-20 21:33:10.654 +02:00 [INF] Query-Time for Package "webpack-core" completed in 1.7 ms +2024-06-20 21:33:10.656 +02:00 [INF] Query-Time for Package "webpack" completed in 2.0 ms +2024-06-20 21:33:32.556 +02:00 [INF] Query-Time for Package "@commitlint/types" completed in 3.3 ms +2024-06-20 21:33:32.559 +02:00 [INF] Query-Time for Package "color-name" completed in 3.2 ms +2024-06-20 21:33:32.562 +02:00 [INF] Query-Time for Package "color-convert" completed in 2.6 ms +2024-06-20 21:33:32.565 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.4 ms +2024-06-20 21:33:32.567 +02:00 [INF] Query-Time for Package "has-flag" completed in 2.5 ms +2024-06-20 21:33:32.570 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.5 ms +2024-06-20 21:33:32.572 +02:00 [INF] Query-Time for Package "chalk" completed in 1.7 ms +2024-06-20 21:33:32.574 +02:00 [INF] Query-Time for Package "@commitlint/format" completed in 2.2 ms +2024-06-20 21:33:32.576 +02:00 [INF] Query-Time for Package "semver" completed in 1.9 ms +2024-06-20 21:33:32.579 +02:00 [INF] Query-Time for Package "@commitlint/is-ignored" completed in 2.1 ms +2024-06-20 21:33:32.582 +02:00 [INF] Query-Time for Package "compare-func" completed in 2.9 ms +2024-06-20 21:33:32.584 +02:00 [INF] Query-Time for Package "conventional-changelog-angular" completed in 2.0 ms +2024-06-20 21:33:32.586 +02:00 [INF] Query-Time for Package "text-extensions" completed in 2.3 ms +2024-06-20 21:33:32.588 +02:00 [INF] Query-Time for Package "is-text-path" completed in 2.0 ms +2024-06-20 21:33:32.591 +02:00 [INF] Query-Time for Package "jsonparse" completed in 2.1 ms +2024-06-20 21:33:32.593 +02:00 [INF] Query-Time for Package "through" completed in 2.5 ms +2024-06-20 21:33:32.595 +02:00 [INF] Query-Time for Package "JSONStream" completed in 1.7 ms +2024-06-20 21:33:32.597 +02:00 [INF] Query-Time for Package "meow" completed in 1.9 ms +2024-06-20 21:33:32.600 +02:00 [INF] Query-Time for Package "split2" completed in 2.3 ms +2024-06-20 21:33:32.602 +02:00 [INF] Query-Time for Package "conventional-commits-parser" completed in 1.7 ms +2024-06-20 21:33:32.604 +02:00 [INF] Query-Time for Package "@commitlint/parse" completed in 2.3 ms +2024-06-20 21:33:32.606 +02:00 [INF] Query-Time for Package "lodash.camelcase" completed in 2.1 ms +2024-06-20 21:33:32.608 +02:00 [INF] Query-Time for Package "lodash.kebabcase" completed in 1.9 ms +2024-06-20 21:33:32.611 +02:00 [INF] Query-Time for Package "lodash.snakecase" completed in 2.8 ms +2024-06-20 21:33:32.613 +02:00 [INF] Query-Time for Package "lodash.startcase" completed in 1.9 ms +2024-06-20 21:33:32.615 +02:00 [INF] Query-Time for Package "lodash.upperfirst" completed in 1.7 ms +2024-06-20 21:33:32.617 +02:00 [INF] Query-Time for Package "@commitlint/ensure" completed in 2.3 ms +2024-06-20 21:33:32.619 +02:00 [INF] Query-Time for Package "@commitlint/message" completed in 1.6 ms +2024-06-20 21:33:32.621 +02:00 [INF] Query-Time for Package "@commitlint/to-lines" completed in 1.6 ms +2024-06-20 21:33:32.623 +02:00 [INF] Query-Time for Package "execa" completed in 2.0 ms +2024-06-20 21:33:32.625 +02:00 [INF] Query-Time for Package "@commitlint/rules" completed in 2.1 ms +2024-06-20 21:33:32.629 +02:00 [INF] Query-Time for Package "@commitlint/lint" completed in 3.2 ms +2024-06-20 21:33:32.632 +02:00 [INF] Query-Time for Package "fast-deep-equal" completed in 3.0 ms +2024-06-20 21:33:32.635 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 2.7 ms +2024-06-20 21:33:32.638 +02:00 [INF] Query-Time for Package "require-from-string" completed in 3.4 ms +2024-06-20 21:33:32.642 +02:00 [INF] Query-Time for Package "uri-js" completed in 3.5 ms +2024-06-20 21:33:32.645 +02:00 [INF] Query-Time for Package "ajv" completed in 2.8 ms +2024-06-20 21:33:32.647 +02:00 [INF] Query-Time for Package "@commitlint/config-validator" completed in 2.6 ms +2024-06-20 21:33:32.650 +02:00 [INF] Query-Time for Package "@commitlint/execute-rule" completed in 2.2 ms +2024-06-20 21:33:32.652 +02:00 [INF] Query-Time for Package "import-fresh" completed in 1.8 ms +2024-06-20 21:33:32.654 +02:00 [INF] Query-Time for Package "lodash.mergewith" completed in 2.3 ms +2024-06-20 21:33:32.656 +02:00 [INF] Query-Time for Package "resolve-from" completed in 1.9 ms +2024-06-20 21:33:32.659 +02:00 [INF] Query-Time for Package "resolve-global" completed in 2.9 ms +2024-06-20 21:33:32.662 +02:00 [INF] Query-Time for Package "@commitlint/resolve-extends" completed in 2.3 ms +2024-06-20 21:33:32.664 +02:00 [INF] Query-Time for Package "@types/node" completed in 2.2 ms +2024-06-20 21:33:32.666 +02:00 [INF] Query-Time for Package "cosmiconfig" completed in 2.4 ms +2024-06-20 21:33:32.668 +02:00 [INF] Query-Time for Package "ts-node" completed in 1.9 ms +2024-06-20 21:33:32.671 +02:00 [INF] Query-Time for Package "typescript" completed in 2.4 ms +2024-06-20 21:33:32.674 +02:00 [INF] Query-Time for Package "cosmiconfig-typescript-loader" completed in 3.3 ms +2024-06-20 21:33:32.677 +02:00 [INF] Query-Time for Package "js-yaml" completed in 2.4 ms +2024-06-20 21:33:32.680 +02:00 [INF] Query-Time for Package "@babel/code-frame" completed in 2.5 ms +2024-06-20 21:33:32.682 +02:00 [INF] Query-Time for Package "is-arrayish" completed in 1.8 ms +2024-06-20 21:33:32.684 +02:00 [INF] Query-Time for Package "error-ex" completed in 2.6 ms +2024-06-20 21:33:32.686 +02:00 [INF] Query-Time for Package "json-parse-even-better-errors" completed in 1.8 ms +2024-06-20 21:33:32.689 +02:00 [INF] Query-Time for Package "lines-and-columns" completed in 2.3 ms +2024-06-20 21:33:32.691 +02:00 [INF] Query-Time for Package "parse-json" completed in 2.4 ms +2024-06-20 21:33:32.694 +02:00 [INF] Query-Time for Package "path-type" completed in 2.2 ms +2024-06-20 21:33:32.696 +02:00 [INF] Query-Time for Package "lodash.isplainobject" completed in 2.4 ms +2024-06-20 21:33:32.698 +02:00 [INF] Query-Time for Package "lodash.merge" completed in 1.9 ms +2024-06-20 21:33:32.700 +02:00 [INF] Query-Time for Package "lodash.uniq" completed in 2.0 ms +2024-06-20 21:33:32.703 +02:00 [INF] Query-Time for Package "@jridgewell/resolve-uri" completed in 2.4 ms +2024-06-20 21:33:32.706 +02:00 [INF] Query-Time for Package "@jridgewell/sourcemap-codec" completed in 3.3 ms +2024-06-20 21:33:32.709 +02:00 [INF] Query-Time for Package "@jridgewell/trace-mapping" completed in 3.0 ms +2024-06-20 21:33:32.712 +02:00 [INF] Query-Time for Package "@cspotcode/source-map-support" completed in 2.1 ms +2024-06-20 21:33:32.714 +02:00 [INF] Query-Time for Package "@swc/core" completed in 2.0 ms +2024-06-20 21:33:32.716 +02:00 [INF] Query-Time for Package "@swc/wasm" completed in 2.0 ms +2024-06-20 21:33:32.718 +02:00 [INF] Query-Time for Package "@tsconfig/node10" completed in 2.2 ms +2024-06-20 21:33:32.721 +02:00 [INF] Query-Time for Package "@tsconfig/node12" completed in 2.8 ms +2024-06-20 21:33:32.723 +02:00 [INF] Query-Time for Package "@tsconfig/node14" completed in 1.9 ms +2024-06-20 21:33:32.726 +02:00 [INF] Query-Time for Package "@tsconfig/node16" completed in 2.8 ms +2024-06-20 21:33:32.728 +02:00 [INF] Query-Time for Package "acorn" completed in 2.0 ms +2024-06-20 21:33:32.730 +02:00 [INF] Query-Time for Package "acorn-walk" completed in 2.1 ms +2024-06-20 21:33:32.733 +02:00 [INF] Query-Time for Package "arg" completed in 2.1 ms +2024-06-20 21:33:32.735 +02:00 [INF] Query-Time for Package "create-require" completed in 2.1 ms +2024-06-20 21:33:32.738 +02:00 [INF] Query-Time for Package "diff" completed in 2.7 ms +2024-06-20 21:33:32.740 +02:00 [INF] Query-Time for Package "make-error" completed in 2.3 ms +2024-06-20 21:33:32.742 +02:00 [INF] Query-Time for Package "v8-compile-cache-lib" completed in 1.7 ms +2024-06-20 21:33:32.745 +02:00 [INF] Query-Time for Package "yn" completed in 2.5 ms +2024-06-20 21:33:32.747 +02:00 [INF] Query-Time for Package "@commitlint/load" completed in 1.8 ms +2024-06-20 21:33:32.749 +02:00 [INF] Query-Time for Package "find-up" completed in 1.9 ms +2024-06-20 21:33:32.751 +02:00 [INF] Query-Time for Package "@commitlint/top-level" completed in 2.7 ms +2024-06-20 21:33:32.753 +02:00 [INF] Query-Time for Package "graceful-fs" completed in 1.6 ms +2024-06-20 21:33:32.755 +02:00 [INF] Query-Time for Package "universalify" completed in 1.7 ms +2024-06-20 21:33:32.757 +02:00 [INF] Query-Time for Package "jsonfile" completed in 2.3 ms +2024-06-20 21:33:32.760 +02:00 [INF] Query-Time for Package "fs-extra" completed in 2.2 ms +2024-06-20 21:33:32.763 +02:00 [INF] Query-Time for Package "dargs" completed in 2.9 ms +2024-06-20 21:33:32.765 +02:00 [INF] Query-Time for Package "lodash" completed in 2.3 ms +2024-06-20 21:33:32.769 +02:00 [INF] Query-Time for Package "@types/minimist" completed in 2.9 ms +2024-06-20 21:33:32.772 +02:00 [INF] Query-Time for Package "camelcase" completed in 2.4 ms +2024-06-20 21:33:32.774 +02:00 [INF] Query-Time for Package "map-obj" completed in 2.3 ms +2024-06-20 21:33:32.777 +02:00 [INF] Query-Time for Package "quick-lru" completed in 2.6 ms +2024-06-20 21:33:32.779 +02:00 [INF] Query-Time for Package "camelcase-keys" completed in 1.9 ms +2024-06-20 21:33:32.782 +02:00 [INF] Query-Time for Package "decamelize" completed in 2.8 ms +2024-06-20 21:33:32.784 +02:00 [INF] Query-Time for Package "map-obj" completed in 2.5 ms +2024-06-20 21:33:32.787 +02:00 [INF] Query-Time for Package "decamelize-keys" completed in 2.1 ms +2024-06-20 21:33:32.789 +02:00 [INF] Query-Time for Package "hard-rejection" completed in 2.2 ms +2024-06-20 21:33:32.791 +02:00 [INF] Query-Time for Package "arrify" completed in 2.3 ms +2024-06-20 21:33:32.794 +02:00 [INF] Query-Time for Package "is-plain-obj" completed in 2.7 ms +2024-06-20 21:33:32.797 +02:00 [INF] Query-Time for Package "kind-of" completed in 2.2 ms +2024-06-20 21:33:32.800 +02:00 [INF] Query-Time for Package "minimist-options" completed in 2.7 ms +2024-06-20 21:33:32.802 +02:00 [INF] Query-Time for Package "lru-cache" completed in 2.1 ms +2024-06-20 21:33:32.805 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 2.7 ms +2024-06-20 21:33:32.807 +02:00 [INF] Query-Time for Package "is-core-module" completed in 2.2 ms +2024-06-20 21:33:32.809 +02:00 [INF] Query-Time for Package "spdx-expression-parse" completed in 2.1 ms +2024-06-20 21:33:32.812 +02:00 [INF] Query-Time for Package "spdx-license-ids" completed in 2.9 ms +2024-06-20 21:33:32.816 +02:00 [INF] Query-Time for Package "spdx-correct" completed in 3.2 ms +2024-06-20 21:33:32.819 +02:00 [INF] Query-Time for Package "spdx-exceptions" completed in 2.6 ms +2024-06-20 21:33:32.821 +02:00 [INF] Query-Time for Package "validate-npm-package-license" completed in 1.9 ms +2024-06-20 21:33:32.823 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 2.2 ms +2024-06-20 21:33:32.825 +02:00 [INF] Query-Time for Package "p-try" completed in 1.9 ms +2024-06-20 21:33:32.828 +02:00 [INF] Query-Time for Package "p-limit" completed in 2.5 ms +2024-06-20 21:33:32.831 +02:00 [INF] Query-Time for Package "p-locate" completed in 2.7 ms +2024-06-20 21:33:32.833 +02:00 [INF] Query-Time for Package "locate-path" completed in 1.9 ms +2024-06-20 21:33:32.835 +02:00 [INF] Query-Time for Package "path-exists" completed in 2.5 ms +2024-06-20 21:33:32.837 +02:00 [INF] Query-Time for Package "find-up" completed in 2.0 ms +2024-06-20 21:33:32.840 +02:00 [INF] Query-Time for Package "@types/normalize-package-data" completed in 2.2 ms +2024-06-20 21:33:32.843 +02:00 [INF] Query-Time for Package "hosted-git-info" completed in 3.1 ms +2024-06-20 21:33:32.845 +02:00 [INF] Query-Time for Package "resolve" completed in 2.1 ms +2024-06-20 21:33:32.848 +02:00 [INF] Query-Time for Package "semver" completed in 2.3 ms +2024-06-20 21:33:32.850 +02:00 [INF] Query-Time for Package "normalize-package-data" completed in 2.1 ms +2024-06-20 21:33:32.853 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.4 ms +2024-06-20 21:33:32.856 +02:00 [INF] Query-Time for Package "read-pkg" completed in 3.1 ms +2024-06-20 21:33:32.860 +02:00 [INF] Query-Time for Package "type-fest" completed in 3.4 ms +2024-06-20 21:33:32.863 +02:00 [INF] Query-Time for Package "read-pkg-up" completed in 2.8 ms +2024-06-20 21:33:32.865 +02:00 [INF] Query-Time for Package "indent-string" completed in 2.4 ms +2024-06-20 21:33:32.868 +02:00 [INF] Query-Time for Package "min-indent" completed in 2.5 ms +2024-06-20 21:33:32.870 +02:00 [INF] Query-Time for Package "strip-indent" completed in 2.3 ms +2024-06-20 21:33:32.874 +02:00 [INF] Query-Time for Package "redent" completed in 3.0 ms +2024-06-20 21:33:32.875 +02:00 [INF] Query-Time for Package "trim-newlines" completed in 1.8 ms +2024-06-20 21:33:32.878 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.2 ms +2024-06-20 21:33:32.880 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 1.8 ms +2024-06-20 21:33:32.882 +02:00 [INF] Query-Time for Package "inherits" completed in 1.7 ms +2024-06-20 21:33:32.884 +02:00 [INF] Query-Time for Package "safe-buffer" completed in 2.3 ms +2024-06-20 21:33:32.886 +02:00 [INF] Query-Time for Package "string_decoder" completed in 1.8 ms +2024-06-20 21:33:32.888 +02:00 [INF] Query-Time for Package "util-deprecate" completed in 1.9 ms +2024-06-20 21:33:32.891 +02:00 [INF] Query-Time for Package "readable-stream" completed in 2.5 ms +2024-06-20 21:33:32.893 +02:00 [INF] Query-Time for Package "through2" completed in 2.4 ms +2024-06-20 21:33:32.896 +02:00 [INF] Query-Time for Package "git-raw-commits" completed in 2.4 ms +2024-06-20 21:33:32.898 +02:00 [INF] Query-Time for Package "minimist" completed in 2.2 ms +2024-06-20 21:33:32.900 +02:00 [INF] Query-Time for Package "@commitlint/read" completed in 2.2 ms +2024-06-20 21:33:32.903 +02:00 [INF] Query-Time for Package "cross-spawn" completed in 2.5 ms +2024-06-20 21:33:32.906 +02:00 [INF] Query-Time for Package "get-stream" completed in 2.8 ms +2024-06-20 21:33:32.909 +02:00 [INF] Query-Time for Package "human-signals" completed in 2.6 ms +2024-06-20 21:33:32.911 +02:00 [INF] Query-Time for Package "is-stream" completed in 2.0 ms +2024-06-20 21:33:32.913 +02:00 [INF] Query-Time for Package "merge-stream" completed in 1.7 ms +2024-06-20 21:33:32.915 +02:00 [INF] Query-Time for Package "path-key" completed in 2.3 ms +2024-06-20 21:33:32.917 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 2.1 ms +2024-06-20 21:33:32.920 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 2.3 ms +2024-06-20 21:33:32.922 +02:00 [INF] Query-Time for Package "onetime" completed in 2.1 ms +2024-06-20 21:33:32.924 +02:00 [INF] Query-Time for Package "signal-exit" completed in 2.0 ms +2024-06-20 21:33:32.927 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 2.8 ms +2024-06-20 21:33:32.929 +02:00 [INF] Query-Time for Package "lodash.isfunction" completed in 2.0 ms +2024-06-20 21:33:32.932 +02:00 [INF] Query-Time for Package "ini" completed in 2.2 ms +2024-06-20 21:33:32.934 +02:00 [INF] Query-Time for Package "global-dirs" completed in 2.2 ms +2024-06-20 21:33:32.936 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 1.8 ms +2024-06-20 21:33:32.939 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 2.7 ms +2024-06-20 21:33:32.941 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.0 ms +2024-06-20 21:33:32.943 +02:00 [INF] Query-Time for Package "string-width" completed in 1.9 ms +2024-06-20 21:33:32.945 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 2.4 ms +2024-06-20 21:33:32.948 +02:00 [INF] Query-Time for Package "cliui" completed in 2.0 ms +2024-06-20 21:33:32.951 +02:00 [INF] Query-Time for Package "escalade" completed in 3.1 ms +2024-06-20 21:33:32.953 +02:00 [INF] Query-Time for Package "get-caller-file" completed in 2.2 ms +2024-06-20 21:33:32.955 +02:00 [INF] Query-Time for Package "require-directory" completed in 1.7 ms +2024-06-20 21:33:32.957 +02:00 [INF] Query-Time for Package "y18n" completed in 2.3 ms +2024-06-20 21:33:32.960 +02:00 [INF] Query-Time for Package "yargs-parser" completed in 2.1 ms +2024-06-20 21:33:32.963 +02:00 [INF] Query-Time for Package "yargs" completed in 2.6 ms +2024-06-20 21:33:32.965 +02:00 [INF] Query-Time for Package "@commitlint/cli" completed in 2.1 ms +2024-06-20 21:33:32.968 +02:00 [INF] Query-Time for Package "array-ify" completed in 2.8 ms +2024-06-20 21:33:32.971 +02:00 [INF] Query-Time for Package "is-obj" completed in 3.1 ms +2024-06-20 21:33:32.975 +02:00 [INF] Query-Time for Package "dot-prop" completed in 3.3 ms +2024-06-20 21:33:32.978 +02:00 [INF] Query-Time for Package "conventional-changelog-conventionalcommits" completed in 2.6 ms +2024-06-20 21:33:32.981 +02:00 [INF] Query-Time for Package "@commitlint/config-conventional" completed in 3.1 ms +2024-06-20 21:33:32.983 +02:00 [INF] Query-Time for Package "@types/estree" completed in 2.5 ms +2024-06-20 21:33:32.986 +02:00 [INF] Query-Time for Package "@types/json-schema" completed in 2.4 ms +2024-06-20 21:33:32.989 +02:00 [INF] Query-Time for Package "@types/eslint" completed in 2.7 ms +2024-06-20 21:33:32.991 +02:00 [INF] Query-Time for Package "jest-get-type" completed in 2.5 ms +2024-06-20 21:33:32.995 +02:00 [INF] Query-Time for Package "@jest/expect-utils" completed in 3.1 ms +2024-06-20 21:33:32.997 +02:00 [INF] Query-Time for Package "diff-sequences" completed in 2.5 ms +2024-06-20 21:33:33.001 +02:00 [INF] Query-Time for Package "pretty-format" completed in 3.2 ms +2024-06-20 21:33:33.003 +02:00 [INF] Query-Time for Package "jest-diff" completed in 2.6 ms +2024-06-20 21:33:33.007 +02:00 [INF] Query-Time for Package "jest-matcher-utils" completed in 3.2 ms +2024-06-20 21:33:33.009 +02:00 [INF] Query-Time for Package "@babel/helper-validator-identifier" completed in 2.3 ms +2024-06-20 21:33:33.014 +02:00 [INF] Query-Time for Package "color-name" completed in 4.6 ms +2024-06-20 21:33:33.017 +02:00 [INF] Query-Time for Package "color-convert" completed in 2.9 ms +2024-06-20 21:33:33.020 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.6 ms +2024-06-20 21:33:33.022 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 1.9 ms +2024-06-20 21:33:33.024 +02:00 [INF] Query-Time for Package "has-flag" completed in 2.6 ms +2024-06-20 21:33:33.027 +02:00 [INF] Query-Time for Package "supports-color" completed in 2.3 ms +2024-06-20 21:33:33.030 +02:00 [INF] Query-Time for Package "chalk" completed in 2.8 ms +2024-06-20 21:33:33.032 +02:00 [INF] Query-Time for Package "js-tokens" completed in 2.2 ms +2024-06-20 21:33:33.035 +02:00 [INF] Query-Time for Package "picocolors" completed in 2.6 ms +2024-06-20 21:33:33.038 +02:00 [INF] Query-Time for Package "@babel/highlight" completed in 2.7 ms +2024-06-20 21:33:33.041 +02:00 [INF] Query-Time for Package "@jest/schemas" completed in 2.6 ms +2024-06-20 21:33:33.046 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-coverage" completed in 4.9 ms +2024-06-20 21:33:33.049 +02:00 [INF] Query-Time for Package "@types/istanbul-lib-report" completed in 3.2 ms +2024-06-20 21:33:33.053 +02:00 [INF] Query-Time for Package "@types/istanbul-reports" completed in 3.2 ms +2024-06-20 21:33:33.056 +02:00 [INF] Query-Time for Package "@types/yargs-parser" completed in 3.7 ms +2024-06-20 21:33:33.063 +02:00 [INF] Query-Time for Package "@types/yargs" completed in 6.6 ms +2024-06-20 21:33:33.068 +02:00 [INF] Query-Time for Package "@jest/types" completed in 4.7 ms +2024-06-20 21:33:33.074 +02:00 [INF] Query-Time for Package "@types/stack-utils" completed in 6.2 ms +2024-06-20 21:33:33.080 +02:00 [INF] Query-Time for Package "braces" completed in 5.7 ms +2024-06-20 21:33:33.084 +02:00 [INF] Query-Time for Package "picomatch" completed in 3.8 ms +2024-06-20 21:33:33.087 +02:00 [INF] Query-Time for Package "micromatch" completed in 2.9 ms +2024-06-20 21:33:33.090 +02:00 [INF] Query-Time for Package "slash" completed in 3.0 ms +2024-06-20 21:33:33.094 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 3.1 ms +2024-06-20 21:33:33.097 +02:00 [INF] Query-Time for Package "stack-utils" completed in 3.2 ms +2024-06-20 21:33:33.100 +02:00 [INF] Query-Time for Package "jest-message-util" completed in 3.1 ms +2024-06-20 21:33:33.104 +02:00 [INF] Query-Time for Package "ci-info" completed in 3.3 ms +2024-06-20 21:33:33.107 +02:00 [INF] Query-Time for Package "jest-util" completed in 2.5 ms +2024-06-20 21:33:33.110 +02:00 [INF] Query-Time for Package "expect" completed in 3.6 ms +2024-06-20 21:33:33.113 +02:00 [INF] Query-Time for Package "@sinclair/typebox" completed in 2.4 ms +2024-06-20 21:33:33.116 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 3.4 ms +2024-06-20 21:33:33.120 +02:00 [INF] Query-Time for Package "react-is" completed in 3.3 ms +2024-06-20 21:33:33.123 +02:00 [INF] Query-Time for Package "@types/jest" completed in 2.6 ms +2024-06-20 21:33:33.126 +02:00 [INF] Query-Time for Package "@eslint-community/regexpp" completed in 2.8 ms +2024-06-20 21:33:33.130 +02:00 [INF] Query-Time for Package "@typescript-eslint/parser" completed in 3.7 ms +2024-06-20 21:33:33.133 +02:00 [INF] Query-Time for Package "@typescript-eslint/types" completed in 3.3 ms +2024-06-20 21:33:33.136 +02:00 [INF] Query-Time for Package "@typescript-eslint/visitor-keys" completed in 2.8 ms +2024-06-20 21:33:33.140 +02:00 [INF] Query-Time for Package "@typescript-eslint/scope-manager" completed in 4.2 ms +2024-06-20 21:33:33.143 +02:00 [INF] Query-Time for Package "@typescript-eslint/typescript-estree" completed in 2.6 ms +2024-06-20 21:33:33.147 +02:00 [INF] Query-Time for Package "@typescript-eslint/utils" completed in 3.2 ms +2024-06-20 21:33:33.151 +02:00 [INF] Query-Time for Package "debug" completed in 3.9 ms +2024-06-20 21:33:33.154 +02:00 [INF] Query-Time for Package "eslint" completed in 2.6 ms +2024-06-20 21:33:33.157 +02:00 [INF] Query-Time for Package "ts-api-utils" completed in 3.0 ms +2024-06-20 21:33:33.160 +02:00 [INF] Query-Time for Package "@typescript-eslint/type-utils" completed in 2.8 ms +2024-06-20 21:33:33.165 +02:00 [INF] Query-Time for Package "@eslint-community/eslint-utils" completed in 5.0 ms +2024-06-20 21:33:33.169 +02:00 [INF] Query-Time for Package "@types/semver" completed in 3.9 ms +2024-06-20 21:33:33.172 +02:00 [INF] Query-Time for Package "eslint-visitor-keys" completed in 3.1 ms +2024-06-20 21:33:33.175 +02:00 [INF] Query-Time for Package "ms" completed in 3.0 ms +2024-06-20 21:33:33.182 +02:00 [INF] Query-Time for Package "graphemer" completed in 5.6 ms +2024-06-20 21:33:33.185 +02:00 [INF] Query-Time for Package "ignore" completed in 2.8 ms +2024-06-20 21:33:33.188 +02:00 [INF] Query-Time for Package "natural-compare" completed in 3.0 ms +2024-06-20 21:33:33.191 +02:00 [INF] Query-Time for Package "yallist" completed in 3.2 ms +2024-06-20 21:33:33.195 +02:00 [INF] Query-Time for Package "@typescript-eslint/eslint-plugin" completed in 3.9 ms +2024-06-20 21:33:33.198 +02:00 [INF] Query-Time for Package "array-union" completed in 2.7 ms +2024-06-20 21:33:33.201 +02:00 [INF] Query-Time for Package "dir-glob" completed in 3.2 ms +2024-06-20 21:33:33.205 +02:00 [INF] Query-Time for Package "@nodelib/fs.stat" completed in 3.4 ms +2024-06-20 21:33:33.208 +02:00 [INF] Query-Time for Package "@nodelib/fs.walk" completed in 2.8 ms +2024-06-20 21:33:33.211 +02:00 [INF] Query-Time for Package "is-glob" completed in 2.8 ms +2024-06-20 21:33:33.214 +02:00 [INF] Query-Time for Package "glob-parent" completed in 2.7 ms +2024-06-20 21:33:33.217 +02:00 [INF] Query-Time for Package "merge2" completed in 3.1 ms +2024-06-20 21:33:33.220 +02:00 [INF] Query-Time for Package "fast-glob" completed in 2.7 ms +2024-06-20 21:33:33.223 +02:00 [INF] Query-Time for Package "globby" completed in 2.5 ms +2024-06-20 21:33:33.226 +02:00 [INF] Query-Time for Package "confusing-browser-globals" completed in 3.2 ms +2024-06-20 21:33:33.230 +02:00 [INF] Query-Time for Package "eslint-plugin-import" completed in 3.7 ms +2024-06-20 21:33:33.233 +02:00 [INF] Query-Time for Package "get-intrinsic" completed in 3.0 ms +2024-06-20 21:33:33.237 +02:00 [INF] Query-Time for Package "es-define-property" completed in 3.4 ms +2024-06-20 21:33:33.242 +02:00 [INF] Query-Time for Package "es-errors" completed in 4.4 ms +2024-06-20 21:33:33.245 +02:00 [INF] Query-Time for Package "function-bind" completed in 2.9 ms +2024-06-20 21:33:33.247 +02:00 [INF] Query-Time for Package "define-data-property" completed in 2.7 ms +2024-06-20 21:33:33.251 +02:00 [INF] Query-Time for Package "gopd" completed in 3.0 ms +2024-06-20 21:33:33.253 +02:00 [INF] Query-Time for Package "has-property-descriptors" completed in 2.7 ms +2024-06-20 21:33:33.256 +02:00 [INF] Query-Time for Package "set-function-length" completed in 2.4 ms +2024-06-20 21:33:33.260 +02:00 [INF] Query-Time for Package "call-bind" completed in 3.5 ms +2024-06-20 21:33:33.263 +02:00 [INF] Query-Time for Package "object-keys" completed in 3.1 ms +2024-06-20 21:33:33.267 +02:00 [INF] Query-Time for Package "define-properties" completed in 3.5 ms +2024-06-20 21:33:33.270 +02:00 [INF] Query-Time for Package "has-symbols" completed in 2.9 ms +2024-06-20 21:33:33.278 +02:00 [INF] Query-Time for Package "object.assign" completed in 7.8 ms +2024-06-20 21:33:33.282 +02:00 [INF] Query-Time for Package "es-object-atoms" completed in 3.5 ms +2024-06-20 21:33:33.286 +02:00 [INF] Query-Time for Package "object.entries" completed in 3.8 ms +2024-06-20 21:33:33.288 +02:00 [INF] Query-Time for Package "semver" completed in 2.4 ms +2024-06-20 21:33:33.292 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-base" completed in 3.1 ms +2024-06-20 21:33:33.295 +02:00 [INF] Query-Time for Package "eslint-config-airbnb-typescript" completed in 2.8 ms +2024-06-20 21:33:33.298 +02:00 [INF] Query-Time for Package "eslint-config-prettier" completed in 3.5 ms +2024-06-20 21:33:33.302 +02:00 [INF] Query-Time for Package "is-array-buffer" completed in 3.9 ms +2024-06-20 21:33:33.306 +02:00 [INF] Query-Time for Package "array-buffer-byte-length" completed in 3.5 ms +2024-06-20 21:33:33.310 +02:00 [INF] Query-Time for Package "es-abstract" completed in 3.3 ms +2024-06-20 21:33:33.312 +02:00 [INF] Query-Time for Package "is-shared-array-buffer" completed in 2.7 ms +2024-06-20 21:33:33.315 +02:00 [INF] Query-Time for Package "arraybuffer.prototype.slice" completed in 2.3 ms +2024-06-20 21:33:33.318 +02:00 [INF] Query-Time for Package "possible-typed-array-names" completed in 2.8 ms +2024-06-20 21:33:33.321 +02:00 [INF] Query-Time for Package "available-typed-arrays" completed in 2.6 ms +2024-06-20 21:33:33.323 +02:00 [INF] Query-Time for Package "is-data-view" completed in 2.0 ms +2024-06-20 21:33:33.325 +02:00 [INF] Query-Time for Package "data-view-buffer" completed in 1.8 ms +2024-06-20 21:33:33.328 +02:00 [INF] Query-Time for Package "data-view-byte-length" completed in 2.7 ms +2024-06-20 21:33:33.330 +02:00 [INF] Query-Time for Package "data-view-byte-offset" completed in 2.2 ms +2024-06-20 21:33:33.333 +02:00 [INF] Query-Time for Package "has-tostringtag" completed in 2.7 ms +2024-06-20 21:33:33.335 +02:00 [INF] Query-Time for Package "hasown" completed in 2.5 ms +2024-06-20 21:33:33.339 +02:00 [INF] Query-Time for Package "es-set-tostringtag" completed in 2.9 ms +2024-06-20 21:33:33.341 +02:00 [INF] Query-Time for Package "is-callable" completed in 2.1 ms +2024-06-20 21:33:33.343 +02:00 [INF] Query-Time for Package "is-date-object" completed in 2.0 ms +2024-06-20 21:33:33.345 +02:00 [INF] Query-Time for Package "is-symbol" completed in 2.4 ms +2024-06-20 21:33:33.348 +02:00 [INF] Query-Time for Package "es-to-primitive" completed in 2.4 ms +2024-06-20 21:33:33.351 +02:00 [INF] Query-Time for Package "functions-have-names" completed in 3.2 ms +2024-06-20 21:33:33.353 +02:00 [INF] Query-Time for Package "function.prototype.name" completed in 1.7 ms +2024-06-20 21:33:33.355 +02:00 [INF] Query-Time for Package "get-symbol-description" completed in 1.6 ms +2024-06-20 21:33:33.357 +02:00 [INF] Query-Time for Package "globalthis" completed in 2.0 ms +2024-06-20 21:33:33.359 +02:00 [INF] Query-Time for Package "has-proto" completed in 2.3 ms +2024-06-20 21:33:33.362 +02:00 [INF] Query-Time for Package "object-inspect" completed in 2.2 ms +2024-06-20 21:33:33.364 +02:00 [INF] Query-Time for Package "side-channel" completed in 2.5 ms +2024-06-20 21:33:33.367 +02:00 [INF] Query-Time for Package "internal-slot" completed in 2.1 ms +2024-06-20 21:33:33.370 +02:00 [INF] Query-Time for Package "is-typed-array" completed in 3.0 ms +2024-06-20 21:33:33.372 +02:00 [INF] Query-Time for Package "is-negative-zero" completed in 2.4 ms +2024-06-20 21:33:33.374 +02:00 [INF] Query-Time for Package "is-regex" completed in 1.8 ms +2024-06-20 21:33:33.376 +02:00 [INF] Query-Time for Package "is-string" completed in 2.1 ms +2024-06-20 21:33:33.379 +02:00 [INF] Query-Time for Package "which-typed-array" completed in 2.1 ms +2024-06-20 21:33:33.382 +02:00 [INF] Query-Time for Package "is-weakref" completed in 3.0 ms +2024-06-20 21:33:33.384 +02:00 [INF] Query-Time for Package "set-function-name" completed in 2.0 ms +2024-06-20 21:33:33.386 +02:00 [INF] Query-Time for Package "regexp.prototype.flags" completed in 1.9 ms +2024-06-20 21:33:33.388 +02:00 [INF] Query-Time for Package "isarray" completed in 2.2 ms +2024-06-20 21:33:33.390 +02:00 [INF] Query-Time for Package "safe-array-concat" completed in 1.9 ms +2024-06-20 21:33:33.392 +02:00 [INF] Query-Time for Package "safe-regex-test" completed in 1.8 ms +2024-06-20 21:33:33.395 +02:00 [INF] Query-Time for Package "string.prototype.trim" completed in 2.6 ms +2024-06-20 21:33:33.397 +02:00 [INF] Query-Time for Package "string.prototype.trimend" completed in 2.0 ms +2024-06-20 21:33:33.400 +02:00 [INF] Query-Time for Package "string.prototype.trimstart" completed in 2.7 ms +2024-06-20 21:33:33.402 +02:00 [INF] Query-Time for Package "typed-array-buffer" completed in 2.2 ms +2024-06-20 21:33:33.404 +02:00 [INF] Query-Time for Package "for-each" completed in 1.7 ms +2024-06-20 21:33:33.407 +02:00 [INF] Query-Time for Package "typed-array-byte-length" completed in 2.8 ms +2024-06-20 21:33:33.409 +02:00 [INF] Query-Time for Package "typed-array-byte-offset" completed in 2.1 ms +2024-06-20 21:33:33.413 +02:00 [INF] Query-Time for Package "typed-array-length" completed in 3.1 ms +2024-06-20 21:33:33.415 +02:00 [INF] Query-Time for Package "has-bigints" completed in 1.8 ms +2024-06-20 21:33:33.417 +02:00 [INF] Query-Time for Package "is-bigint" completed in 2.0 ms +2024-06-20 21:33:33.419 +02:00 [INF] Query-Time for Package "is-boolean-object" completed in 2.1 ms +2024-06-20 21:33:33.421 +02:00 [INF] Query-Time for Package "is-number-object" completed in 1.7 ms +2024-06-20 21:33:33.423 +02:00 [INF] Query-Time for Package "which-boxed-primitive" completed in 1.9 ms +2024-06-20 21:33:33.425 +02:00 [INF] Query-Time for Package "unbox-primitive" completed in 2.2 ms +2024-06-20 21:33:33.427 +02:00 [INF] Query-Time for Package "array-includes" completed in 2.1 ms +2024-06-20 21:33:33.430 +02:00 [INF] Query-Time for Package "es-shim-unscopables" completed in 2.9 ms +2024-06-20 21:33:33.433 +02:00 [INF] Query-Time for Package "array.prototype.findlastindex" completed in 2.1 ms +2024-06-20 21:33:33.436 +02:00 [INF] Query-Time for Package "array.prototype.flat" completed in 2.9 ms +2024-06-20 21:33:33.439 +02:00 [INF] Query-Time for Package "array.prototype.flatmap" completed in 2.6 ms +2024-06-20 21:33:33.441 +02:00 [INF] Query-Time for Package "debug" completed in 2.5 ms +2024-06-20 21:33:33.444 +02:00 [INF] Query-Time for Package "esutils" completed in 2.6 ms +2024-06-20 21:33:33.446 +02:00 [INF] Query-Time for Package "doctrine" completed in 1.8 ms +2024-06-20 21:33:33.449 +02:00 [INF] Query-Time for Package "path-parse" completed in 2.4 ms +2024-06-20 21:33:33.452 +02:00 [INF] Query-Time for Package "supports-preserve-symlinks-flag" completed in 3.4 ms +2024-06-20 21:33:33.455 +02:00 [INF] Query-Time for Package "eslint-import-resolver-node" completed in 2.6 ms +2024-06-20 21:33:33.457 +02:00 [INF] Query-Time for Package "eslint-module-utils" completed in 2.0 ms +2024-06-20 21:33:33.460 +02:00 [INF] Query-Time for Package "has" completed in 2.4 ms +2024-06-20 21:33:33.463 +02:00 [INF] Query-Time for Package "is-extglob" completed in 2.6 ms +2024-06-20 21:33:33.465 +02:00 [INF] Query-Time for Package "balanced-match" completed in 2.0 ms +2024-06-20 21:33:33.468 +02:00 [INF] Query-Time for Package "concat-map" completed in 2.8 ms +2024-06-20 21:33:33.470 +02:00 [INF] Query-Time for Package "brace-expansion" completed in 2.1 ms +2024-06-20 21:33:33.474 +02:00 [INF] Query-Time for Package "minimatch" completed in 3.5 ms +2024-06-20 21:33:33.477 +02:00 [INF] Query-Time for Package "object.fromentries" completed in 2.8 ms +2024-06-20 21:33:33.479 +02:00 [INF] Query-Time for Package "object.groupby" completed in 2.7 ms +2024-06-20 21:33:33.482 +02:00 [INF] Query-Time for Package "object.values" completed in 2.0 ms +2024-06-20 21:33:33.484 +02:00 [INF] Query-Time for Package "@types/json5" completed in 2.1 ms +2024-06-20 21:33:33.486 +02:00 [INF] Query-Time for Package "json5" completed in 2.3 ms +2024-06-20 21:33:33.489 +02:00 [INF] Query-Time for Package "strip-bom" completed in 2.6 ms +2024-06-20 21:33:33.493 +02:00 [INF] Query-Time for Package "tsconfig-paths" completed in 3.2 ms +2024-06-20 21:33:33.496 +02:00 [INF] Query-Time for Package "fast-diff" completed in 2.6 ms +2024-06-20 21:33:33.499 +02:00 [INF] Query-Time for Package "prettier-linter-helpers" completed in 2.7 ms +2024-06-20 21:33:33.501 +02:00 [INF] Query-Time for Package "prettier" completed in 2.4 ms +2024-06-20 21:33:33.506 +02:00 [INF] Query-Time for Package "@pkgr/core" completed in 4.2 ms +2024-06-20 21:33:33.509 +02:00 [INF] Query-Time for Package "tslib" completed in 3.1 ms +2024-06-20 21:33:33.512 +02:00 [INF] Query-Time for Package "synckit" completed in 2.9 ms +2024-06-20 21:33:33.515 +02:00 [INF] Query-Time for Package "eslint-plugin-prettier" completed in 3.0 ms +2024-06-20 21:33:33.518 +02:00 [INF] Query-Time for Package "fast-json-stable-stringify" completed in 2.5 ms +2024-06-20 21:33:33.520 +02:00 [INF] Query-Time for Package "json-schema-traverse" completed in 2.2 ms +2024-06-20 21:33:33.523 +02:00 [INF] Query-Time for Package "ajv" completed in 2.3 ms +2024-06-20 21:33:33.525 +02:00 [INF] Query-Time for Package "espree" completed in 1.9 ms +2024-06-20 21:33:33.527 +02:00 [INF] Query-Time for Package "globals" completed in 2.7 ms +2024-06-20 21:33:33.530 +02:00 [INF] Query-Time for Package "callsites" completed in 2.3 ms +2024-06-20 21:33:33.532 +02:00 [INF] Query-Time for Package "parent-module" completed in 2.1 ms +2024-06-20 21:33:33.535 +02:00 [INF] Query-Time for Package "resolve-from" completed in 2.4 ms +2024-06-20 21:33:33.537 +02:00 [INF] Query-Time for Package "strip-json-comments" completed in 2.1 ms +2024-06-20 21:33:33.540 +02:00 [INF] Query-Time for Package "@eslint/eslintrc" completed in 3.1 ms +2024-06-20 21:33:33.542 +02:00 [INF] Query-Time for Package "@eslint/js" completed in 2.0 ms +2024-06-20 21:33:33.544 +02:00 [INF] Query-Time for Package "@humanwhocodes/object-schema" completed in 1.9 ms +2024-06-20 21:33:33.547 +02:00 [INF] Query-Time for Package "@humanwhocodes/config-array" completed in 2.2 ms +2024-06-20 21:33:33.549 +02:00 [INF] Query-Time for Package "@humanwhocodes/module-importer" completed in 2.5 ms +2024-06-20 21:33:33.553 +02:00 [INF] Query-Time for Package "queue-microtask" completed in 3.3 ms +2024-06-20 21:33:33.555 +02:00 [INF] Query-Time for Package "run-parallel" completed in 2.4 ms +2024-06-20 21:33:33.558 +02:00 [INF] Query-Time for Package "@nodelib/fs.scandir" completed in 2.6 ms +2024-06-20 21:33:33.560 +02:00 [INF] Query-Time for Package "reusify" completed in 2.4 ms +2024-06-20 21:33:33.563 +02:00 [INF] Query-Time for Package "fastq" completed in 2.7 ms +2024-06-20 21:33:33.566 +02:00 [INF] Query-Time for Package "punycode" completed in 2.2 ms +2024-06-20 21:33:33.568 +02:00 [INF] Query-Time for Package "shebang-regex" completed in 2.3 ms +2024-06-20 21:33:33.571 +02:00 [INF] Query-Time for Package "shebang-command" completed in 3.0 ms +2024-06-20 21:33:33.573 +02:00 [INF] Query-Time for Package "isexe" completed in 1.7 ms +2024-06-20 21:33:33.575 +02:00 [INF] Query-Time for Package "which" completed in 1.7 ms +2024-06-20 21:33:33.577 +02:00 [INF] Query-Time for Package "doctrine" completed in 2.0 ms +2024-06-20 21:33:33.579 +02:00 [INF] Query-Time for Package "escape-string-regexp" completed in 2.0 ms +2024-06-20 21:33:33.582 +02:00 [INF] Query-Time for Package "estraverse" completed in 2.5 ms +2024-06-20 21:33:33.584 +02:00 [INF] Query-Time for Package "esrecurse" completed in 1.9 ms +2024-06-20 21:33:33.586 +02:00 [INF] Query-Time for Package "eslint-scope" completed in 2.0 ms +2024-06-20 21:33:33.588 +02:00 [INF] Query-Time for Package "acorn-jsx" completed in 2.3 ms +2024-06-20 21:33:33.590 +02:00 [INF] Query-Time for Package "esquery" completed in 1.9 ms +2024-06-20 21:33:33.592 +02:00 [INF] Query-Time for Package "flatted" completed in 1.9 ms +2024-06-20 21:33:33.595 +02:00 [INF] Query-Time for Package "json-buffer" completed in 2.5 ms +2024-06-20 21:33:33.597 +02:00 [INF] Query-Time for Package "keyv" completed in 1.7 ms +2024-06-20 21:33:33.599 +02:00 [INF] Query-Time for Package "fs.realpath" completed in 1.9 ms +2024-06-20 21:33:33.601 +02:00 [INF] Query-Time for Package "once" completed in 2.2 ms +2024-06-20 21:33:33.603 +02:00 [INF] Query-Time for Package "wrappy" completed in 1.6 ms +2024-06-20 21:33:33.605 +02:00 [INF] Query-Time for Package "inflight" completed in 2.4 ms +2024-06-20 21:33:33.608 +02:00 [INF] Query-Time for Package "path-is-absolute" completed in 2.3 ms +2024-06-20 21:33:33.611 +02:00 [INF] Query-Time for Package "glob" completed in 2.9 ms +2024-06-20 21:33:33.613 +02:00 [INF] Query-Time for Package "rimraf" completed in 2.1 ms +2024-06-20 21:33:33.615 +02:00 [INF] Query-Time for Package "flat-cache" completed in 1.7 ms +2024-06-20 21:33:33.617 +02:00 [INF] Query-Time for Package "file-entry-cache" completed in 1.9 ms +2024-06-20 21:33:33.619 +02:00 [INF] Query-Time for Package "yocto-queue" completed in 2.1 ms +2024-06-20 21:33:33.621 +02:00 [INF] Query-Time for Package "p-limit" completed in 1.7 ms +2024-06-20 21:33:33.623 +02:00 [INF] Query-Time for Package "p-locate" completed in 1.9 ms +2024-06-20 21:33:33.625 +02:00 [INF] Query-Time for Package "locate-path" completed in 2.2 ms +2024-06-20 21:33:33.628 +02:00 [INF] Query-Time for Package "glob-parent" completed in 2.4 ms +2024-06-20 21:33:33.631 +02:00 [INF] Query-Time for Package "type-fest" completed in 2.4 ms +2024-06-20 21:33:33.633 +02:00 [INF] Query-Time for Package "imurmurhash" completed in 1.8 ms +2024-06-20 21:33:33.635 +02:00 [INF] Query-Time for Package "is-path-inside" completed in 1.9 ms +2024-06-20 21:33:33.638 +02:00 [INF] Query-Time for Package "argparse" completed in 2.8 ms +2024-06-20 21:33:33.640 +02:00 [INF] Query-Time for Package "json-stable-stringify-without-jsonify" completed in 2.2 ms +2024-06-20 21:33:33.643 +02:00 [INF] Query-Time for Package "prelude-ls" completed in 2.7 ms +2024-06-20 21:33:33.645 +02:00 [INF] Query-Time for Package "type-check" completed in 1.7 ms +2024-06-20 21:33:33.646 +02:00 [INF] Query-Time for Package "levn" completed in 1.7 ms +2024-06-20 21:33:33.649 +02:00 [INF] Query-Time for Package "deep-is" completed in 2.1 ms +2024-06-20 21:33:33.651 +02:00 [INF] Query-Time for Package "fast-levenshtein" completed in 2.2 ms +2024-06-20 21:33:33.653 +02:00 [INF] Query-Time for Package "word-wrap" completed in 1.6 ms +2024-06-20 21:33:33.655 +02:00 [INF] Query-Time for Package "optionator" completed in 2.1 ms +2024-06-20 21:33:33.657 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 1.8 ms +2024-06-20 21:33:33.660 +02:00 [INF] Query-Time for Package "text-table" completed in 2.5 ms +2024-06-20 21:33:33.662 +02:00 [INF] Query-Time for Package "husky" completed in 2.2 ms +2024-06-20 21:33:33.664 +02:00 [INF] Query-Time for Package "chalk" completed in 1.8 ms +2024-06-20 21:33:33.666 +02:00 [INF] Query-Time for Package "commander" completed in 1.8 ms +2024-06-20 21:33:33.668 +02:00 [INF] Query-Time for Package "debug" completed in 2.1 ms +2024-06-20 21:33:33.672 +02:00 [INF] Query-Time for Package "human-signals" completed in 3.8 ms +2024-06-20 21:33:33.675 +02:00 [INF] Query-Time for Package "is-stream" completed in 2.9 ms +2024-06-20 21:33:33.678 +02:00 [INF] Query-Time for Package "path-key" completed in 2.3 ms +2024-06-20 21:33:33.680 +02:00 [INF] Query-Time for Package "npm-run-path" completed in 2.4 ms +2024-06-20 21:33:33.682 +02:00 [INF] Query-Time for Package "mimic-fn" completed in 1.9 ms +2024-06-20 21:33:33.685 +02:00 [INF] Query-Time for Package "onetime" completed in 2.7 ms +2024-06-20 21:33:33.687 +02:00 [INF] Query-Time for Package "strip-final-newline" completed in 2.0 ms +2024-06-20 21:33:33.689 +02:00 [INF] Query-Time for Package "execa" completed in 1.9 ms +2024-06-20 21:33:33.692 +02:00 [INF] Query-Time for Package "lilconfig" completed in 2.7 ms +2024-06-20 21:33:33.694 +02:00 [INF] Query-Time for Package "ansi-styles" completed in 2.0 ms +2024-06-20 21:33:33.696 +02:00 [INF] Query-Time for Package "is-fullwidth-code-point" completed in 1.9 ms +2024-06-20 21:33:33.699 +02:00 [INF] Query-Time for Package "slice-ansi" completed in 2.3 ms +2024-06-20 21:33:33.701 +02:00 [INF] Query-Time for Package "eastasianwidth" completed in 2.3 ms +2024-06-20 21:33:33.705 +02:00 [INF] Query-Time for Package "emoji-regex" completed in 4.0 ms +2024-06-20 21:33:33.708 +02:00 [INF] Query-Time for Package "ansi-regex" completed in 2.9 ms +2024-06-20 21:33:33.711 +02:00 [INF] Query-Time for Package "strip-ansi" completed in 2.7 ms +2024-06-20 21:33:33.713 +02:00 [INF] Query-Time for Package "string-width" completed in 1.7 ms +2024-06-20 21:33:33.716 +02:00 [INF] Query-Time for Package "cli-truncate" completed in 2.3 ms +2024-06-20 21:33:33.718 +02:00 [INF] Query-Time for Package "colorette" completed in 2.1 ms +2024-06-20 21:33:33.720 +02:00 [INF] Query-Time for Package "enquirer" completed in 1.7 ms +2024-06-20 21:33:33.722 +02:00 [INF] Query-Time for Package "eventemitter3" completed in 2.2 ms +2024-06-20 21:33:33.724 +02:00 [INF] Query-Time for Package "type-fest" completed in 1.9 ms +2024-06-20 21:33:33.726 +02:00 [INF] Query-Time for Package "ansi-escapes" completed in 2.4 ms +2024-06-20 21:33:33.729 +02:00 [INF] Query-Time for Package "restore-cursor" completed in 2.3 ms +2024-06-20 21:33:33.731 +02:00 [INF] Query-Time for Package "cli-cursor" completed in 2.1 ms +2024-06-20 21:33:33.734 +02:00 [INF] Query-Time for Package "wrap-ansi" completed in 2.3 ms +2024-06-20 21:33:33.736 +02:00 [INF] Query-Time for Package "log-update" completed in 2.1 ms +2024-06-20 21:33:33.738 +02:00 [INF] Query-Time for Package "rfdc" completed in 2.1 ms +2024-06-20 21:33:33.741 +02:00 [INF] Query-Time for Package "listr2" completed in 2.6 ms +2024-06-20 21:33:33.743 +02:00 [INF] Query-Time for Package "is-number" completed in 1.8 ms +2024-06-20 21:33:33.745 +02:00 [INF] Query-Time for Package "to-regex-range" completed in 1.9 ms +2024-06-20 21:33:33.748 +02:00 [INF] Query-Time for Package "fill-range" completed in 3.4 ms +2024-06-20 21:33:33.751 +02:00 [INF] Query-Time for Package "micromatch" completed in 2.8 ms +2024-06-20 21:33:33.753 +02:00 [INF] Query-Time for Package "pidtree" completed in 2.2 ms +2024-06-20 21:33:33.756 +02:00 [INF] Query-Time for Package "string-argv" completed in 1.9 ms +2024-06-20 21:33:33.758 +02:00 [INF] Query-Time for Package "yaml" completed in 2.3 ms +2024-06-20 21:33:33.760 +02:00 [INF] Query-Time for Package "lint-staged" completed in 2.2 ms +2024-06-20 21:33:47.315 +02:00 [INF] Query-Time for Package "curl-amd" completed in 3.6 ms +2024-06-20 21:33:47.319 +02:00 [INF] Query-Time for Package "dojo" completed in 3.5 ms +2024-06-20 21:33:47.323 +02:00 [INF] Query-Time for Package "jquery" completed in 3.2 ms +2024-06-20 21:33:47.328 +02:00 [INF] Query-Time for Package "platform" completed in 4.6 ms +2024-06-20 21:33:47.334 +02:00 [INF] Query-Time for Package "qunit-extras" completed in 3.7 ms +2024-06-20 21:33:47.337 +02:00 [INF] Query-Time for Package "qunitjs" completed in 2.8 ms +2024-06-20 21:33:47.341 +02:00 [INF] Query-Time for Package "requirejs" completed in 3.5 ms diff --git a/code/AmIVulnerable/AmIVulnerable/Log/Logs20240621.txt b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240621.txt new file mode 100644 index 0000000..f0b8752 --- /dev/null +++ b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240621.txt @@ -0,0 +1,5 @@ +2024-06-21 12:03:51.694 +02:00 [INF] TaskDuration completed in 300.9 ms +2024-06-21 12:03:54.257 +02:00 [INF] ConvertRawCveToDb completed in 107.8 ms +2024-06-21 12:05:35.448 +02:00 [INF] ConvertRawCveToDb completed in 405.9 ms +2024-06-21 12:07:33.153 +02:00 [INF] TaskDuration completed in 224.7 ms +2024-06-21 12:07:36.895 +02:00 [INF] ConvertRawCveToDb completed in 98.7 ms diff --git a/code/AmIVulnerable/AmIVulnerable/Log/Logs20240626.txt b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240626.txt new file mode 100644 index 0000000..72ba2e9 --- /dev/null +++ b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240626.txt @@ -0,0 +1,2 @@ +2024-06-26 13:12:28.147 +02:00 [INF] TaskDuration completed in 1446.3 ms +2024-06-26 13:12:54.567 +02:00 [INF] TaskDuration completed in 127.5 ms diff --git a/code/AmIVulnerable/AmIVulnerable/appsettings.json b/code/AmIVulnerable/AmIVulnerable/appsettings.json index e7a43d0..21cbb7d 100644 --- a/code/AmIVulnerable/AmIVulnerable/appsettings.json +++ b/code/AmIVulnerable/AmIVulnerable/appsettings.json @@ -7,6 +7,6 @@ }, "AllowedHosts": "*", "ConnectionStrings": { - "cvedb": "Server=amivulnerable_db;Port=3306;Uid=u;Pwd=p;Database=cve;SslMode=None;" + "cvedb": "Server=localhost;Port=3306;Uid=u;Pwd=p;Database=cve;SslMode=None;" } } diff --git a/code/AmIVulnerable/Modells/Modells.csproj b/code/AmIVulnerable/Modells/Modells.csproj index 30402ac..6d0c7e5 100644 --- a/code/AmIVulnerable/Modells/Modells.csproj +++ b/code/AmIVulnerable/Modells/Modells.csproj @@ -6,4 +6,8 @@ enable + + + + diff --git a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs new file mode 100644 index 0000000..681bfe6 --- /dev/null +++ b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs @@ -0,0 +1,229 @@ +using Newtonsoft.Json; +using System.Text.Json.Serialization; + +namespace Modells.OsvResult { + public class OsvResult { + [JsonProperty("results")] + [JsonPropertyName("results")] + public List results { get; set; } + + [JsonProperty("experimental_config")] + [JsonPropertyName("experimental_config")] + public ExperimentalConfig experimental_config { get; set; } + } + public class Affected { + [JsonProperty("package")] + [JsonPropertyName("package")] + public AffectedPackage affectedPackage { get; set; } + + [JsonProperty("ranges")] + [JsonPropertyName("ranges")] + public List ranges { get; set; } + + [JsonProperty("database_specific")] + [JsonPropertyName("database_specific")] + public DatabaseSpecific database_specific { get; set; } + } + + public class DatabaseSpecific { + [JsonProperty("source")] + [JsonPropertyName("source")] + public string source { get; set; } + + [JsonProperty("cwe_ids")] + [JsonPropertyName("cwe_ids")] + public List cwe_ids { get; set; } + + [JsonProperty("github_reviewed")] + [JsonPropertyName("github_reviewed")] + public bool github_reviewed { get; set; } + + [JsonProperty("github_reviewed_at")] + [JsonPropertyName("github_reviewed_at")] + public DateTime? github_reviewed_at { get; set; } = new DateTime(); + + [JsonProperty("nvd_published_at")] + [JsonPropertyName("nvd_published_at")] + public DateTime? nvd_published_at { get; set; } = new DateTime(); + + [JsonProperty("severity")] + [JsonPropertyName("severity")] + public string severity { get; set; } + } + + public class Event { + [JsonProperty("introduced")] + [JsonPropertyName("introduced")] + public string introduced { get; set; } + + [JsonProperty("fixed")] + [JsonPropertyName("fixed")] + public string @fixed { get; set; } + } + + public class ExperimentalConfig { + [JsonProperty("licenses")] + [JsonPropertyName("licenses")] + public Licenses licenses { get; set; } + } + + public class Group { + [JsonProperty("ids")] + [JsonPropertyName("ids")] + public List ids { get; set; } + + [JsonProperty("aliases")] + [JsonPropertyName("aliases")] + public List aliases { get; set; } + } + + public class Licenses { + [JsonProperty("summary")] + [JsonPropertyName("summary")] + public bool summary { get; set; } + + [JsonProperty("allowlist")] + [JsonPropertyName("allowlist")] + public object allowlist { get; set; } + } + + public class Packages { + [JsonProperty("package")] + [JsonPropertyName("package")] + public Package package { get; set; } + + [JsonProperty("vulnerabilities")] + [JsonPropertyName("vulnerabilities")] + public List vulnerabilities { get; set; } + + [JsonProperty("groups")] + [JsonPropertyName("groups")] + public List groups { get; set; } + } + + public class AffectedPackage { + [JsonProperty("name")] + [JsonPropertyName("name")] + public string name { get; set; } + + [JsonProperty("ecosystem")] + [JsonPropertyName("ecosystem")] + public string ecosystem { get; set; } + + [JsonProperty("purl")] + [JsonPropertyName("purl")] + public string purl { get; set; } + } + + public class Package { + [JsonProperty("name")] + [JsonPropertyName("name")] + public string name { get; set; } + + [JsonProperty("version")] + [JsonPropertyName("version")] + public string version { get; set; } + + [JsonProperty("ecosystem")] + [JsonPropertyName("ecosystem")] + public string ecosystem { get; set; } + } + + public class Range { + [JsonProperty("type")] + [JsonPropertyName("type")] + public string type { get; set; } + + [JsonProperty("events")] + [JsonPropertyName("events")] + public List events { get; set; } + } + + public class Reference { + [JsonProperty("type")] + [JsonPropertyName("type")] + public string type { get; set; } + + [JsonProperty("url")] + [JsonPropertyName("url")] + public string url { get; set; } + } + + public class Result { + [JsonProperty("source")] + [JsonPropertyName("source")] + public Source source { get; set; } + + [JsonProperty("packages")] + [JsonPropertyName("packages")] + public List packages { get; set; } + } + + public class Severity { + [JsonProperty("type")] + [JsonPropertyName("type")] + public string type { get; set; } + + [JsonProperty("score")] + [JsonPropertyName("score")] + public string score { get; set; } + } + + public class Source { + [JsonProperty("path")] + [JsonPropertyName("path")] + public string path { get; set; } + + [JsonProperty("type")] + [JsonPropertyName("type")] + public string type { get; set; } + } + + public class Vulnerability { + [JsonProperty("modified")] + [JsonPropertyName("modified")] + public DateTime modified { get; set; } = new DateTime(); + + [JsonProperty("published")] + [JsonPropertyName("published")] + public DateTime published { get; set; } = new DateTime(); + + [JsonProperty("schema_version")] + [JsonPropertyName("schema_version")] + public string schema_version { get; set; } + + [JsonProperty("id")] + [JsonPropertyName("id")] + public string id { get; set; } + + [JsonProperty("aliases")] + [JsonPropertyName("aliases")] + public List aliases { get; set; } + + [JsonProperty("summary")] + [JsonPropertyName("summary")] + public string summary { get; set; } + + [JsonProperty("details")] + [JsonPropertyName("details")] + public string details { get; set; } + + [JsonProperty("affected")] + [JsonPropertyName("affected")] + public List affected { get; set; } + + [JsonProperty("severity")] + [JsonPropertyName("severity")] + public List severity { get; set; } + + [JsonProperty("references")] + [JsonPropertyName("references")] + public List references { get; set; } + + [JsonProperty("database_specific")] + [JsonPropertyName("database_specific")] + public DatabaseSpecific database_specific { get; set; } + } + + +} diff --git a/code/AmIVulnerable/Modells/TimeSlice.cs b/code/AmIVulnerable/Modells/TimeSlice.cs new file mode 100644 index 0000000..4606d67 --- /dev/null +++ b/code/AmIVulnerable/Modells/TimeSlice.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Modells { + public class TimeSlice { + public string TagName { get; set; } = "No tag or latest!"; + public DateTime Timestamp { get; set; } + public int CountDirectDependencies { get; set; } + public int CountTransitiveDependencies { get; set; } + public int CountUniqueTransitiveDependencies { get; set; } + public int CountKnownDirectVulnerabilities { get; set; } + public int CountKnownTransitiveVulnerabilities { get; set; } + public int CountKnownUniqueTransitiveVulnerabilities { get; set; } + public int CountToDateDirectVulnerabilities { get; set; } + public int CountToDateTransitiveVulnerabilities { get; set; } + public int CountToDateUniqueTransitiveVulnerabilities { get; set; } + public int CountTotalFoundVulnerabilities { get; set; } + } +} diff --git a/code/AmIVulnerable/Modells/Yarn/YarnTree.cs b/code/AmIVulnerable/Modells/Yarn/YarnTree.cs new file mode 100644 index 0000000..c489f62 --- /dev/null +++ b/code/AmIVulnerable/Modells/Yarn/YarnTree.cs @@ -0,0 +1,51 @@ +using Newtonsoft.Json; +using System.Text.Json.Serialization; + +namespace Modells.Yarn { + internal class YarnTree { + [JsonProperty("type")] + [JsonPropertyName("type")] + public string type { get; set; } + + [JsonProperty("data")] + [JsonPropertyName("data")] + public Data data { get; set; } + } + + public class Child { + [JsonProperty("name")] + [JsonPropertyName("name")] + public string name { get; set; } + public string version { get; set; } = string.Empty; + + [JsonProperty("color")] + [JsonPropertyName("color")] + public string color { get; set; } + + [JsonProperty("shadow")] + [JsonPropertyName("shadow")] + public bool shadow { get; set; } + + [JsonProperty("children")] + [JsonPropertyName("children")] + public List children { get; set; } + + [JsonProperty("hint")] + [JsonPropertyName("hint")] + public object hint { get; set; } + + [JsonProperty("depth")] + [JsonPropertyName("depth")] + public int? depth { get; set; } + } + + public class Data { + [JsonProperty("type")] + [JsonPropertyName("type")] + public string type { get; set; } + + [JsonProperty("trees")] + [JsonPropertyName("trees")] + public List children { get; set; } + } +} From 46a3738bddfe45304ec35c677ed8dc83fbec482e Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Thu, 27 Jun 2024 23:07:13 +0200 Subject: [PATCH 12/45] added yarn support, index out of bounds error --- .../Controllers/ReportsController.cs | 88 ++++++++++++------- 1 file changed, 56 insertions(+), 32 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 4254c30..7329444 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -41,12 +41,12 @@ public ReportsController(IConfiguration configuration) { /// [HttpPost] [Route("vulnerabilityTimeLineNpm")] - public async Task VulnerabilityTimeLineNpm([FromBody] List npmList) { + public async Task VulnerabilityTimeLineNpmYarn([FromBody] List projects) { List timeSeries = []; - foreach (MP npm in npmList) { + foreach (MP project in projects) { // Clone - string dirGuid = await CloneProject(npm); + string dirGuid = await CloneProject(project); if (dirGuid.Equals("Err")) { return BadRequest("Could not clone project!"); } @@ -61,9 +61,9 @@ public async Task VulnerabilityTimeLineNpm([FromBody] List np // Make tree to find if vulnerability is transitive or not string treeJsonPathLatest = MakeTree(dirGuid); - timeSeries.Add(MakeTimeSlice(osvResultLatest, treeJsonPathLatest, commitdateLatest, "release", dirGuid)); + timeSeries.Add(MakeTimeSlice(osvResultLatest, treeJsonPathLatest, commitdateLatest, dirGuid, "release")); - foreach (string tag in npm.Tags) { + foreach (string tag in project.Tags) { CheckoutTagProject(dirGuid, tag); // npm install Install(dirGuid); @@ -75,7 +75,7 @@ public async Task VulnerabilityTimeLineNpm([FromBody] List np // Make tree to find if vulnerability is transitive or not string treeJsonPathCurrent = MakeTree(dirGuid); - timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, commitdateCurrent, tag, dirGuid)); + timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, commitdateCurrent, dirGuid, tag)); } DeleteProject(dirGuid); } @@ -83,11 +83,11 @@ public async Task VulnerabilityTimeLineNpm([FromBody] List np } private void Install(string dirGuid) { - if (F.Exists(dirGuid + "/yarn.lock")) { + if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/yarn.lock")) { ExecuteCommand("npx yarn", "", dirGuid); return; } - else if (!F.Exists(dirGuid + "package-lock.json")) { + else if (!F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/package-lock.json")) { ExecuteCommand("npm", "install", dirGuid); return; } @@ -229,13 +229,13 @@ private void DeleteProject(string dir) { /// /// File path private string MakeTree(string dirGuid) { - if (F.Exists(dirGuid + "yarn.lock")) { + if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/yarn.lock")) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("npx yarn", "list --all --json >> tree.json", dirGuid); + ExecuteCommand("npx yarn", "list --all --json > tree.json", dirGuid); } - else if (F.Exists(dirGuid + "package.lock")) { + else if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/package.lock")) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); + ExecuteCommand("npm", "list --all --json > tree.json", dirGuid); } return dirGuid + "/tree.json"; } @@ -300,7 +300,7 @@ private string OsvExtractVulnerabilities(string dir) { return F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + dir + "/osv.json"); ; } - private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string tagName = "release", string dir) { + private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string dir, string tagName = "release") { TimeSlice timeSlice = new TimeSlice(); timeSlice.TagName = tagName; @@ -317,7 +317,7 @@ private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTi packageList.Add(package); } } - if (jsonDocument.RootElement.TryGetProperty("results", out JsonElement yarnDependenciesElement) && + if (jsonDocument.RootElement.TryGetProperty("data", out JsonElement yarnDependenciesElement) && yarnDependenciesElement.ValueKind == JsonValueKind.Object) { foreach (JsonProperty dependency in yarnDependenciesElement.EnumerateObject()) { Y.Child yarnPackage = ExtractDependencyInfoYarn(dependency); @@ -328,6 +328,13 @@ private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTi } timeSlice.CountDirectDependencies = packageList.Count; + // Count all Vulnerabilities found in osv scan + int vulnerabilityCount = 0; + foreach (Packages osvPackage in osvResult.results[0].packages) { + vulnerabilityCount += osvPackage.vulnerabilities.Count; + } + timeSlice.CountTotalFoundVulnerabilities = vulnerabilityCount; + if (!F.Exists(dir + "/yarn.lock")) { // Make list of all transitive dependencies List allTransitiveDependencies = new List(); @@ -372,36 +379,53 @@ private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTi timeSlice.CountKnownUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allKnownTransitiveVulnerabilities).Count; timeSlice.CountToDateUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allToDateTransitiveVulnerabilities).Count; - - // Count all Vulnerabilities found in osv scan - int vulnerabilityCount = 0; - foreach (Packages osvPackage in osvResult.results[0].packages) { - vulnerabilityCount += osvPackage.vulnerabilities.Count; - } - timeSlice.CountTotalFoundVulnerabilities = vulnerabilityCount; - return timeSlice; } if (F.Exists(dir + "/yarn.lock")) { List yarnAllTransitiveDependencies = new List(); foreach (Y.Child yarnPackage in packageList) { - yarnAllTransitiveDependencies.AddRange(yarnPackage.children); + yarnAllTransitiveDependencies.AddRange(YarnTransitiveDependencies(yarnPackage.children)); } timeSlice.CountTransitiveDependencies = yarnAllTransitiveDependencies.Count; timeSlice.CountUniqueTransitiveDependencies = YarnGetUniquePackagesFromList(yarnAllTransitiveDependencies).Count; - //timeSlice.CountKnownDirectVulnerabilities - //timeSlice.CountToDateDirectVulnerabilities - //timeSlice.CountKnownTransitiveVulnerabilities - //timeSlice.CountToDateTransitiveVulnerabilities - //timeSlice.CountKnownUniqueTransitiveVulnerabilities - //timeSlice.CountToDateUniqueTransitiveVulnerabilities - //timeSlice.CountTotalFoundVulnerabilities + List yarnAllKnownDirectVulnerabilities = new List(); + List yarnToDateDirectVulnerabilities = new List(); + foreach (Y.Child yarnPackage in packageList) { + foreach (Packages osvPackage in osvResult.results[0].packages) { + if(yarnPackage.name == osvPackage.package.name && yarnPackage.version == osvPackage.package.version) { + yarnAllKnownDirectVulnerabilities.Add(yarnPackage); + if(timestamp >= OldestPublishedVulnerabilityDateTime(osvPackage.vulnerabilities)) { + yarnToDateDirectVulnerabilities.Add(yarnPackage); + } + } + } + } + timeSlice.CountKnownDirectVulnerabilities = yarnAllKnownDirectVulnerabilities.Count; + timeSlice.CountToDateDirectVulnerabilities = yarnToDateDirectVulnerabilities.Count; + + List yarnAllKnownTransitiveVulnerabilities = new List(); + List yarnAllToDateTransitiveVulnerabilities = new List(); + foreach (Y.Child yarnTransitiveDependency in yarnAllTransitiveDependencies) { + foreach (Packages osvPackage in osvResult.results[0].packages) { + if (yarnTransitiveDependency.name == osvPackage.package.name && yarnTransitiveDependency.version == osvPackage.package.version) { + yarnAllKnownTransitiveVulnerabilities.Add(yarnTransitiveDependency); + if (timestamp >= OldestPublishedVulnerabilityDateTime(osvPackage.vulnerabilities)) { + yarnAllToDateTransitiveVulnerabilities.Add(yarnTransitiveDependency); + } + } + + } + } + timeSlice.CountKnownTransitiveVulnerabilities = yarnAllKnownTransitiveVulnerabilities.Count; + timeSlice.CountToDateTransitiveVulnerabilities = yarnAllToDateTransitiveVulnerabilities.Count; + + timeSlice.CountKnownUniqueTransitiveVulnerabilities = YarnGetUniquePackagesFromList(yarnAllKnownTransitiveVulnerabilities).Count; + timeSlice.CountToDateUniqueTransitiveVulnerabilities = YarnGetUniquePackagesFromList(yarnAllToDateTransitiveVulnerabilities).Count; } - // Yarn stuff - // TODO: ANALYSE ANGULAR!! + return timeSlice; } private MPP ExtractDependencyInfoNpm(JsonProperty dependency) { From 42500afb640b05c82d9599fb3785fdf66a9668a3 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Sun, 30 Jun 2024 17:12:46 +0200 Subject: [PATCH 13/45] npm analysis update --- .../Controllers/ReportsController.cs | 64 ++++++++++--------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 7329444..8f26993 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -1,14 +1,12 @@ using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.DependencyModel; using Modells; using Modells.OsvResult; -using Modells.Packages; using MySql.Data.MySqlClient; using Newtonsoft.Json; using System.Data; using System.Diagnostics; -using System.Drawing.Text; using System.Text.Json; +using System.Text.Json.Nodes; using F = System.IO.File; using MP = Modells.Project; using MPP = Modells.Packages.Package; @@ -87,7 +85,8 @@ private void Install(string dirGuid) { ExecuteCommand("npx yarn", "", dirGuid); return; } - else if (!F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/package-lock.json")) { + else { + ExecuteCommand(CLI_RM, ".npmrc", dirGuid); ExecuteCommand("npm", "install", dirGuid); return; } @@ -233,7 +232,7 @@ private string MakeTree(string dirGuid) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); ExecuteCommand("npx yarn", "list --all --json > tree.json", dirGuid); } - else if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/package.lock")) { + else if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/package.json")) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); ExecuteCommand("npm", "list --all --json > tree.json", dirGuid); } @@ -319,10 +318,14 @@ private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTi } if (jsonDocument.RootElement.TryGetProperty("data", out JsonElement yarnDependenciesElement) && yarnDependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty dependency in yarnDependenciesElement.EnumerateObject()) { - Y.Child yarnPackage = ExtractDependencyInfoYarn(dependency); - - packageList.Add(yarnPackage); + if (yarnDependenciesElement.TryGetProperty("trees", out JsonElement yarnDependenciesElementC)) { + foreach (JsonElement tree in yarnDependenciesElementC.EnumerateArray()) { + Y.Child? yarnChild = tree.Deserialize(); + if (yarnChild is not null) { + yarnChild = RecursiveVersionExtraction(yarnChild); + packageList.Add(yarnChild); + } + } } } } @@ -335,7 +338,7 @@ private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTi } timeSlice.CountTotalFoundVulnerabilities = vulnerabilityCount; - if (!F.Exists(dir + "/yarn.lock")) { + if (!F.Exists(AppDomain.CurrentDomain.BaseDirectory + dir + "/yarn.lock")) { // Make list of all transitive dependencies List allTransitiveDependencies = new List(); foreach (MPP package in packageList) { @@ -381,7 +384,7 @@ private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTi timeSlice.CountToDateUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allToDateTransitiveVulnerabilities).Count; } - if (F.Exists(dir + "/yarn.lock")) { + if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dir + "/yarn.lock")) { List yarnAllTransitiveDependencies = new List(); foreach (Y.Child yarnPackage in packageList) { @@ -394,9 +397,9 @@ private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTi List yarnToDateDirectVulnerabilities = new List(); foreach (Y.Child yarnPackage in packageList) { foreach (Packages osvPackage in osvResult.results[0].packages) { - if(yarnPackage.name == osvPackage.package.name && yarnPackage.version == osvPackage.package.version) { + if (yarnPackage.name == osvPackage.package.name && yarnPackage.version == osvPackage.package.version) { yarnAllKnownDirectVulnerabilities.Add(yarnPackage); - if(timestamp >= OldestPublishedVulnerabilityDateTime(osvPackage.vulnerabilities)) { + if (timestamp >= OldestPublishedVulnerabilityDateTime(osvPackage.vulnerabilities)) { yarnToDateDirectVulnerabilities.Add(yarnPackage); } } @@ -446,23 +449,20 @@ private MPP ExtractDependencyInfoNpm(JsonProperty dependency) { return package; } - private Y.Child ExtractDependencyInfoYarn(JsonProperty dependency) { - string version = dependency.Name[0..(dependency.Name.LastIndexOf('@') + 1)]; - if (version[0] == '~' || version[0] == '^') { - version = version[1..version.Length]; - } - Y.Child childDependency = new Y.Child { - name = dependency.Name, - version = version - }; - if (dependency.Value.TryGetProperty("children", out JsonElement childrenElement) && - childrenElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty child in childrenElement.EnumerateObject()) { - Y.Child subChildDependency = ExtractDependencyInfoYarn(child); - childDependency.children.Add(subChildDependency); + private Y.Child RecursiveVersionExtraction(Y.Child child) { + try { + for (int i = 0; i < child.children.Count; i += 1) { + child.children[i] = RecursiveVersionExtraction(child.children[i]); + } + child.version = child.name[(child.name.LastIndexOf('@') + 1)..child.name.Length]; + if (child.version[0] == '~' || child.version[0] == '^') { + child.version = child.version[1..child.version.Length]; } + return child; + } + catch { + return child; } - return childDependency; } private List TransitiveDependencies(List packages) { @@ -486,7 +486,9 @@ private List TransitiveDependencies(List packages) { foreach (Y.Child child in yarnTransitiveDependencies) { children.Add(child); - children.AddRange(YarnTransitiveDependencies(child.children)); + if(child.children != null) { + children.AddRange(YarnTransitiveDependencies(child.children)); + } } return children; } @@ -510,9 +512,9 @@ private List GetUniquePackagesFromList(List packages) { return uniquePackages; } - private List YarnGetUniquePackagesFromList(List packages) { + private List YarnGetUniquePackagesFromList(List packages) { List uniquePackages = new List(); - foreach (Y.Child package in packages) { + foreach (Y.Child package in packages) { if (!uniquePackages.Exists(pack => pack.name.Equals(package.name) && pack.version.Equals(package.version))) { uniquePackages.Add(package); } From 02aee464a4f21f9e751712c37b88fbc1045cf6b7 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Wed, 10 Jul 2024 18:00:13 +0200 Subject: [PATCH 14/45] npm works, now analyses each tag twice with diffrent dateTimes --- .../Controllers/ReportsController.cs | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 8f26993..04d7b4e 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -22,6 +22,7 @@ public class ReportsController : ControllerBase { private readonly static string CLI = "cmd"; private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; + private DateTime lastDateTime = new DateTime(); private readonly IConfiguration Configuration; public ReportsController(IConfiguration configuration) { @@ -48,18 +49,17 @@ public async Task VulnerabilityTimeLineNpmYarn([FromBody] List(osvJsonLatest) ?? new OsvResult(); // commit DateTime - DateTime commitdateLatest = GetTagDateTime(dirGuid); + lastDateTime = GetTagDateTime(dirGuid); // Make tree to find if vulnerability is transitive or not string treeJsonPathLatest = MakeTree(dirGuid); - timeSeries.Add(MakeTimeSlice(osvResultLatest, treeJsonPathLatest, commitdateLatest, dirGuid, "release")); + timeSeries.Add(MakeTimeSlice(osvResultLatest, treeJsonPathLatest, lastDateTime, dirGuid, "release")); foreach (string tag in project.Tags) { CheckoutTagProject(dirGuid, tag); @@ -68,12 +68,14 @@ public async Task VulnerabilityTimeLineNpmYarn([FromBody] List(osvJsonCurrent) ?? new OsvResult(); - // commit DateTime - DateTime commitdateCurrent = GetTagDateTime(dirGuid); // Make tree to find if vulnerability is transitive or not string treeJsonPathCurrent = MakeTree(dirGuid); + timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, dirGuid, tag)); + // commit DateTime + lastDateTime = GetTagDateTime(dirGuid); - timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, commitdateCurrent, dirGuid, tag)); + timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, dirGuid, tag)); + lastDateTime = lastDateTime.AddSeconds(-1); } DeleteProject(dirGuid); } @@ -88,6 +90,7 @@ private void Install(string dirGuid) { else { ExecuteCommand(CLI_RM, ".npmrc", dirGuid); ExecuteCommand("npm", "install", dirGuid); + ExecuteCommand("npm", "i --lockfile-version 3 --package-lock-only", dirGuid); return; } } @@ -99,15 +102,15 @@ private void Install(string dirGuid) { /// /// /// - /// - private async Task CloneProject(MP npm) { - if (npm.ProjectUrl is null) { + /// + private async Task CloneProject(MP project) { + if (project.ProjectUrl is null) { return "Err"; } else { // clone the repo Guid repoId = Guid.NewGuid(); - string trimmedUrl = npm.ProjectUrl[(npm.ProjectUrl.IndexOf("//") + 2)..(npm.ProjectUrl.Length)]; + string trimmedUrl = project.ProjectUrl[(project.ProjectUrl.IndexOf("//") + 2)..(project.ProjectUrl.Length)]; trimmedUrl = trimmedUrl[(trimmedUrl.IndexOf('/') + 1)..(trimmedUrl.Length)]; string owner = trimmedUrl[0..trimmedUrl.IndexOf('/', 1)]; string designation = trimmedUrl[(owner.Length + 1)..trimmedUrl.Length]; @@ -119,11 +122,11 @@ private async Task CloneProject(MP npm) { $"INSERT INTO cve.repositories (guid, repoUrl, repoOwner, repoDesignation) " + $"VALUES (" + $"'{repoId}', " + - $"'{npm.ProjectUrl}', " + + $"'{project.ProjectUrl}', " + $"'{owner}', " + $"'{designation}');"); - await Clone(npm.ProjectUrl, repoId.ToString()); + await Clone(project.ProjectUrl, repoId.ToString()); return repoId.ToString(); } } From a842135585a3f2b133550b8d74139f381a0591fa Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Sun, 18 Aug 2024 19:11:57 +0200 Subject: [PATCH 15/45] added first classes for own metric --- .../Controllers/ReportsController.cs | 114 +++++++++++++++++- .../AmIVulnerable/Log/Logs20240627.txt | 1 + .../AmIVulnerable/Log/Logs20240629.txt | 1 + .../Modells/ProjectMetricResult.cs | 110 +++++++++++++++++ 4 files changed, 224 insertions(+), 2 deletions(-) create mode 100644 code/AmIVulnerable/AmIVulnerable/Log/Logs20240627.txt create mode 100644 code/AmIVulnerable/AmIVulnerable/Log/Logs20240629.txt create mode 100644 code/AmIVulnerable/Modells/ProjectMetricResult.cs diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 04d7b4e..b9fad9d 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -7,6 +7,7 @@ using System.Diagnostics; using System.Text.Json; using System.Text.Json.Nodes; +using System.Text.RegularExpressions; using F = System.IO.File; using MP = Modells.Project; using MPP = Modells.Packages.Package; @@ -31,7 +32,7 @@ public ReportsController(IConfiguration configuration) { #endregion - #region Controller + #region Controllers /// /// Generate a SimpleReport for a list of Projects @@ -82,6 +83,33 @@ public async Task VulnerabilityTimeLineNpmYarn([FromBody] List VulnerabilityMetrics([FromBody] List projects) { + List projectMetricResults = new List(); + foreach (MP project in projects) { + // Clone + string dirGuid = await CloneProject(project); + if (dirGuid.Equals("Err")) { + return BadRequest("Could not clone project!"); + } + + // npm install + Install(dirGuid); + // osv-scanner for latest + string osvJson = OsvExtractVulnerabilities(dirGuid); + OsvResult osvResult = JsonConvert.DeserializeObject(osvJson) ?? new OsvResult(); + // commit DateTime + DateTime lastDateTime = GetTagDateTime(dirGuid); + // Make tree to find if vulnerability is transitive or not + string treeJsonPath = MakeTree(dirGuid); + + projectMetricResults.Add(MakeMetricResult(osvResult, treeJsonPath, lastDateTime, dirGuid, project.ProjectUrl)); + DeleteProject(dirGuid); + } + return Ok(projectMetricResults); + } + private void Install(string dirGuid) { if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/yarn.lock")) { ExecuteCommand("npx yarn", "", dirGuid); @@ -489,7 +517,7 @@ private List TransitiveDependencies(List packages) { foreach (Y.Child child in yarnTransitiveDependencies) { children.Add(child); - if(child.children != null) { + if (child.children != null) { children.AddRange(YarnTransitiveDependencies(child.children)); } } @@ -524,6 +552,88 @@ private List GetUniquePackagesFromList(List packages) { } return uniquePackages; } + private ProjectMetricResult MakeMetricResult(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string dir, string url) { + ProjectMetricResult projectMetricResult = new ProjectMetricResult(); + projectMetricResult.AnalyseTime = timestamp; + projectMetricResult.ProjectUrl = url; + projectMetricResult.VulnerabilityMetrics = MakeMetrics(osvResult, treeJsonPath, dir); + return new ProjectMetricResult(); + } + private List MakeMetrics(OsvResult osvResult, string treeJsonPath, string dir) { + List vulnerabilityMetrics = new List(); + foreach (Packages osvPackage in osvResult.results[0].packages) { + VulnerabilityMetric vulnerabilityMetric = new VulnerabilityMetric(); + + //General Data + foreach (Vulnerability vulnerability in osvPackage.vulnerabilities) { + foreach (Severity severity in vulnerability.severity) { + vulnerabilityMetric.CvssVersion.Add(severity.type); + vulnerabilityMetric.NistSeverity.Add(MakeNistScore(severity.score)); + vulnerabilityMetric.MetricData.Add(MakeMetricData()); + } + } + + //Metric Score Caluculation + vulnerabilityMetric.MetricScore = MakeMetricScore(); + + vulnerabilityMetrics.Add(vulnerabilityMetric); + } + return vulnerabilityMetrics; + } + + //Nist Score using CVSS Version 3.1 Formula + private double MakeNistScore(string vector) { + //Do Nist Equations for CVSS_V3.1 (https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator) + return 0.0; + } + + //Metric Cube Data + private MetricData MakeMetricData() { + MetricData metricData = new MetricData(); + //metricData.TransitiveDepth = + //metricData.Vector = + //metricData.UsageCount + //metricData.OwnDependenciesCount + //metricData.OwnVulnerabilitiesCount + //metricData.PublishedSince = + return metricData; + } + + //Calculate Metric Score based on metricData for each Vulnerable Package (not every Vulnerability of package) + //this is done becuase using a different package will technically result in ALL vulnerabilities of the current package being resolved + private double MakeMetricScore() { + return 0.0; + } + + //Make string vector to element of Vector class + private string MakeVector(string vectorString) { + Vector vector = new Vector(); + Match attackVector = Regex.Match(vectorString, @"/AV:+\w{1}/"); + switch (attackVector.Groups[0].Value) { + case "N": { + vector.AttackVector = AttackVector.Network; + break; + } + case "A": { + vector.AttackVector = AttackVector.Adjacent_Network; + break; + } + case "L": { + vector.AttackVector = AttackVector.Local; + break; + } + case "P": { + vector.AttackVector = AttackVector.Physial; + break; + } + default: { + vector.AttackVector = AttackVector.Not_Available; + break; + } + } + return ""; + } + #endregion } diff --git a/code/AmIVulnerable/AmIVulnerable/Log/Logs20240627.txt b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240627.txt new file mode 100644 index 0000000..b1efdde --- /dev/null +++ b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240627.txt @@ -0,0 +1 @@ +2024-06-27 22:45:17.247 +02:00 [INF] TaskDuration completed in 242.4 ms diff --git a/code/AmIVulnerable/AmIVulnerable/Log/Logs20240629.txt b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240629.txt new file mode 100644 index 0000000..3b18843 --- /dev/null +++ b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240629.txt @@ -0,0 +1 @@ +2024-06-29 16:24:23.814 +02:00 [INF] TaskDuration completed in 276.1 ms diff --git a/code/AmIVulnerable/Modells/ProjectMetricResult.cs b/code/AmIVulnerable/Modells/ProjectMetricResult.cs new file mode 100644 index 0000000..119df3b --- /dev/null +++ b/code/AmIVulnerable/Modells/ProjectMetricResult.cs @@ -0,0 +1,110 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.Json.Serialization; +using System.Threading.Tasks; + +namespace Modells { + public class ProjectMetricResult { + [JsonProperty("ProjectUrl")] + [JsonPropertyName("ProjectUrl")] + public string ProjectUrl { get; set; } = ""; + [JsonProperty("AnalyseTime")] + [JsonPropertyName("AnalyseTime")] + public DateTime AnalyseTime { get; set; } = new DateTime(); + [JsonProperty("VulnerabilityMetrics")] + [JsonPropertyName("VulnerabilityMetrics")] + public List VulnerabilityMetrics { get; set; } = new List(); + + } + public class VulnerabilityMetric { + [JsonProperty("CvssVersion")] + [JsonPropertyName("CvssVersion")] + public List CvssVersion { get; set; } = new List(); + [JsonProperty("NistSeverity")] + [JsonPropertyName("NistSeverity")] + public List NistSeverity { get; set; } = new List(); + [JsonProperty("MetricScore")] + [JsonPropertyName("MetricScore")] + public double MetricScore { get; set; } + [JsonProperty("MetricData")] + [JsonPropertyName("MetricData")] + public List MetricData { get; set; } = new List(); + } + public class MetricData { + [JsonProperty("TransitiveDepth")] + [JsonPropertyName("TransitiveDepth")] + public int TransitiveDepth { get; set; } + [JsonProperty("Vector")] + [JsonPropertyName("Vector")] + public Vector Vector { get; set; } = new Vector(); + [JsonProperty("UsageCount")] + [JsonPropertyName("UsageCount")] + public int UsageCount { get; set; } + [JsonProperty("OwnDependenciesCount")] + [JsonPropertyName("OwnDependenciesCount")] + public int OwnDependenciesCount { get; set; } + [JsonProperty("OwnVulnerabilitiesCount")] + [JsonPropertyName("OwnVulnerabilitiesCount")] + public int OwnVulnerabilitiesCount { get; set; } + [JsonProperty("PublishedSince")] + [JsonPropertyName("PublishedSince")] + public DateTime PublishedSince { get; set; } + } + public class Vector { + [JsonProperty("AttackVector")] + [JsonPropertyName("AttackVector")] + public AttackVector AttackVector { get; set; } = new AttackVector(); + [JsonProperty("AttackComplexity")] + [JsonPropertyName("AttackComplexity")] + public AttackComplexity AttackComplexity { get; set; } = new AttackComplexity(); + [JsonProperty("PrivilegesRequired")] + [JsonPropertyName("PrivilegesRequired")] + public BaseScoreMetric PrivilegesRequired { get; set; } = new BaseScoreMetric(); + [JsonProperty("UserInteraction")] + [JsonPropertyName("UserInteraction")] + public UserInteraction UserInteraction { get; set; } = new UserInteraction(); + [JsonProperty("Scope")] + [JsonPropertyName("Scope")] + public Scope Scope { get; set; } = new Scope(); + [JsonProperty("ConfidentialityImpact")] + [JsonPropertyName("ConfidentialityImpact")] + public BaseScoreMetric ConfidentialityImpact { get; set; } = new BaseScoreMetric(); + [JsonProperty("IntegrityImpact")] + [JsonPropertyName("IntegrityImpact")] + public BaseScoreMetric IntegrityImpact { get; set; } = new BaseScoreMetric(); + [JsonProperty("AvailabilityImpact")] + [JsonPropertyName("AvailabilityImpact")] + public BaseScoreMetric AvailabilityImpact { get; set; } = new BaseScoreMetric(); + } + public enum AttackVector { + Network, + Adjacent_Network, + Local, + Physial, + Not_Available, + } + public enum AttackComplexity { + Low, + High, + Not_Available, + } + public enum UserInteraction { + None, + Required, + Not_Available, + } + public enum Scope { + Unchanged, + Changed, + Not_Available, + } + public enum BaseScoreMetric { + None, + Low, + High, + Not_Available, + } +} From ba1c3682c904d22fb27ba317c2fa5d5ad5f5fde0 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Mon, 19 Aug 2024 20:48:52 +0200 Subject: [PATCH 16/45] added metric data, needs 2 more properties to be calculated --- .../Controllers/ReportsController.cs | 209 +++++++++++++++--- .../Modells/ProjectMetricResult.cs | 14 +- 2 files changed, 191 insertions(+), 32 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index b9fad9d..e309f14 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -104,7 +104,19 @@ public async Task VulnerabilityMetrics([FromBody] List projec // Make tree to find if vulnerability is transitive or not string treeJsonPath = MakeTree(dirGuid); - projectMetricResults.Add(MakeMetricResult(osvResult, treeJsonPath, lastDateTime, dirGuid, project.ProjectUrl)); + List packageList = new List(); + using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeJsonPath))) { + if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement npmDependenciesElement) && + npmDependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty dependency in npmDependenciesElement.EnumerateObject()) { + MPP package = ExtractDependencyInfoNpm(dependency); + + packageList.Add(package); + } + } + } + + projectMetricResults.Add(MakeMetricResult(osvResult, treeJsonPath, lastDateTime, dirGuid, project.ProjectUrl, packageList)); DeleteProject(dirGuid); } return Ok(projectMetricResults); @@ -552,77 +564,90 @@ private List GetUniquePackagesFromList(List packages) { } return uniquePackages; } - private ProjectMetricResult MakeMetricResult(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string dir, string url) { + private ProjectMetricResult MakeMetricResult(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string dir, string url, List packageList) { ProjectMetricResult projectMetricResult = new ProjectMetricResult(); projectMetricResult.AnalyseTime = timestamp; projectMetricResult.ProjectUrl = url; - projectMetricResult.VulnerabilityMetrics = MakeMetrics(osvResult, treeJsonPath, dir); + projectMetricResult.VulnerabilityMetrics = MakeMetrics(osvResult, treeJsonPath, dir, packageList); return new ProjectMetricResult(); } - private List MakeMetrics(OsvResult osvResult, string treeJsonPath, string dir) { + private List MakeMetrics(OsvResult osvResult, string treeJsonPath, string dir, List packageList) { List vulnerabilityMetrics = new List(); foreach (Packages osvPackage in osvResult.results[0].packages) { VulnerabilityMetric vulnerabilityMetric = new VulnerabilityMetric(); - + vulnerabilityMetric.PackageName = osvPackage.package.name; + vulnerabilityMetric.PackageVersion = osvPackage.package.version; + MPP vulnerablePackage = packageList.Find(x => x.Name == osvPackage.package.name && x.Version == osvPackage.package.version) ?? new MPP(); //General Data foreach (Vulnerability vulnerability in osvPackage.vulnerabilities) { foreach (Severity severity in vulnerability.severity) { vulnerabilityMetric.CvssVersion.Add(severity.type); vulnerabilityMetric.NistSeverity.Add(MakeNistScore(severity.score)); - vulnerabilityMetric.MetricData.Add(MakeMetricData()); + vulnerabilityMetric.MetricData.Add(MakeMetricData(severity.score, treeJsonPath, dir, vulnerability, vulnerablePackage, osvResult.results[0].packages)); } } //Metric Score Caluculation - vulnerabilityMetric.MetricScore = MakeMetricScore(); + vulnerabilityMetric.MetricScore = MakeMetricScore(vulnerabilityMetric.MetricData); vulnerabilityMetrics.Add(vulnerabilityMetric); } return vulnerabilityMetrics; } - //Nist Score using CVSS Version 3.1 Formula - private double MakeNistScore(string vector) { - //Do Nist Equations for CVSS_V3.1 (https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator) - return 0.0; - } - //Metric Cube Data - private MetricData MakeMetricData() { + private MetricData MakeMetricData(string vector, string treeJsonPath, string dir, Vulnerability vulnerability, MPP vulnerablePackage, List osvPackages) { MetricData metricData = new MetricData(); - //metricData.TransitiveDepth = - //metricData.Vector = - //metricData.UsageCount - //metricData.OwnDependenciesCount - //metricData.OwnVulnerabilitiesCount - //metricData.PublishedSince = + //metricData.TransitiveDepths = + metricData.Vector = MakeVector(vector); + //metricData.UsageCount = + List ownDependencies = TransitiveDependencies([vulnerablePackage]); + metricData.OwnDependenciesCount = ownDependencies.Count(); + + List ownUniqueVulnerabilities = new List(); + foreach (Packages osvPackage in osvPackages) { + foreach(MPP package in ownDependencies) { + if(package.Name == osvPackage.package.name && package.Version == osvPackage.package.version && !ownUniqueVulnerabilities.Contains(package)) { + ownUniqueVulnerabilities.Add(package); + } + } + } + metricData.OwnUniqueVulnerabilitiesCount = ownUniqueVulnerabilities.Count(); + metricData.PublishedSince = vulnerability.published; return metricData; } - //Calculate Metric Score based on metricData for each Vulnerable Package (not every Vulnerability of package) + //Calculate Metric Score based on list of metricData for each Vulnerable Package and its vulnerabilities (not every Vulnerability of package) //this is done becuase using a different package will technically result in ALL vulnerabilities of the current package being resolved - private double MakeMetricScore() { + private double MakeMetricScore(List metricData) { + return 0.0; + } + + //Nist Score using CVSS Version 3.1 Formula + private double MakeNistScore(string vector) { + //Do Nist Equations for CVSS_V3.1 (https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator) return 0.0; } //Make string vector to element of Vector class - private string MakeVector(string vectorString) { + private Vector MakeVector(string vectorString) { Vector vector = new Vector(); + Match attackVector = Regex.Match(vectorString, @"/AV:+\w{1}/"); switch (attackVector.Groups[0].Value) { - case "N": { + case "/AV:N/": { vector.AttackVector = AttackVector.Network; break; } - case "A": { + case "/AV:A/": { vector.AttackVector = AttackVector.Adjacent_Network; break; } - case "L": { + case "/AV:L/": { vector.AttackVector = AttackVector.Local; break; } - case "P": { + case "/AV:P/": { vector.AttackVector = AttackVector.Physial; break; } @@ -631,7 +656,135 @@ private string MakeVector(string vectorString) { break; } } - return ""; + + Match attackComplexity = Regex.Match(vectorString, @"/AC:+\w{1}/"); + switch (attackComplexity.Groups[0].Value) { + case "/AC:L/": { + vector.AttackComplexity = AttackComplexity.Low; + break; + } + case "/AC:H/": { + vector.AttackComplexity = AttackComplexity.High; + break; + } + default: { + vector.AttackComplexity = AttackComplexity.Not_Available; + break; + } + } + + Match privilegesRequired = Regex.Match(vectorString, @"/PR:+\w{1}/"); + switch (privilegesRequired.Groups[0].Value) { + case "/PR:N/": { + vector.PrivilegesRequired = BaseScoreMetric.None; + break; + } + case "/PR:L/": { + vector.PrivilegesRequired = BaseScoreMetric.Low; + break; + } + case "/PR:H/": { + vector.PrivilegesRequired = BaseScoreMetric.High; + break; + } + default: { + vector.PrivilegesRequired = BaseScoreMetric.Not_Available; + break; + } + } + + Match userInteraction = Regex.Match(vectorString, @"/UI:+\w{1}/"); + switch (userInteraction.Groups[0].Value) { + case "/UI:N/": { + vector.UserInteraction = UserInteraction.None; + break; + } + case "/UI:R/": { + vector.UserInteraction = UserInteraction.Required; + break; + } + default: { + vector.UserInteraction = UserInteraction.Not_Available; + break; + } + } + + Match scope = Regex.Match(vectorString, @"/S:+\w{1}/"); + switch (scope.Groups[0].Value) { + case "/S:U/": { + vector.Scope = Scope.Unchanged; + break; + } + case "/S:C/": { + vector.Scope = Scope.Changed; + break; + } + default: { + vector.Scope = Scope.Not_Available; + break; + } + } + + Match confidentialityImpact = Regex.Match(vectorString, @"/C:+\w{1}/"); + switch (confidentialityImpact.Groups[0].Value) { + case "/C:N/": { + vector.ConfidentialityImpact = BaseScoreMetric.None; + break; + } + case "/C:L/": { + vector.ConfidentialityImpact = BaseScoreMetric.Low; + break; + } + case "/C:H/": { + vector.ConfidentialityImpact = BaseScoreMetric.High; + break; + } + default: { + vector.ConfidentialityImpact = BaseScoreMetric.Not_Available; + break; + } + } + + Match integrityImpact = Regex.Match(vectorString, @"/I:+\w{1}/"); + switch (integrityImpact.Groups[0].Value) { + case "/I:N/": { + vector.IntegrityImpact = BaseScoreMetric.None; + break; + } + case "/I:L/": { + vector.IntegrityImpact = BaseScoreMetric.Low; + break; + } + case "/I:H/": { + vector.IntegrityImpact = BaseScoreMetric.High; + break; + } + default: { + vector.IntegrityImpact = BaseScoreMetric.Not_Available; + break; + } + } + + Match availabilityImpact = Regex.Match(vectorString, @"/A:+\w{1}/"); + switch (availabilityImpact.Groups[0].Value) { + case "/A:N/": { + vector.AvailabilityImpact = BaseScoreMetric.None; + break; + } + case "/A:L/": { + vector.AvailabilityImpact = BaseScoreMetric.Low; + break; + } + case "/A:H/": { + vector.AvailabilityImpact = BaseScoreMetric.High; + break; + } + default: { + vector.AvailabilityImpact = BaseScoreMetric.Not_Available; + break; + } + } + return vector; } #endregion diff --git a/code/AmIVulnerable/Modells/ProjectMetricResult.cs b/code/AmIVulnerable/Modells/ProjectMetricResult.cs index 119df3b..5cc06b1 100644 --- a/code/AmIVulnerable/Modells/ProjectMetricResult.cs +++ b/code/AmIVulnerable/Modells/ProjectMetricResult.cs @@ -20,6 +20,12 @@ public class ProjectMetricResult { } public class VulnerabilityMetric { + [JsonProperty("PackageName")] + [JsonPropertyName("PackageName")] + public string PackageName { get; set; } = ""; + [JsonProperty("PackageVersion")] + [JsonPropertyName("PackageVersion")] + public string PackageVersion { get; set; } = ""; [JsonProperty("CvssVersion")] [JsonPropertyName("CvssVersion")] public List CvssVersion { get; set; } = new List(); @@ -34,9 +40,9 @@ public class VulnerabilityMetric { public List MetricData { get; set; } = new List(); } public class MetricData { - [JsonProperty("TransitiveDepth")] - [JsonPropertyName("TransitiveDepth")] - public int TransitiveDepth { get; set; } + [JsonProperty("TransitiveDepths")] + [JsonPropertyName("TransitiveDepths")] + public List TransitiveDepths { get; set; } = new List(); [JsonProperty("Vector")] [JsonPropertyName("Vector")] public Vector Vector { get; set; } = new Vector(); @@ -48,7 +54,7 @@ public class MetricData { public int OwnDependenciesCount { get; set; } [JsonProperty("OwnVulnerabilitiesCount")] [JsonPropertyName("OwnVulnerabilitiesCount")] - public int OwnVulnerabilitiesCount { get; set; } + public int OwnUniqueVulnerabilitiesCount { get; set; } [JsonProperty("PublishedSince")] [JsonPropertyName("PublishedSince")] public DateTime PublishedSince { get; set; } From ab2adb4614f9048cfb0f2fff2416767acb516024 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Tue, 20 Aug 2024 21:37:55 +0200 Subject: [PATCH 17/45] added new controller, started refactoring for less boilerplate and better usability --- .../Controllers/ReportsController.cs | 97 +------------------ .../Modells/OsvResult/OsvResult.cs | 23 ++++- code/AmIVulnerable/Modells/Project.cs | 81 +++++++++++++++- 3 files changed, 106 insertions(+), 95 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index e309f14..3792b58 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -6,7 +6,6 @@ using System.Data; using System.Diagnostics; using System.Text.Json; -using System.Text.Json.Nodes; using System.Text.RegularExpressions; using F = System.IO.File; using MP = Modells.Project; @@ -32,7 +31,7 @@ public ReportsController(IConfiguration configuration) { #endregion - #region Controllers + #region Endpoints /// /// Generate a SimpleReport for a list of Projects @@ -46,15 +45,15 @@ public async Task VulnerabilityTimeLineNpmYarn([FromBody] List(osvJsonLatest) ?? new OsvResult(); + OsvResult osvResultLatest = new OsvResult(); + osvResultLatest = osvResultLatest.OsvExtractVulnerabilities(dirGuid); // commit DateTime lastDateTime = GetTagDateTime(dirGuid); // Make tree to find if vulnerability is transitive or not @@ -78,7 +77,6 @@ public async Task VulnerabilityTimeLineNpmYarn([FromBody] List VulnerabilityMetrics([FromBody] List projec List projectMetricResults = new List(); foreach (MP project in projects) { // Clone - string dirGuid = await CloneProject(project); + string dirGuid = await project.Clone(); if (dirGuid.Equals("Err")) { return BadRequest("Could not clone project!"); } @@ -117,7 +115,6 @@ public async Task VulnerabilityMetrics([FromBody] List projec } projectMetricResults.Add(MakeMetricResult(osvResult, treeJsonPath, lastDateTime, dirGuid, project.ProjectUrl, packageList)); - DeleteProject(dirGuid); } return Ok(projectMetricResults); } @@ -139,76 +136,6 @@ private void Install(string dirGuid) { #region Internal function(s) - /// - /// - /// - /// - private async Task CloneProject(MP project) { - if (project.ProjectUrl is null) { - return "Err"; - } - - else { // clone the repo - Guid repoId = Guid.NewGuid(); - string trimmedUrl = project.ProjectUrl[(project.ProjectUrl.IndexOf("//") + 2)..(project.ProjectUrl.Length)]; - trimmedUrl = trimmedUrl[(trimmedUrl.IndexOf('/') + 1)..(trimmedUrl.Length)]; - string owner = trimmedUrl[0..trimmedUrl.IndexOf('/', 1)]; - string designation = trimmedUrl[(owner.Length + 1)..trimmedUrl.Length]; - if (designation.Contains('/')) { - designation = designation[0..trimmedUrl.IndexOf('/', owner.Length + 1)]; - } - - ExecuteMySqlCommand($"" + - $"INSERT INTO cve.repositories (guid, repoUrl, repoOwner, repoDesignation) " + - $"VALUES (" + - $"'{repoId}', " + - $"'{project.ProjectUrl}', " + - $"'{owner}', " + - $"'{designation}');"); - - await Clone(project.ProjectUrl, repoId.ToString()); - return repoId.ToString(); - } - } - - /// - /// Clone a git repository. - /// - /// URL of git project to clone. - /// Tag of git project. - /// Directory where to clone project into. - /// - private static async Task Clone(string url, string dir) { - try { - await Task.Run(() => { - if (Directory.Exists(dir)) { - RemoveReadOnlyAttribute(dir); - Directory.Delete(dir, true); - } - Process.Start("git", $"clone {url} {AppDomain.CurrentDomain.BaseDirectory + dir}").WaitForExit(); - }); - } - catch (Exception ex) { - await Console.Out.WriteLineAsync(ex.StackTrace); - } - } - - /// - /// Removes read only access of files. - /// - /// File path to folder where all read only attributes of files need to be removed. - private static void RemoveReadOnlyAttribute(string path) { - DirectoryInfo directoryInfo = new DirectoryInfo(path); - - foreach (FileInfo file in directoryInfo.GetFiles()) { - file.Attributes &= ~FileAttributes.ReadOnly; - } - - foreach (DirectoryInfo subDirectory in directoryInfo.GetDirectories()) { - RemoveReadOnlyAttribute(subDirectory.FullName); - } - } - private DataTable ExecuteMySqlCommand(string command) { // MySql Connection MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); @@ -248,20 +175,6 @@ private bool CheckoutTagProject(string dir, string tag = "-") { } } - /// - /// - /// - /// - private void DeleteProject(string dir) { - if (Directory.Exists(dir)) { - RemoveReadOnlyAttribute(dir); - Directory.Delete(dir, true); - - //dir is guid (folder named after guid) - ExecuteMySqlCommand($"DELETE FROM cve.repositories WHERE guid LIKE '{dir}';"); - } - } - #region MakeTree /// diff --git a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs index 681bfe6..c49fca8 100644 --- a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs +++ b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs @@ -1,5 +1,8 @@ using Newtonsoft.Json; +using System.Diagnostics; +using System.Net.Http.Headers; using System.Text.Json.Serialization; +using F = System.IO.File; namespace Modells.OsvResult { public class OsvResult { @@ -10,6 +13,24 @@ public class OsvResult { [JsonProperty("experimental_config")] [JsonPropertyName("experimental_config")] public ExperimentalConfig experimental_config { get; set; } + + private readonly static string CLI = "cmd"; + + public OsvResult OsvExtractVulnerabilities(string dir) { + ExecuteCommand("osv-scanner", " --format json . > osv.json", dir); + return JsonConvert.DeserializeObject(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + dir + "/osv.json")) ?? new OsvResult(); + } + private void ExecuteCommand(string prog, string command, string dir) { + ProcessStartInfo process = new ProcessStartInfo { + FileName = CLI, + RedirectStandardInput = true, + WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, + }; + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"{prog} {command}"); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + } } public class Affected { [JsonProperty("package")] @@ -224,6 +245,4 @@ public class Vulnerability { [JsonPropertyName("database_specific")] public DatabaseSpecific database_specific { get; set; } } - - } diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index 5db2fa3..f301a9f 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -1,6 +1,85 @@ -namespace Modells { +using System.Diagnostics; +using F = System.IO.File; + +namespace Modells { public class Project { public string ProjectUrl { get; set; } = string.Empty; public List Tags { get; set; } = []; + + private string dirGuid = ""; + private readonly static string CLI = "cmd"; + private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; + + public Project() { } + + public async Task Clone() { + if (ProjectUrl is null) { + this.dirGuid = "Err"; + return "Err"; + } + + else { // clone the repo + Guid repoId = Guid.NewGuid(); + string trimmedUrl = ProjectUrl[(ProjectUrl.IndexOf("//") + 2)..(ProjectUrl.Length)]; + trimmedUrl = trimmedUrl[(trimmedUrl.IndexOf('/') + 1)..(trimmedUrl.Length)]; + string owner = trimmedUrl[0..trimmedUrl.IndexOf('/', 1)]; + string designation = trimmedUrl[(owner.Length + 1)..trimmedUrl.Length]; + if (designation.Contains('/')) { + designation = designation[0..trimmedUrl.IndexOf('/', owner.Length + 1)]; + } + + await Clone(ProjectUrl, repoId.ToString()); + this.dirGuid = repoId.ToString(); + return repoId.ToString(); + } + } + private static async Task Clone(string url, string dir) { + try { + await Task.Run(() => { + if (Directory.Exists(dir)) { + RemoveReadOnlyAttribute(dir); + Directory.Delete(dir, true); + } + Process.Start("git", $"clone {url} {AppDomain.CurrentDomain.BaseDirectory + dir}").WaitForExit(); + }); + } + catch (Exception ex) { + await Console.Out.WriteLineAsync(ex.StackTrace); + } + } + private static void RemoveReadOnlyAttribute(string path) { + DirectoryInfo directoryInfo = new DirectoryInfo(path); + + foreach (FileInfo file in directoryInfo.GetFiles()) { + file.Attributes &= ~FileAttributes.ReadOnly; + } + + foreach (DirectoryInfo subDirectory in directoryInfo.GetDirectories()) { + RemoveReadOnlyAttribute(subDirectory.FullName); + } + } + public void Install() { + ExecuteCommand(CLI_RM, ".npmrc", dirGuid); + ExecuteCommand("npm", "install", dirGuid); + ExecuteCommand("npm", "i --lockfile-version 3 --package-lock-only", dirGuid); + return; + } + + /// + /// Starts a process that runs a command. + /// + /// Programm used for commands + /// Command used for programm + private void ExecuteCommand(string prog, string command, string dir) { + ProcessStartInfo process = new ProcessStartInfo { + FileName = CLI, + RedirectStandardInput = true, + WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, + }; + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"{prog} {command}"); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + } } } \ No newline at end of file From c2749dd45f4346be2b39e8b4f695237042e0eeee Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Wed, 21 Aug 2024 21:32:19 +0200 Subject: [PATCH 18/45] added new controller, implemented nist baseScore calculation --- .../Modells/ProjectMetricResult.cs | 103 ++++++++++++++---- 1 file changed, 80 insertions(+), 23 deletions(-) diff --git a/code/AmIVulnerable/Modells/ProjectMetricResult.cs b/code/AmIVulnerable/Modells/ProjectMetricResult.cs index 5cc06b1..89297ce 100644 --- a/code/AmIVulnerable/Modells/ProjectMetricResult.cs +++ b/code/AmIVulnerable/Modells/ProjectMetricResult.cs @@ -62,55 +62,112 @@ public class MetricData { public class Vector { [JsonProperty("AttackVector")] [JsonPropertyName("AttackVector")] - public AttackVector AttackVector { get; set; } = new AttackVector(); + public AttackVector AttackVector { get; set; } = AttackVector.Not_Available; [JsonProperty("AttackComplexity")] [JsonPropertyName("AttackComplexity")] - public AttackComplexity AttackComplexity { get; set; } = new AttackComplexity(); + public AttackComplexity AttackComplexity { get; set; } = AttackComplexity.Not_Available; [JsonProperty("PrivilegesRequired")] [JsonPropertyName("PrivilegesRequired")] - public BaseScoreMetric PrivilegesRequired { get; set; } = new BaseScoreMetric(); + public PrivilegesRequired PrivilegesRequired { get; set; } = PrivilegesRequired.Not_Available; [JsonProperty("UserInteraction")] [JsonPropertyName("UserInteraction")] - public UserInteraction UserInteraction { get; set; } = new UserInteraction(); + public UserInteraction UserInteraction { get; set; } = UserInteraction.Not_Available; [JsonProperty("Scope")] [JsonPropertyName("Scope")] - public Scope Scope { get; set; } = new Scope(); + public Scope Scope { get; set; } = Scope.Not_Available; [JsonProperty("ConfidentialityImpact")] [JsonPropertyName("ConfidentialityImpact")] - public BaseScoreMetric ConfidentialityImpact { get; set; } = new BaseScoreMetric(); + public BaseScoreMetric ConfidentialityImpact { get; set; } = BaseScoreMetric.Not_Available; [JsonProperty("IntegrityImpact")] [JsonPropertyName("IntegrityImpact")] - public BaseScoreMetric IntegrityImpact { get; set; } = new BaseScoreMetric(); + public BaseScoreMetric IntegrityImpact { get; set; } = BaseScoreMetric.Not_Available; [JsonProperty("AvailabilityImpact")] [JsonPropertyName("AvailabilityImpact")] - public BaseScoreMetric AvailabilityImpact { get; set; } = new BaseScoreMetric(); + public BaseScoreMetric AvailabilityImpact { get; set; } = BaseScoreMetric.Not_Available; + public decimal BaseScore() { + decimal baseScore = -1; + //If any Vector property not set return -1 + if (AttackVector == AttackVector.Not_Available || + AttackComplexity == AttackComplexity.Not_Available || + PrivilegesRequired == PrivilegesRequired.Not_Available || + UserInteraction == UserInteraction.Not_Available || + Scope == Scope.Not_Available || + ConfidentialityImpact == BaseScoreMetric.Not_Available || + IntegrityImpact == BaseScoreMetric.Not_Available || + AvailabilityImpact == BaseScoreMetric.Not_Available) { + return baseScore; + } + + //Impact Base Score + decimal ISC_Base = 1 - ( + (1 - ((decimal)ConfidentialityImpact / 100)) * + (1 - ((decimal)IntegrityImpact / 100)) * + (1 - ((decimal)AvailabilityImpact / 100)) + ); + + //Impact Score + decimal ISC = 0; + if (Scope == Scope.Unchanged) { + ISC = 6.42m * ISC_Base; + } + else if (Scope == Scope.Changed) { + ISC = 7.52m * (ISC_Base - 0.029m) - 3.25m * (decimal)Math.Pow(((double)ISC_Base - 0.02), 15.0); + } + + //Exploitability Score + decimal ESC = 8.22m * + ((decimal)AttackVector/100) * + ((decimal)AttackComplexity / 100) * + ((decimal)PrivilegesRequired / 100) * + ((decimal)UserInteraction / 100); + + //BaseScore + if (ISC == 0) { + baseScore = 0; + } else if (Scope == Scope.Unchanged) { + baseScore = Math.Ceiling(Math.Min((ISC + ESC), 10)); + } else if (Scope == Scope.Unchanged) { + baseScore = Math.Ceiling(1.08m * Math.Min((ISC + ESC), 10)); + + } + return baseScore; + } } public enum AttackVector { - Network, - Adjacent_Network, - Local, - Physial, - Not_Available, + Network = 85, + Adjacent_Network = 62, + Local = 55, + Physial = 20, + Not_Available = 0, } public enum AttackComplexity { - Low, - High, - Not_Available, + Low = 77, + High = 44, + Not_Available = 0, } public enum UserInteraction { - None, - Required, - Not_Available, + None = 85, + Required = 62, + Not_Available = 0, } public enum Scope { Unchanged, Changed, Not_Available, } + //higher if scope is changed + public enum PrivilegesRequired { + None = 85, + Low = 62, + High = 27, + Low_Scope_Changed = 68, + High_Scope_Changed = 50, + Not_Available = 0, + } public enum BaseScoreMetric { - None, - Low, - High, - Not_Available, + None = 0, + Low = 22, + High = 56, + Not_Available = 0, } } From aaa9e0bde6244ca86916ada59312be116d7426e7 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Wed, 21 Aug 2024 22:02:46 +0200 Subject: [PATCH 19/45] debugged calculation --- .../Modells/ProjectMetricResult.cs | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/code/AmIVulnerable/Modells/ProjectMetricResult.cs b/code/AmIVulnerable/Modells/ProjectMetricResult.cs index 89297ce..5e8fd83 100644 --- a/code/AmIVulnerable/Modells/ProjectMetricResult.cs +++ b/code/AmIVulnerable/Modells/ProjectMetricResult.cs @@ -114,21 +114,27 @@ public decimal BaseScore() { ISC = 7.52m * (ISC_Base - 0.029m) - 3.25m * (decimal)Math.Pow(((double)ISC_Base - 0.02), 15.0); } - //Exploitability Score - decimal ESC = 8.22m * - ((decimal)AttackVector/100) * - ((decimal)AttackComplexity / 100) * - ((decimal)PrivilegesRequired / 100) * - ((decimal)UserInteraction / 100); - //BaseScore if (ISC == 0) { baseScore = 0; - } else if (Scope == Scope.Unchanged) { - baseScore = Math.Ceiling(Math.Min((ISC + ESC), 10)); - } else if (Scope == Scope.Unchanged) { - baseScore = Math.Ceiling(1.08m * Math.Min((ISC + ESC), 10)); - + } + else if (Scope == Scope.Unchanged) {//Exploitability Score + decimal ESC = 8.22m * + ((decimal)AttackVector / 100) * + ((decimal)AttackComplexity / 100) * + ((decimal)PrivilegesRequired / 100) * + ((decimal)UserInteraction / 100); + baseScore = Math.Round(Math.Min((ISC + ESC), 10), 1); + } + else if (Scope == Scope.Changed) {//Exploitability Score + if (PrivilegesRequired == PrivilegesRequired.High) PrivilegesRequired = PrivilegesRequired.High_Scope_Changed; + if (PrivilegesRequired == PrivilegesRequired.Low) PrivilegesRequired = PrivilegesRequired.Low_Scope_Changed; + decimal ESC = 8.22m * + ((decimal)AttackVector / 100) * + ((decimal)AttackComplexity / 100) * + ((decimal)PrivilegesRequired / 100) * + ((decimal)UserInteraction / 100); + baseScore = Math.Round(1.08m * Math.Min((ISC + ESC), 10), 1); } return baseScore; } @@ -138,22 +144,22 @@ public enum AttackVector { Adjacent_Network = 62, Local = 55, Physial = 20, - Not_Available = 0, + Not_Available = -1, } public enum AttackComplexity { Low = 77, High = 44, - Not_Available = 0, + Not_Available = -1, } public enum UserInteraction { None = 85, Required = 62, - Not_Available = 0, + Not_Available = -1, } public enum Scope { Unchanged, Changed, - Not_Available, + Not_Available = -1, } //higher if scope is changed public enum PrivilegesRequired { @@ -162,12 +168,12 @@ public enum PrivilegesRequired { High = 27, Low_Scope_Changed = 68, High_Scope_Changed = 50, - Not_Available = 0, + Not_Available = -1, } public enum BaseScoreMetric { None = 0, Low = 22, High = 56, - Not_Available = 0, + Not_Available = -1, } } From 59abcf1fee48c0533b850d68150e46340d23504b Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Sat, 24 Aug 2024 21:28:45 +0200 Subject: [PATCH 20/45] added first step to direct dependency vulnerability depth and base score --- .../Controllers/ReportsController.cs | 8 ++++---- code/AmIVulnerable/Modells/Project.cs | 19 +++++++++++++++++-- .../Modells/ProjectMetricResult.cs | 4 +++- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 3792b58..3451190 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -589,19 +589,19 @@ private Vector MakeVector(string vectorString) { Match privilegesRequired = Regex.Match(vectorString, @"/PR:+\w{1}/"); switch (privilegesRequired.Groups[0].Value) { case "/PR:N/": { - vector.PrivilegesRequired = BaseScoreMetric.None; + vector.PrivilegesRequired = PrivilegesRequired.None; break; } case "/PR:L/": { - vector.PrivilegesRequired = BaseScoreMetric.Low; + vector.PrivilegesRequired = PrivilegesRequired.Low; break; } case "/PR:H/": { - vector.PrivilegesRequired = BaseScoreMetric.High; + vector.PrivilegesRequired = PrivilegesRequired.High; break; } default: { - vector.PrivilegesRequired = BaseScoreMetric.Not_Available; + vector.PrivilegesRequired = PrivilegesRequired.Not_Available; break; } } diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index f301a9f..ee01277 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -1,10 +1,11 @@ using System.Diagnostics; -using F = System.IO.File; +using Modells.Packages; namespace Modells { public class Project { public string ProjectUrl { get; set; } = string.Empty; public List Tags { get; set; } = []; + public List Packages { get; set; } = []; private string dirGuid = ""; private readonly static string CLI = "cmd"; @@ -29,7 +30,7 @@ public async Task Clone() { } await Clone(ProjectUrl, repoId.ToString()); - this.dirGuid = repoId.ToString(); + dirGuid = repoId.ToString(); return repoId.ToString(); } } @@ -81,5 +82,19 @@ private void ExecuteCommand(string prog, string command, string dir) { runProcess.StandardInput.WriteLine($"exit"); runProcess.WaitForExit(); } + + + /// + /// Make a tree.json file + /// + /// + /// + /// File path + public string MakeTree(string dirGuid) { + ExecuteCommand("npm", "install", dirGuid); + ExecuteCommand(CLI_RM, "tree.json", dirGuid); + ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); + return dirGuid + "/tree.json"; + } } } \ No newline at end of file diff --git a/code/AmIVulnerable/Modells/ProjectMetricResult.cs b/code/AmIVulnerable/Modells/ProjectMetricResult.cs index 5e8fd83..bc02cd6 100644 --- a/code/AmIVulnerable/Modells/ProjectMetricResult.cs +++ b/code/AmIVulnerable/Modells/ProjectMetricResult.cs @@ -1,6 +1,8 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Diagnostics.Contracts; using System.Linq; using System.Text; using System.Text.Json.Serialization; @@ -176,4 +178,4 @@ public enum BaseScoreMetric { High = 56, Not_Available = -1, } -} +} \ No newline at end of file From 0ddba0eafc687663331f2ceb3ec7094c7fabb26a Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Sun, 25 Aug 2024 18:00:03 +0200 Subject: [PATCH 21/45] bug fix --- .../Controllers/ReportsController.cs | 61 ++++----- code/AmIVulnerable/Modells/Project.cs | 119 ++++++++++++------ 2 files changed, 109 insertions(+), 71 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 3451190..8b55f34 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Mvc; using Modells; +using Modells.DTO; using Modells.OsvResult; using MySql.Data.MySqlClient; using Newtonsoft.Json; @@ -40,41 +41,39 @@ public ReportsController(IConfiguration configuration) { /// [HttpPost] [Route("vulnerabilityTimeLineNpm")] - public async Task VulnerabilityTimeLineNpmYarn([FromBody] List projects) { + public async Task VulnerabilityTimeLineNpmYarn([FromBody] List projectsDto) { + List projects = new List(); + foreach(ProjectDto projectDto in projectsDto) { + projects.Add(new MP(projectDto.ProjectUrl, projectDto.Tags)); + } List timeSeries = []; foreach (MP project in projects) { // Clone - string dirGuid = await project.Clone(); - if (dirGuid.Equals("Err")) { - return BadRequest("Could not clone project!"); - } - // npm install - Install(dirGuid); + project.MakeDependencyTreeAsync(); // osv-scanner for latest OsvResult osvResultLatest = new OsvResult(); - osvResultLatest = osvResultLatest.OsvExtractVulnerabilities(dirGuid); + osvResultLatest = osvResultLatest.OsvExtractVulnerabilities(project.DirGuid); // commit DateTime - lastDateTime = GetTagDateTime(dirGuid); + lastDateTime = GetTagDateTime(project.DirGuid); // Make tree to find if vulnerability is transitive or not - string treeJsonPathLatest = MakeTree(dirGuid); + string treeJsonPathLatest = MakeTree(project.DirGuid); - timeSeries.Add(MakeTimeSlice(osvResultLatest, treeJsonPathLatest, lastDateTime, dirGuid, "release")); + timeSeries.Add(MakeTimeSlice(osvResultLatest, treeJsonPathLatest, lastDateTime, project.DirGuid, "release")); foreach (string tag in project.Tags) { - CheckoutTagProject(dirGuid, tag); - // npm install - Install(dirGuid); + CheckoutTagProject(project.DirGuid, tag); + project.MakeDependencyTreeAsync(); // osv-scanner for latest - string osvJsonCurrent = OsvExtractVulnerabilities(dirGuid); + string osvJsonCurrent = OsvExtractVulnerabilities(project.DirGuid); OsvResult osvResultCurrent = JsonConvert.DeserializeObject(osvJsonCurrent) ?? new OsvResult(); // Make tree to find if vulnerability is transitive or not - string treeJsonPathCurrent = MakeTree(dirGuid); - timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, dirGuid, tag)); + string treeJsonPathCurrent = MakeTree(project.DirGuid); + timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, project.DirGuid, tag)); // commit DateTime - lastDateTime = GetTagDateTime(dirGuid); + lastDateTime = GetTagDateTime(project.DirGuid); - timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, dirGuid, tag)); + timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, project.DirGuid, tag)); lastDateTime = lastDateTime.AddSeconds(-1); } } @@ -87,20 +86,14 @@ public async Task VulnerabilityMetrics([FromBody] List projec List projectMetricResults = new List(); foreach (MP project in projects) { // Clone - string dirGuid = await project.Clone(); - if (dirGuid.Equals("Err")) { - return BadRequest("Could not clone project!"); - } - - // npm install - Install(dirGuid); + project.MakeDependencyTreeAsync(); // osv-scanner for latest - string osvJson = OsvExtractVulnerabilities(dirGuid); + string osvJson = OsvExtractVulnerabilities(project.DirGuid); OsvResult osvResult = JsonConvert.DeserializeObject(osvJson) ?? new OsvResult(); // commit DateTime - DateTime lastDateTime = GetTagDateTime(dirGuid); + DateTime lastDateTime = GetTagDateTime(project.DirGuid); // Make tree to find if vulnerability is transitive or not - string treeJsonPath = MakeTree(dirGuid); + string treeJsonPath = MakeTree(project.DirGuid); List packageList = new List(); using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeJsonPath))) { @@ -114,7 +107,7 @@ public async Task VulnerabilityMetrics([FromBody] List projec } } - projectMetricResults.Add(MakeMetricResult(osvResult, treeJsonPath, lastDateTime, dirGuid, project.ProjectUrl, packageList)); + projectMetricResults.Add(MakeMetricResult(osvResult, treeJsonPath, lastDateTime, project.DirGuid, project.ProjectUrl, packageList)); } return Ok(projectMetricResults); } @@ -449,9 +442,9 @@ private List TransitiveDependencies(List packages) { return children; } - private DateTime OldestPublishedVulnerabilityDateTime(List vulnerabilities) { + private DateTime OldestPublishedVulnerabilityDateTime(List vulnerabilities) { DateTime oldestPublishedVulnerabilityDateTime = DateTime.Now; - foreach (Vulnerability vulnerability in vulnerabilities) { + foreach (Modells.OsvResult.Vulnerability vulnerability in vulnerabilities) { if (vulnerability.published < oldestPublishedVulnerabilityDateTime) { oldestPublishedVulnerabilityDateTime = vulnerability.published; } @@ -492,7 +485,7 @@ private List MakeMetrics(OsvResult osvResult, string treeJs vulnerabilityMetric.PackageVersion = osvPackage.package.version; MPP vulnerablePackage = packageList.Find(x => x.Name == osvPackage.package.name && x.Version == osvPackage.package.version) ?? new MPP(); //General Data - foreach (Vulnerability vulnerability in osvPackage.vulnerabilities) { + foreach (Modells.OsvResult.Vulnerability vulnerability in osvPackage.vulnerabilities) { foreach (Severity severity in vulnerability.severity) { vulnerabilityMetric.CvssVersion.Add(severity.type); vulnerabilityMetric.NistSeverity.Add(MakeNistScore(severity.score)); @@ -509,7 +502,7 @@ private List MakeMetrics(OsvResult osvResult, string treeJs } //Metric Cube Data - private MetricData MakeMetricData(string vector, string treeJsonPath, string dir, Vulnerability vulnerability, MPP vulnerablePackage, List osvPackages) { + private MetricData MakeMetricData(string vector, string treeJsonPath, string dir, Modells.OsvResult.Vulnerability vulnerability, MPP vulnerablePackage, List osvPackages) { MetricData metricData = new MetricData(); //metricData.TransitiveDepths = metricData.Vector = MakeVector(vector); diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index ee01277..885591b 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -1,5 +1,8 @@ -using System.Diagnostics; +using System; +using System.Diagnostics; +using System.Text.Json; using Modells.Packages; +using F = System.IO.File; namespace Modells { public class Project { @@ -7,45 +10,44 @@ public class Project { public List Tags { get; set; } = []; public List Packages { get; set; } = []; - private string dirGuid = ""; + public string DirGuid { get; set; } = ""; private readonly static string CLI = "cmd"; private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; - public Project() { } + public Project(string projectUrl, List tags) { + ProjectUrl = projectUrl; + Tags = tags; + } + + + /// + /// + /// + /// + /// + public async void MakeDependencyTreeAsync() { + List dependencyTree = new List(); + DirGuid = await Clone(); + Install(); + string treeJsonPath = MakeTree(DirGuid); + Packages = ExtractTree(treeJsonPath); + } - public async Task Clone() { + private async Task Clone() { if (ProjectUrl is null) { - this.dirGuid = "Err"; + this.DirGuid = "Err"; return "Err"; } else { // clone the repo - Guid repoId = Guid.NewGuid(); - string trimmedUrl = ProjectUrl[(ProjectUrl.IndexOf("//") + 2)..(ProjectUrl.Length)]; - trimmedUrl = trimmedUrl[(trimmedUrl.IndexOf('/') + 1)..(trimmedUrl.Length)]; - string owner = trimmedUrl[0..trimmedUrl.IndexOf('/', 1)]; - string designation = trimmedUrl[(owner.Length + 1)..trimmedUrl.Length]; - if (designation.Contains('/')) { - designation = designation[0..trimmedUrl.IndexOf('/', owner.Length + 1)]; + DirGuid = Guid.NewGuid().ToString(); + try { + ExecuteCommand("git", $"clone {ProjectUrl} {DirGuid}", ""); } - - await Clone(ProjectUrl, repoId.ToString()); - dirGuid = repoId.ToString(); - return repoId.ToString(); - } - } - private static async Task Clone(string url, string dir) { - try { - await Task.Run(() => { - if (Directory.Exists(dir)) { - RemoveReadOnlyAttribute(dir); - Directory.Delete(dir, true); - } - Process.Start("git", $"clone {url} {AppDomain.CurrentDomain.BaseDirectory + dir}").WaitForExit(); - }); - } - catch (Exception ex) { - await Console.Out.WriteLineAsync(ex.StackTrace); + catch (Exception ex) { + await Console.Out.WriteLineAsync(ex.StackTrace); + } + return DirGuid; } } private static void RemoveReadOnlyAttribute(string path) { @@ -59,10 +61,10 @@ private static void RemoveReadOnlyAttribute(string path) { RemoveReadOnlyAttribute(subDirectory.FullName); } } - public void Install() { - ExecuteCommand(CLI_RM, ".npmrc", dirGuid); - ExecuteCommand("npm", "install", dirGuid); - ExecuteCommand("npm", "i --lockfile-version 3 --package-lock-only", dirGuid); + private void Install() { + ExecuteCommand(CLI_RM, ".npmrc", DirGuid); + ExecuteCommand("npm", "install", DirGuid); + ExecuteCommand("npm", "i --lockfile-version 3 --package-lock-only", DirGuid); return; } @@ -83,18 +85,61 @@ private void ExecuteCommand(string prog, string command, string dir) { runProcess.WaitForExit(); } - /// /// Make a tree.json file /// /// /// /// File path - public string MakeTree(string dirGuid) { + private string MakeTree(string dirGuid) { ExecuteCommand("npm", "install", dirGuid); ExecuteCommand(CLI_RM, "tree.json", dirGuid); ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); - return dirGuid + "/tree.json"; + return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; + } + + /// + /// + /// + /// + /// + private List ExtractTree(string filePath) { + List packages = []; + using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(filePath))) { + if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && + dependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { + Package nodePackage = ExtractDependencyInfo(dependency); + + packages.Add(nodePackage); + } + } + } + return packages; + } + + /// + /// + /// + /// + /// + private Package ExtractDependencyInfo(JsonProperty dependency) { + Package nodePackage = new Package { + Name = dependency.Name + }; + if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && + versionElement.ValueKind == JsonValueKind.String) { + nodePackage.Version = versionElement.GetString() ?? ""; + } + if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && + subDependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { + Package subNodePackage = ExtractDependencyInfo(subDependency); + nodePackage.Dependencies.Add(subNodePackage); + } + } + + return nodePackage; } } } \ No newline at end of file From e0fc70eae03ca644c93dbca8379c657c521e2043 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Mon, 26 Aug 2024 22:25:29 +0200 Subject: [PATCH 22/45] fixed metric dependency endpoint --- code/AmIVulnerable/Modells/Project.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index 885591b..07698b3 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -27,8 +27,9 @@ public Project(string projectUrl, List tags) { /// public async void MakeDependencyTreeAsync() { List dependencyTree = new List(); - DirGuid = await Clone(); - Install(); + //DirGuid = await Clone(); + DirGuid = "eeb6f385-e135-4fc3-9671-42ab9735e398"; + //Install(); string treeJsonPath = MakeTree(DirGuid); Packages = ExtractTree(treeJsonPath); } From 0388b86394b37e0b444bbc54de1dc09face3a457 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Wed, 28 Aug 2024 14:31:58 +0200 Subject: [PATCH 23/45] added vulnerability endpoint, finished dependency endpoint --- .../Controllers/MetricController.cs | 406 +++++ .../ReportsController - Kopieren.cs | 1274 +++++++-------- .../Controllers/ReportsController.cs | 1398 ++++++++--------- code/AmIVulnerable/Modells/DTO/ProjectDto.cs | 12 + code/AmIVulnerable/Modells/Project.cs | 71 +- code/AmIVulnerable/Modells/Vulnerability.cs | 19 + data/rxjs.json | 64 + example_return.json | 89 ++ 8 files changed, 1986 insertions(+), 1347 deletions(-) create mode 100644 code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs create mode 100644 code/AmIVulnerable/Modells/DTO/ProjectDto.cs create mode 100644 code/AmIVulnerable/Modells/Vulnerability.cs create mode 100644 data/rxjs.json create mode 100644 example_return.json diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs new file mode 100644 index 0000000..85fa6b8 --- /dev/null +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -0,0 +1,406 @@ +using Microsoft.AspNetCore.Mvc; +using Modells; +using Modells.OsvResult; +using System.Text.RegularExpressions; +using MP = Modells.Project; +using V = Modells.Vulnerability; +using OSVV = Modells.OsvResult.Vulnerability; +using System.Text.Json; +using PP = Modells.Packages.Package; +using Modells.DTO; + +namespace AmIVulnerable.Controllers { + + [Route("api/[controller]")] + [ApiController] + public class MetricController : ControllerBase { + + #region Config + + private readonly static string CLI = "cmd"; + private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; + private DateTime lastDateTime = new DateTime(); + + private readonly IConfiguration Configuration; + public MetricController(IConfiguration configuration) { + Configuration = configuration; + } + + #endregion + + #region Endpoints + + /// + /// Generate two dimensional Metric Data for Dependencies + /// + /// + /// + [HttpPost] + [Route("dependency")] + public IActionResult Dependency([FromBody] List projectsDto) { + List projects = new List(); + foreach (ProjectDto projectDto in projectsDto) { + projects.Add(new MP(projectDto.ProjectUrl, projectDto.Tags)); + } + + foreach (MP project in projects) { + project.MakeDependencyTreeCloneAsync(); + project.Results.Add(MakeDependencyResultEntry(project, "master")); + + foreach (string tag in project.Tags) { + project.MakeDependencyTreeCheckoutAsync(tag); + project.Results.Add(MakeDependencyResultEntry(project, tag)); + } + } + //Return list of enriched projects + return Ok(projects); + } + + /// + /// Generate two dimensional Metric Data for Vulnerablilty + /// + /// + /// + [HttpPost] + [Route("vulnerability")] + public IActionResult Vulnerablilty([FromBody] List projectsDto) { + List projects = new List(); + foreach (ProjectDto projectDto in projectsDto) { + projects.Add(new MP(projectDto.ProjectUrl, projectDto.Tags)); + } + foreach (MP project in projects) { + project.MakeDependencyTreeCloneAsync(); + project.Results.Add(MakeVulnerabilityResultEntry(project, "master")); + + foreach (string tag in project.Tags) { + project.MakeDependencyTreeCheckoutAsync(tag); + project.Results.Add(MakeVulnerabilityResultEntry(project, tag)); + } + } + return Ok(projects); + } + #endregion + + /// + /// + /// + /// + /// + private MP.Tag MakeDependencyResultEntry(MP project, string tagName) { + OsvResult osvResult = new OsvResult(); + osvResult = osvResult.OsvExtractVulnerabilities(project.DirGuid); + MP.Tag tagWithEntries = new MP.Tag(); + tagWithEntries.TagName = tagName; + + List> directDependencyVulnerabilities = new List>(); + + foreach (PP directDependency in project.Packages) { + List directDependencyVulnerabilitiesSubList = new List(); + foreach (Packages osvPackage in osvResult.results[0].packages) { + List transitiveDepths = GetDepths(osvPackage, directDependency); + foreach (int transitiveDepth in transitiveDepths) { + directDependencyVulnerabilitiesSubList.Add(new V(osvPackage.package.name, osvPackage.package.version, GetHighestSeverity(osvPackage.vulnerabilities), transitiveDepth)); + } + } + if (directDependencyVulnerabilitiesSubList.Count != 0) { + directDependencyVulnerabilities.Add(directDependencyVulnerabilitiesSubList); + tagWithEntries.RootDependencies.Add(new MP.Rootdependency(directDependency.Name, directDependencyVulnerabilitiesSubList)); + } + } + return tagWithEntries; + } + + private MP.Tag MakeVulnerabilityResultEntry(MP project, string tagName) { + OsvResult osvResult = new OsvResult(); + osvResult = osvResult.OsvExtractVulnerabilities(project.DirGuid); + MP.Tag tagWithEntries = new MP.Tag(); + tagWithEntries.TagName = tagName; + + List> vulnerabilitiesOfVulnerabilities = new List>(); + List vulnerableDependencies = GetVulnerablePackages(osvResult.results[0].packages, project.Packages); + + foreach (PP vulnerableDependency in vulnerableDependencies) { + List vulnerabilitiesOfVulnerabilitiesSubList = new List(); + foreach(Packages osvPackage in osvResult.results[0].packages) { + List transitiveDepths = GetDepths(osvPackage, vulnerableDependency); + foreach (int transitiveDepth in transitiveDepths) { + vulnerabilitiesOfVulnerabilitiesSubList.Add(new V(osvPackage.package.name, osvPackage.package.version, GetHighestSeverity(osvPackage.vulnerabilities), transitiveDepth)); + } + } + if (vulnerabilitiesOfVulnerabilitiesSubList.Count != 0) { + vulnerabilitiesOfVulnerabilities.Add(vulnerabilitiesOfVulnerabilitiesSubList); + tagWithEntries.RootDependencies.Add(new MP.Rootdependency(vulnerableDependency.Name, vulnerabilitiesOfVulnerabilitiesSubList)); + } + } + return tagWithEntries; + } + + private List GetVulnerablePackages(List osvPackages, List projectPackages) { + List vulnerablePackages = new List(); + foreach(Packages osvPackage in osvPackages) { + foreach(PP package in projectPackages) { + PP vulnerablePackage = FindVulnerablePackage(osvPackage, package); + if (vulnerablePackage.Name != "" && vulnerablePackage.Version != "") { + vulnerablePackages.Add(vulnerablePackage); + } + } + } + return vulnerablePackages; + } + + private PP FindVulnerablePackage(Packages osvPackage, PP package) { + PP result = new PP(); + //If current package is vulnerable + if (package.Name == osvPackage.package.name && + package.Version == osvPackage.package.version) { + return package; + //Search deeper + } + else { + foreach(PP dependency in package.Dependencies) { + result = FindVulnerablePackage(osvPackage, dependency); + } + } + return result; + } + + #region internal functions + /// + /// TESTED + /// + /// + /// + private decimal GetHighestSeverity(List osvPackageVulnerabilities) { + decimal severity = -1.0m; + foreach (OSVV osvVulnerability in osvPackageVulnerabilities) { + if (osvVulnerability.severity != null) { + foreach (Severity osvSeverity in osvVulnerability.severity) { + decimal vulnerabilitySeverity = MakeVector(osvSeverity.score).BaseScore(); + if (vulnerabilitySeverity > severity) { + severity = vulnerabilitySeverity; + } + } + } + } + return severity; + } + + /// + /// Get Depth a single osvPackage is in deptree + /// + /// + /// + /// + private List GetDepths(Packages osvPackage, PP directDependency) { + List depths = new List(); + //If direct dep is vulnerable + if (directDependency.Name == osvPackage.package.name && + directDependency.Version == osvPackage.package.version) { + depths.Add(0); + } + //For all transitive deps + foreach (PP package in directDependency.Dependencies) { + depths.AddRange(GetTransitiveDepths(osvPackage, package, 1)); + } + return depths; + } + /// + /// + /// + /// + /// + /// + /// + /// + private List GetTransitiveDepths(Packages osvPackage, PP package, int depth) { + List savedDepths = new List(); + //If package is found, add it + if (package.Name == osvPackage.package.name && + package.Version == osvPackage.package.version) { + savedDepths.Add(depth); + } + //For all subpackages look for package with depth+1 + foreach (PP dependencyPackage in package.Dependencies) { + savedDepths.AddRange(GetTransitiveDepths(osvPackage, dependencyPackage, depth + 1)); + } + return savedDepths; + } + + private int ExtractDependencyDepth(Packages osvPackage, JsonProperty dependency, int depth) { + depth += 1; + //When finding the correct Package return a depth + if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && + dependency.Value.TryGetProperty("name", out JsonElement nameElement) && + versionElement.ValueKind == JsonValueKind.String && + osvPackage.package.name == nameElement.GetString() && + osvPackage.package.version == versionElement.GetString()) { + return depth; + } + //When not finding the correct Package search deeper + dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement); + foreach (JsonProperty sunDependency in subDependenciesElement.EnumerateObject()) { + ExtractDependencyDepth(osvPackage, sunDependency, depth); + } + return -1; + } + + //Make string vector to element of Vector class + private Vector MakeVector(string vectorString) { + Vector vector = new Vector(); + + Match attackVector = Regex.Match(vectorString, @"/AV:+\w{1}/"); + switch (attackVector.Groups[0].Value) { + case "/AV:N/": { + vector.AttackVector = AttackVector.Network; + break; + } + case "/AV:A/": { + vector.AttackVector = AttackVector.Adjacent_Network; + break; + } + case "/AV:L/": { + vector.AttackVector = AttackVector.Local; + break; + } + case "/AV:P/": { + vector.AttackVector = AttackVector.Physial; + break; + } + default: { + vector.AttackVector = AttackVector.Not_Available; + break; + } + } + + Match attackComplexity = Regex.Match(vectorString, @"/AC:+\w{1}/"); + switch (attackComplexity.Groups[0].Value) { + case "/AC:L/": { + vector.AttackComplexity = AttackComplexity.Low; + break; + } + case "/AC:H/": { + vector.AttackComplexity = AttackComplexity.High; + break; + } + default: { + vector.AttackComplexity = AttackComplexity.Not_Available; + break; + } + } + + Match privilegesRequired = Regex.Match(vectorString, @"/PR:+\w{1}/"); + switch (privilegesRequired.Groups[0].Value) { + case "/PR:N/": { + vector.PrivilegesRequired = PrivilegesRequired.None; + break; + } + case "/PR:L/": { + vector.PrivilegesRequired = PrivilegesRequired.Low; + break; + } + case "/PR:H/": { + vector.PrivilegesRequired = PrivilegesRequired.High; + break; + } + default: { + vector.PrivilegesRequired = PrivilegesRequired.Not_Available; + break; + } + } + + Match userInteraction = Regex.Match(vectorString, @"/UI:+\w{1}/"); + switch (userInteraction.Groups[0].Value) { + case "/UI:N/": { + vector.UserInteraction = UserInteraction.None; + break; + } + case "/UI:R/": { + vector.UserInteraction = UserInteraction.Required; + break; + } + default: { + vector.UserInteraction = UserInteraction.Not_Available; + break; + } + } + + Match scope = Regex.Match(vectorString, @"/S:+\w{1}/"); + switch (scope.Groups[0].Value) { + case "/S:U/": { + vector.Scope = Scope.Unchanged; + break; + } + case "/S:C/": { + vector.Scope = Scope.Changed; + break; + } + default: { + vector.Scope = Scope.Not_Available; + break; + } + } + + Match confidentialityImpact = Regex.Match(vectorString, @"/C:+\w{1}/"); + switch (confidentialityImpact.Groups[0].Value) { + case "/C:N/": { + vector.ConfidentialityImpact = BaseScoreMetric.None; + break; + } + case "/C:L/": { + vector.ConfidentialityImpact = BaseScoreMetric.Low; + break; + } + case "/C:H/": { + vector.ConfidentialityImpact = BaseScoreMetric.High; + break; + } + default: { + vector.ConfidentialityImpact = BaseScoreMetric.Not_Available; + break; + } + } + + Match integrityImpact = Regex.Match(vectorString, @"/I:+\w{1}/"); + switch (integrityImpact.Groups[0].Value) { + case "/I:N/": { + vector.IntegrityImpact = BaseScoreMetric.None; + break; + } + case "/I:L/": { + vector.IntegrityImpact = BaseScoreMetric.Low; + break; + } + case "/I:H/": { + vector.IntegrityImpact = BaseScoreMetric.High; + break; + } + default: { + vector.IntegrityImpact = BaseScoreMetric.Not_Available; + break; + } + } + + Match availabilityImpact = Regex.Match(vectorString, @"/A:+\w{1}"); + switch (availabilityImpact.Groups[0].Value) { + case "/A:N": { + vector.AvailabilityImpact = BaseScoreMetric.None; + break; + } + case "/A:L": { + vector.AvailabilityImpact = BaseScoreMetric.Low; + break; + } + case "/A:H": { + vector.AvailabilityImpact = BaseScoreMetric.High; + break; + } + default: { + vector.AvailabilityImpact = BaseScoreMetric.Not_Available; + break; + } + } + return vector; + } + #endregion + } +} diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController - Kopieren.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController - Kopieren.cs index d0f2e43..9bb64b8 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController - Kopieren.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController - Kopieren.cs @@ -1,638 +1,638 @@ -using Microsoft.AspNetCore.Mvc; -using Modells; -using Modells.Packages; -using MySql.Data.MySqlClient; -using Newtonsoft.Json; -using SerilogTimings; -using System.Data; -using System.Diagnostics; -using System.Text.Json; -using F = System.IO.File; -using MP = Modells.Project; - -namespace AmIVulnerable.Controllers { - - [Route("api/oldReport")] - [ApiController] - public class ReportsController_ : ControllerBase { - - #region Config - - private readonly static string CLI = "bash"; - private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; - - private readonly IConfiguration Configuration; - public ReportsController_(IConfiguration configuration) { - Configuration = configuration; - } - - #endregion - - #region Controller - - /// - /// Generate a SimpleReport for a list of Projects - /// - /// - /// - [HttpPost] - [Route("simpleAnalyseNpmList")] - public async Task SimpleAnalyseNpmList([FromBody] List npmList) { - List simpleReport = []; - foreach (MP npm in npmList) { - string dirGuid = await CloneProject(npm); - if (dirGuid.Equals("Err")) { - return BadRequest("Could not clone project!"); - } - foreach (string tag in npm.Tags) { - // checkot HEAD - // CheckoutTagProject(dirGuid); (Not needed due to always cloning newest commit) - // Use DateTime.Now to use all CVE Data - DateTime commitDateTimeC = GetCommitDateTime(dirGuid); - List depTreeCurrent = AnalyseTree(ExtractTree(MakeTree(dirGuid)), commitDateTimeC); - // checkout release tag - CheckoutTagProject(dirGuid, tag); - DateTime commitDateTimeR = GetCommitDateTime(dirGuid); - List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(dirGuid)), commitDateTimeR); - //checkout latest commit again for new tag analysis (if done prematurely you end up in detached HEAD state!) - CheckoutTagProject(dirGuid); - - simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent, npm.ProjectUrl, tag, commitDateTimeR)); - } - DeleteProject(dirGuid); - } - return Ok(simpleReport); - } - - #endregion - - #region Internal function(s) - - /// - /// - /// - /// - private async Task CloneProject(MP npm) { - if (npm.ProjectUrl is null) { - return "Err"; - } - - else { // clone the repo - Guid repoId = Guid.NewGuid(); - string trimmedUrl = npm.ProjectUrl[(npm.ProjectUrl.IndexOf("//") + 2)..(npm.ProjectUrl.Length)]; - trimmedUrl = trimmedUrl[(trimmedUrl.IndexOf('/') + 1)..(trimmedUrl.Length)]; - string owner = trimmedUrl[0..trimmedUrl.IndexOf('/', 1)]; - string designation = trimmedUrl[(owner.Length + 1)..trimmedUrl.Length]; - if (designation.Contains('/')) { - designation = designation[0..trimmedUrl.IndexOf('/', owner.Length + 1)]; - } - - ExecuteMySqlCommand($"" + - $"INSERT INTO cve.repositories (guid, repoUrl, repoOwner, repoDesignation) " + - $"VALUES (" + - $"'{repoId}', " + - $"'{npm.ProjectUrl}', " + - $"'{owner}', " + - $"'{designation}');"); - - await Clone(npm.ProjectUrl, repoId.ToString()); - return repoId.ToString(); - } - } - - /// - /// Clone a git repository. - /// - /// URL of git project to clone. - /// Tag of git project. - /// Directory where to clone project into. - /// - private static async Task Clone(string url, string dir) { - try { - await Task.Run(() => { - if (Directory.Exists(dir)) { - RemoveReadOnlyAttribute(dir); - Directory.Delete(dir, true); - } - Process.Start("git", $"clone {url} {AppDomain.CurrentDomain.BaseDirectory + dir}").WaitForExit(); - }); - } - catch (Exception ex) { - await Console.Out.WriteLineAsync(ex.StackTrace); - } - } - - /// - /// Removes read only access of files. - /// - /// File path to folder where all read only attributes of files need to be removed. - private static void RemoveReadOnlyAttribute(string path) { - DirectoryInfo directoryInfo = new DirectoryInfo(path); - - foreach (FileInfo file in directoryInfo.GetFiles()) { - file.Attributes &= ~FileAttributes.ReadOnly; - } - - foreach (DirectoryInfo subDirectory in directoryInfo.GetDirectories()) { - RemoveReadOnlyAttribute(subDirectory.FullName); - } - } - - private DataTable ExecuteMySqlCommand(string command) { - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - MySqlCommand cmd = new MySqlCommand(command, connection); - DataTable dataTable = new DataTable(); - connection.Open(); - - MySqlDataReader reader = cmd.ExecuteReader(); - dataTable.Load(reader); - connection.Close(); - return dataTable; - } - - /// - /// - /// - /// - private bool CheckoutTagProject(string dir, string tag = "-") { - try { - ProcessStartInfo process = new ProcessStartInfo { - FileName = CLI, - RedirectStandardInput = true, - WorkingDirectory = $"{AppDomain.CurrentDomain.BaseDirectory + dir}", - }; - - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"git " + "stash"); - runProcess.StandardInput.WriteLine($"git " + $"checkout {tag}"); - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); - - return true; - } - catch (Exception ex) { - Console.WriteLine("Error with clone, tag?\n" + ex.Message); - return false; - } - } - - /// - /// - /// - /// - private void DeleteProject(string dir) { - if (Directory.Exists(dir)) { - RemoveReadOnlyAttribute(dir); - Directory.Delete(dir, true); - - //dir is guid (folder named after guid) - ExecuteMySqlCommand($"DELETE FROM cve.repositories WHERE guid LIKE '{dir}';"); - } - } - - #region MakeTree - - /// - /// Make a tree.json file - /// - /// - /// - /// File path - private string MakeTree(string dirGuid) { - ExecuteCommand("npm", "install", dirGuid); - ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); - return dirGuid + "/tree.json"; - } - - #endregion - - #region ExtractTree - - /// - /// Extract internal representation of tree from tree.json - /// - /// - /// - private List ExtractTree(string treeFilePath) { - List packageList = []; - using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeFilePath))) { - if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && - dependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { - Package package = ExtractDependencyInfo(dependency); - - packageList.Add(package); - } - } - } - return packageList; - } - - /// - /// Extracts dependencies of a single dependency. - /// - /// Dependency that is searched for sundependencies and versions. - /// NodePackage with all found dependencies and versions. - private Package ExtractDependencyInfo(JsonProperty dependency) { - Package package = new Package { - Name = dependency.Name - }; - if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && - versionElement.ValueKind == JsonValueKind.String) { - package.Version = versionElement.GetString() ?? ""; - } - if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && - subDependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { - Package subPackage = ExtractDependencyInfo(subDependency); - package.Dependencies.Add(subPackage); - } - } - return package; - } - - #endregion - - #region AnalyseTree - - private record PackageRecord(string designation, string version); - - /// - /// Check Package list agains cve data, differentiate between current cve database and past versions through cveVersion - /// - /// - /// - /// - private List AnalyseTree(List packages, DateTime commitTime) { - List uniquePackageRecords = []; - foreach (Package package in packages) { - List subPackages = ListSubTreePackages(package); - foreach (Package subPackage in subPackages) { - PackageRecord packageRecord = new PackageRecord(subPackage.Name, subPackage.Version); - if(!uniquePackageRecords.Contains(packageRecord)) { - uniquePackageRecords.Add(packageRecord); - } - } - } - List cveResults = []; - foreach (PackageRecord packageRecord in uniquePackageRecords) { - DataTable dataTableResults = SearchInMySql(packageRecord.designation, commitTime); - // dataTableResult to CveResult - foreach (DataRow dataTableResult in dataTableResults.Rows) { - if(!HasPublishDateTimeBeforeCommitDateTime(dataTableResult, commitTime)) { - continue; - } - CveResult cveResult = new CveResult() { - CveNumber = dataTableResult["cve_number"].ToString() ?? "", - Designation = dataTableResult["designation"].ToString() ?? "", - Version = dataTableResult["version_affected"].ToString() ?? "" - }; - - CVEcomp cVEcomp = JsonConvert.DeserializeObject(dataTableResult["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); - try { - if (cVEcomp.containers.cna.metrics.Count != 0) { - cveResult.CvssV31 = cVEcomp.containers.cna.metrics[0].cvssV3_1; - } - if (cVEcomp.containers.cna.descriptions.Count != 0) { - cveResult.Description = cVEcomp.containers.cna.descriptions[0]; - } - } - finally { - cveResults.Add(cveResult); - } - } - } - - if (cveResults.Count == 0) { - return []; - } - - List packageResults = []; - foreach (Package package in packages) { - PackageResult? packageResult = CheckVulnerabilities(package, cveResults); - if(packageResult is not null) { - packageResults.Add(packageResult); - } - } - return packageResults; - } - - /// - /// Searches for all node package dependencies of a single node package. - /// - /// Package to search - /// List of all node package dependencies of a single node package. - private List ListSubTreePackages(Package package) { - List resultList = []; - foreach (Package x in package.Dependencies) { - resultList.AddRange(ListSubTreePackages(x)); - } - resultList.Add(package); - return resultList; - } - - /// - /// - /// - /// - /// - private DataTable SearchInMySql(string designation, DateTime commitTime) { - - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - - //TODO: Compare Version! - MySqlCommand mySqlCommand = new MySqlCommand($"" + - $"SELECT cve_number, designation, version_affected, full_text " + - $"FROM cve.cve " + - $"WHERE designation LIKE '%| {designation} |%';", connection); - - //TODO: is Operation.TIme this still needed? - DataTable dataTable = new DataTable(); - using (Operation.Time($"Query-Time for Package \"{designation}\"")) { - // read the result - connection.Open(); - MySqlDataReader reader = mySqlCommand.ExecuteReader(); - dataTable.Load(reader); - connection.Close(); - } - return dataTable; - } - - private bool HasPublishDateTimeBeforeCommitDateTime(DataRow row, DateTime commitDateTime) { - CVEcomp cVEcomp = JsonConvert.DeserializeObject(row["full_text"].ToString()!) ?? new CVEcomp(); - try { - if(cVEcomp.containers.cna.datePublic < commitDateTime) { - return true; - } - return false; +//using Microsoft.AspNetCore.Mvc; +//using Modells; +//using Modells.Packages; +//using MySql.Data.MySqlClient; +//using Newtonsoft.Json; +//using SerilogTimings; +//using System.Data; +//using System.Diagnostics; +//using System.Text.Json; +//using F = System.IO.File; +//using MP = Modells.Project; + +//namespace AmIVulnerable.Controllers { + +// [Route("api/oldReport")] +// [ApiController] +// public class ReportsController_ : ControllerBase { + +// #region Config + +// private readonly static string CLI = "bash"; +// private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; + +// private readonly IConfiguration Configuration; +// public ReportsController_(IConfiguration configuration) { +// Configuration = configuration; +// } + +// #endregion + +// #region Controller + +// /// +// /// Generate a SimpleReport for a list of Projects +// /// +// /// +// /// +// [HttpPost] +// [Route("simpleAnalyseNpmList")] +// public async Task SimpleAnalyseNpmList([FromBody] List npmList) { +// List simpleReport = []; +// foreach (MP npm in npmList) { +// string dirGuid = await CloneProject(npm); +// if (dirGuid.Equals("Err")) { +// return BadRequest("Could not clone project!"); +// } +// foreach (string tag in npm.Tags) { +// // checkot HEAD +// // CheckoutTagProject(dirGuid); (Not needed due to always cloning newest commit) +// // Use DateTime.Now to use all CVE Data +// DateTime commitDateTimeC = GetCommitDateTime(dirGuid); +// List depTreeCurrent = AnalyseTree(ExtractTree(MakeTree(dirGuid)), commitDateTimeC); +// // checkout release tag +// CheckoutTagProject(dirGuid, tag); +// DateTime commitDateTimeR = GetCommitDateTime(dirGuid); +// List depTreeRelease = AnalyseTree(ExtractTree(MakeTree(dirGuid)), commitDateTimeR); +// //checkout latest commit again for new tag analysis (if done prematurely you end up in detached HEAD state!) +// CheckoutTagProject(dirGuid); + +// simpleReport.Add(GenerateSimpleReportLine(depTreeRelease, depTreeCurrent, npm.ProjectUrl, tag, commitDateTimeR)); +// } +// DeleteProject(dirGuid); +// } +// return Ok(simpleReport); +// } + +// #endregion + +// #region Internal function(s) + +// /// +// /// +// /// +// /// +// private async Task CloneProject(MP npm) { +// if (npm.ProjectUrl is null) { +// return "Err"; +// } + +// else { // clone the repo +// Guid repoId = Guid.NewGuid(); +// string trimmedUrl = npm.ProjectUrl[(npm.ProjectUrl.IndexOf("//") + 2)..(npm.ProjectUrl.Length)]; +// trimmedUrl = trimmedUrl[(trimmedUrl.IndexOf('/') + 1)..(trimmedUrl.Length)]; +// string owner = trimmedUrl[0..trimmedUrl.IndexOf('/', 1)]; +// string designation = trimmedUrl[(owner.Length + 1)..trimmedUrl.Length]; +// if (designation.Contains('/')) { +// designation = designation[0..trimmedUrl.IndexOf('/', owner.Length + 1)]; +// } + +// ExecuteMySqlCommand($"" + +// $"INSERT INTO cve.repositories (guid, repoUrl, repoOwner, repoDesignation) " + +// $"VALUES (" + +// $"'{repoId}', " + +// $"'{npm.ProjectUrl}', " + +// $"'{owner}', " + +// $"'{designation}');"); + +// await Clone(npm.ProjectUrl, repoId.ToString()); +// return repoId.ToString(); +// } +// } + +// /// +// /// Clone a git repository. +// /// +// /// URL of git project to clone. +// /// Tag of git project. +// /// Directory where to clone project into. +// /// +// private static async Task Clone(string url, string dir) { +// try { +// await Task.Run(() => { +// if (Directory.Exists(dir)) { +// RemoveReadOnlyAttribute(dir); +// Directory.Delete(dir, true); +// } +// Process.Start("git", $"clone {url} {AppDomain.CurrentDomain.BaseDirectory + dir}").WaitForExit(); +// }); +// } +// catch (Exception ex) { +// await Console.Out.WriteLineAsync(ex.StackTrace); +// } +// } + +// /// +// /// Removes read only access of files. +// /// +// /// File path to folder where all read only attributes of files need to be removed. +// private static void RemoveReadOnlyAttribute(string path) { +// DirectoryInfo directoryInfo = new DirectoryInfo(path); + +// foreach (FileInfo file in directoryInfo.GetFiles()) { +// file.Attributes &= ~FileAttributes.ReadOnly; +// } + +// foreach (DirectoryInfo subDirectory in directoryInfo.GetDirectories()) { +// RemoveReadOnlyAttribute(subDirectory.FullName); +// } +// } + +// private DataTable ExecuteMySqlCommand(string command) { +// // MySql Connection +// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); +// MySqlCommand cmd = new MySqlCommand(command, connection); +// DataTable dataTable = new DataTable(); +// connection.Open(); + +// MySqlDataReader reader = cmd.ExecuteReader(); +// dataTable.Load(reader); +// connection.Close(); +// return dataTable; +// } + +// /// +// /// +// /// +// /// +// private bool CheckoutTagProject(string dir, string tag = "-") { +// try { +// ProcessStartInfo process = new ProcessStartInfo { +// FileName = CLI, +// RedirectStandardInput = true, +// WorkingDirectory = $"{AppDomain.CurrentDomain.BaseDirectory + dir}", +// }; + +// Process runProcess = Process.Start(process)!; +// runProcess.StandardInput.WriteLine($"git " + "stash"); +// runProcess.StandardInput.WriteLine($"git " + $"checkout {tag}"); +// runProcess.StandardInput.WriteLine($"exit"); +// runProcess.WaitForExit(); + +// return true; +// } +// catch (Exception ex) { +// Console.WriteLine("Error with clone, tag?\n" + ex.Message); +// return false; +// } +// } + +// /// +// /// +// /// +// /// +// private void DeleteProject(string dir) { +// if (Directory.Exists(dir)) { +// RemoveReadOnlyAttribute(dir); +// Directory.Delete(dir, true); + +// //dir is guid (folder named after guid) +// ExecuteMySqlCommand($"DELETE FROM cve.repositories WHERE guid LIKE '{dir}';"); +// } +// } + +// #region MakeTree + +// /// +// /// Make a tree.json file +// /// +// /// +// /// +// /// File path +// private string MakeTree(string dirGuid) { +// ExecuteCommand("npm", "install", dirGuid); +// ExecuteCommand(CLI_RM, "tree.json", dirGuid); +// ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); +// return dirGuid + "/tree.json"; +// } + +// #endregion + +// #region ExtractTree + +// /// +// /// Extract internal representation of tree from tree.json +// /// +// /// +// /// +// private List ExtractTree(string treeFilePath) { +// List packageList = []; +// using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeFilePath))) { +// if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && +// dependenciesElement.ValueKind == JsonValueKind.Object) { +// foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { +// Package package = ExtractDependencyInfo(dependency); + +// packageList.Add(package); +// } +// } +// } +// return packageList; +// } + +// /// +// /// Extracts dependencies of a single dependency. +// /// +// /// Dependency that is searched for sundependencies and versions. +// /// NodePackage with all found dependencies and versions. +// private Package ExtractDependencyInfo(JsonProperty dependency) { +// Package package = new Package { +// Name = dependency.Name +// }; +// if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && +// versionElement.ValueKind == JsonValueKind.String) { +// package.Version = versionElement.GetString() ?? ""; +// } +// if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && +// subDependenciesElement.ValueKind == JsonValueKind.Object) { +// foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { +// Package subPackage = ExtractDependencyInfo(subDependency); +// package.Dependencies.Add(subPackage); +// } +// } +// return package; +// } + +// #endregion + +// #region AnalyseTree + +// private record PackageRecord(string designation, string version); + +// /// +// /// Check Package list agains cve data, differentiate between current cve database and past versions through cveVersion +// /// +// /// +// /// +// /// +// private List AnalyseTree(List packages, DateTime commitTime) { +// List uniquePackageRecords = []; +// foreach (Package package in packages) { +// List subPackages = ListSubTreePackages(package); +// foreach (Package subPackage in subPackages) { +// PackageRecord packageRecord = new PackageRecord(subPackage.Name, subPackage.Version); +// if(!uniquePackageRecords.Contains(packageRecord)) { +// uniquePackageRecords.Add(packageRecord); +// } +// } +// } +// List cveResults = []; +// foreach (PackageRecord packageRecord in uniquePackageRecords) { +// DataTable dataTableResults = SearchInMySql(packageRecord.designation, commitTime); +// // dataTableResult to CveResult +// foreach (DataRow dataTableResult in dataTableResults.Rows) { +// if(!HasPublishDateTimeBeforeCommitDateTime(dataTableResult, commitTime)) { +// continue; +// } +// CveResult cveResult = new CveResult() { +// CveNumber = dataTableResult["cve_number"].ToString() ?? "", +// Designation = dataTableResult["designation"].ToString() ?? "", +// Version = dataTableResult["version_affected"].ToString() ?? "" +// }; + +// CVEcomp cVEcomp = JsonConvert.DeserializeObject(dataTableResult["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); +// try { +// if (cVEcomp.containers.cna.metrics.Count != 0) { +// cveResult.CvssV31 = cVEcomp.containers.cna.metrics[0].cvssV3_1; +// } +// if (cVEcomp.containers.cna.descriptions.Count != 0) { +// cveResult.Description = cVEcomp.containers.cna.descriptions[0]; +// } +// } +// finally { +// cveResults.Add(cveResult); +// } +// } +// } + +// if (cveResults.Count == 0) { +// return []; +// } + +// List packageResults = []; +// foreach (Package package in packages) { +// PackageResult? packageResult = CheckVulnerabilities(package, cveResults); +// if(packageResult is not null) { +// packageResults.Add(packageResult); +// } +// } +// return packageResults; +// } + +// /// +// /// Searches for all node package dependencies of a single node package. +// /// +// /// Package to search +// /// List of all node package dependencies of a single node package. +// private List ListSubTreePackages(Package package) { +// List resultList = []; +// foreach (Package x in package.Dependencies) { +// resultList.AddRange(ListSubTreePackages(x)); +// } +// resultList.Add(package); +// return resultList; +// } + +// /// +// /// +// /// +// /// +// /// +// private DataTable SearchInMySql(string designation, DateTime commitTime) { + +// // MySql Connection +// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + +// //TODO: Compare Version! +// MySqlCommand mySqlCommand = new MySqlCommand($"" + +// $"SELECT cve_number, designation, version_affected, full_text " + +// $"FROM cve.cve " + +// $"WHERE designation LIKE '%| {designation} |%';", connection); + +// //TODO: is Operation.TIme this still needed? +// DataTable dataTable = new DataTable(); +// using (Operation.Time($"Query-Time for Package \"{designation}\"")) { +// // read the result +// connection.Open(); +// MySqlDataReader reader = mySqlCommand.ExecuteReader(); +// dataTable.Load(reader); +// connection.Close(); +// } +// return dataTable; +// } + +// private bool HasPublishDateTimeBeforeCommitDateTime(DataRow row, DateTime commitDateTime) { +// CVEcomp cVEcomp = JsonConvert.DeserializeObject(row["full_text"].ToString()!) ?? new CVEcomp(); +// try { +// if(cVEcomp.containers.cna.datePublic < commitDateTime) { +// return true; +// } +// return false; - } catch { - return false; - } - } - - private DateTime GetCommitDateTime(string guid) { - return GetTagDateTime(guid); - } - - - /// - /// Compares node package dependencies with cve data. - /// - /// Package to search for cve tracked dependencies. - /// List of CveResult data. - /// NodePackageResult with all dependencies and status if it is a cve tracked dependency. - private PackageResult? CheckVulnerabilities(Package package, List cveData) { - PackageResult packageResult = new PackageResult() { - Name = "", - isCveTracked = false - }; - foreach (Package x in package.Dependencies) { - PackageResult? temp = CheckVulnerabilities(x, cveData); - if (temp is not null) { - packageResult.Dependencies.Add(temp); - } - } - foreach (CveResult x in cveData) { // check - if (x.Designation.Equals(package.Name)) { - packageResult.isCveTracked = true; - packageResult.CvssV31 = x.CvssV31; - packageResult.Description = x.Description; - } - } - if (packageResult.isCveTracked == false && !DepCheck(packageResult)) { - return null; - } - packageResult.Name = package.Name; - packageResult.Version = package.Version; - return packageResult; - } - - /// - /// If Package is cve tracked, return true. Check all dependencies recursively. - /// - /// - /// True if any dependency is tracked. False if no dependencies are tracked. - private bool DepCheck(PackageResult package) { - foreach (PackageResult packageResult in package.Dependencies) { - bool isTracked = DepCheck(packageResult); - if (isTracked) { - goto isTrue; - } - } - if (package.isCveTracked) { - return true; - } - else { - return false; - } - isTrue: - return true; - } - - #endregion - - #region GenerateSimpleReportLine - - private SimpleReportLine GenerateSimpleReportLine(List releaseVulnerabilitiesList, List currentVulnerabilitiesList, string projectUrl, string tag, DateTime commitDateTime) { - SimpleReportLine simpleReportLine = new SimpleReportLine(); - // Tag and URL - simpleReportLine.ProjectUrl = projectUrl; - simpleReportLine.Tag = tag; - // Num of Dependencies - simpleReportLine.TotalReleaseDirectDependencies = releaseVulnerabilitiesList.Count; - simpleReportLine.TotalReleaseDirectAndTransitiveDependencies = CountDirectAndTransitiveDependencies(releaseVulnerabilitiesList); - simpleReportLine.TotalCurrentDirectDependencies = currentVulnerabilitiesList.Count; - simpleReportLine.TotalCurrentDirectAndTransitiveDependencies = CountDirectAndTransitiveDependencies(currentVulnerabilitiesList); - // Num of Vulnerabilities - simpleReportLine.TotalReleaseDirectVulnerabilities = CountDirectVulnerabilities(releaseVulnerabilitiesList); - simpleReportLine.TotalReleaseDirectAndTransitiveVulnerabilities = CountDirectAndTransitiveVulnerabilities(releaseVulnerabilitiesList); - simpleReportLine.TotalCurrentDirectVulnerabilities = CountDirectVulnerabilities(currentVulnerabilitiesList); - simpleReportLine.TotalCurrentDirectAndTransitiveVulnerabilities = CountDirectAndTransitiveVulnerabilities(currentVulnerabilitiesList); - // Other Metrics - simpleReportLine.releaseVulnerabilitiesDepth = GetTransitiveVulnerabilitiesDepth(releaseVulnerabilitiesList); - simpleReportLine.releaseHighestDirectScore = GetHighestDirectScore(releaseVulnerabilitiesList); - simpleReportLine.currentHighestDirectScore = GetHighestDirectScore(currentVulnerabilitiesList); - simpleReportLine.releaseHighestDirectSeverity = GetHighestDirectSeverity(releaseVulnerabilitiesList); - simpleReportLine.currentHighestDirectSeverity = GetHighestDirectSeverity(currentVulnerabilitiesList); - simpleReportLine.releaseHighestTransitiveScore = GetHighestTransitiveScore(releaseVulnerabilitiesList); - simpleReportLine.currentHighestTransitiveScore = GetHighestTransitiveScore(currentVulnerabilitiesList); - simpleReportLine.releaseDateTime = commitDateTime; - return simpleReportLine; - } - - /// - /// - /// - /// - /// - /// - private int CountDirectAndTransitiveDependencies(List packageResults, int count = 0) { - foreach (PackageResult packageResult in packageResults) { - if(packageResult.Dependencies.Count > 0) { - count += CountDirectAndTransitiveDependencies(packageResult.Dependencies); - } - count += 1; - } - return count; - } - - /// - /// - /// - /// - /// - private int CountDirectVulnerabilities(List packageResults) { - int count = 0; - foreach (PackageResult packageResult in packageResults) { - if (packageResult.isCveTracked) { - count += 1; - } - } - return count; - } - - /// - /// - /// - /// - /// - /// - private int CountDirectAndTransitiveVulnerabilities(List packageResults, int count = 0) { - foreach (PackageResult packageResult in packageResults) { - if (packageResult.Dependencies.Count > 0) { - count += CountDirectAndTransitiveDependencies(packageResult.Dependencies); - } - if (packageResult.isCveTracked) { - count += 1; - } - } - return count; - } - - /// - /// - /// - /// - /// - /// - private List GetTransitiveVulnerabilitiesDepth(List packageResults, int depth = 0) { - List partitionedDepthList= []; - foreach(PackageResult packageResult in packageResults) { - if (packageResult.isCveTracked) { - partitionedDepthList.Add(depth); - } - if(packageResult.Dependencies is not null) { - partitionedDepthList.AddRange(GetTransitiveVulnerabilitiesDepth(packageResult.Dependencies, depth + 1)); - } - } - return partitionedDepthList; - } - - /// - /// - /// - /// - /// - private double GetHighestDirectScore(List packageResults) { - double highestScore = 0.0; - foreach (PackageResult packageResult in packageResults) { - if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseScore != -1 && packageResult.CvssV31.baseScore > highestScore) { - highestScore = packageResult.CvssV31.baseScore; - } - } - return highestScore; - } - - /// - /// - /// - /// - /// - private string GetHighestDirectSeverity(List packageResults) { - string highestSeverity = ""; - foreach (PackageResult packageResult in packageResults) { - if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseSeverity is not null && packageResult.CvssV31.baseSeverity != "HIGH") { - return packageResult.CvssV31.baseSeverity; - } - if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseSeverity == "MEDIUM" ) { - highestSeverity = "MEDIUM"; - continue; - } - highestSeverity = packageResult.CvssV31.baseSeverity; - } - return highestSeverity; - } - - /// - /// - /// - /// - /// - /// - private double GetHighestTransitiveScore(List packageResults, double highestTransitiveScore = 0.0) { - foreach (PackageResult packageResult in packageResults) { - if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseScore != -1 && packageResult.CvssV31.baseScore > highestTransitiveScore) { - highestTransitiveScore = packageResult.CvssV31.baseScore; - } - if (packageResult.Dependencies is not null) { - highestTransitiveScore = GetHighestTransitiveScore(packageResult.Dependencies, highestTransitiveScore); - } - } - return highestTransitiveScore; - } - - #endregion - - - /// - /// Starts a process that runs a command. - /// - /// Programm used for commands - /// Command used for programm - private void ExecuteCommand(string prog, string command, string dir) { - ProcessStartInfo process = new ProcessStartInfo { - FileName = CLI, - RedirectStandardInput = true, - WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, - }; - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"{prog} {command}"); - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); - } - - /// - /// - /// - /// - /// - private DateTime GetTagDateTime(string dir) { - ProcessStartInfo process = new ProcessStartInfo { - FileName = CLI, - RedirectStandardInput = true, - WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, - RedirectStandardOutput = true, - UseShellExecute = false, - }; - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"git log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\""); - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); - - string stringTagDateTime = runProcess.StandardOutput.ReadToEnd(); - if (CLI.Equals("cmd")) { - int length = "0000-00-00T00:00:00".Length; - int startIndex = stringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; - stringTagDateTime = stringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; - } - - return DateTime.Parse(stringTagDateTime); - } - #endregion - } - -} +// } catch { +// return false; +// } +// } + +// private DateTime GetCommitDateTime(string guid) { +// return GetTagDateTime(guid); +// } + + +// /// +// /// Compares node package dependencies with cve data. +// /// +// /// Package to search for cve tracked dependencies. +// /// List of CveResult data. +// /// NodePackageResult with all dependencies and status if it is a cve tracked dependency. +// private PackageResult? CheckVulnerabilities(Package package, List cveData) { +// PackageResult packageResult = new PackageResult() { +// Name = "", +// isCveTracked = false +// }; +// foreach (Package x in package.Dependencies) { +// PackageResult? temp = CheckVulnerabilities(x, cveData); +// if (temp is not null) { +// packageResult.Dependencies.Add(temp); +// } +// } +// foreach (CveResult x in cveData) { // check +// if (x.Designation.Equals(package.Name)) { +// packageResult.isCveTracked = true; +// packageResult.CvssV31 = x.CvssV31; +// packageResult.Description = x.Description; +// } +// } +// if (packageResult.isCveTracked == false && !DepCheck(packageResult)) { +// return null; +// } +// packageResult.Name = package.Name; +// packageResult.Version = package.Version; +// return packageResult; +// } + +// /// +// /// If Package is cve tracked, return true. Check all dependencies recursively. +// /// +// /// +// /// True if any dependency is tracked. False if no dependencies are tracked. +// private bool DepCheck(PackageResult package) { +// foreach (PackageResult packageResult in package.Dependencies) { +// bool isTracked = DepCheck(packageResult); +// if (isTracked) { +// goto isTrue; +// } +// } +// if (package.isCveTracked) { +// return true; +// } +// else { +// return false; +// } +// isTrue: +// return true; +// } + +// #endregion + +// #region GenerateSimpleReportLine + +// private SimpleReportLine GenerateSimpleReportLine(List releaseVulnerabilitiesList, List currentVulnerabilitiesList, string projectUrl, string tag, DateTime commitDateTime) { +// SimpleReportLine simpleReportLine = new SimpleReportLine(); +// // Tag and URL +// simpleReportLine.ProjectUrl = projectUrl; +// simpleReportLine.Tag = tag; +// // Num of Dependencies +// simpleReportLine.TotalReleaseDirectDependencies = releaseVulnerabilitiesList.Count; +// simpleReportLine.TotalReleaseDirectAndTransitiveDependencies = CountDirectAndTransitiveDependencies(releaseVulnerabilitiesList); +// simpleReportLine.TotalCurrentDirectDependencies = currentVulnerabilitiesList.Count; +// simpleReportLine.TotalCurrentDirectAndTransitiveDependencies = CountDirectAndTransitiveDependencies(currentVulnerabilitiesList); +// // Num of Vulnerabilities +// simpleReportLine.TotalReleaseDirectVulnerabilities = CountDirectVulnerabilities(releaseVulnerabilitiesList); +// simpleReportLine.TotalReleaseDirectAndTransitiveVulnerabilities = CountDirectAndTransitiveVulnerabilities(releaseVulnerabilitiesList); +// simpleReportLine.TotalCurrentDirectVulnerabilities = CountDirectVulnerabilities(currentVulnerabilitiesList); +// simpleReportLine.TotalCurrentDirectAndTransitiveVulnerabilities = CountDirectAndTransitiveVulnerabilities(currentVulnerabilitiesList); +// // Other Metrics +// simpleReportLine.releaseVulnerabilitiesDepth = GetTransitiveVulnerabilitiesDepth(releaseVulnerabilitiesList); +// simpleReportLine.releaseHighestDirectScore = GetHighestDirectScore(releaseVulnerabilitiesList); +// simpleReportLine.currentHighestDirectScore = GetHighestDirectScore(currentVulnerabilitiesList); +// simpleReportLine.releaseHighestDirectSeverity = GetHighestDirectSeverity(releaseVulnerabilitiesList); +// simpleReportLine.currentHighestDirectSeverity = GetHighestDirectSeverity(currentVulnerabilitiesList); +// simpleReportLine.releaseHighestTransitiveScore = GetHighestTransitiveScore(releaseVulnerabilitiesList); +// simpleReportLine.currentHighestTransitiveScore = GetHighestTransitiveScore(currentVulnerabilitiesList); +// simpleReportLine.releaseDateTime = commitDateTime; +// return simpleReportLine; +// } + +// /// +// /// +// /// +// /// +// /// +// /// +// private int CountDirectAndTransitiveDependencies(List packageResults, int count = 0) { +// foreach (PackageResult packageResult in packageResults) { +// if(packageResult.Dependencies.Count > 0) { +// count += CountDirectAndTransitiveDependencies(packageResult.Dependencies); +// } +// count += 1; +// } +// return count; +// } + +// /// +// /// +// /// +// /// +// /// +// private int CountDirectVulnerabilities(List packageResults) { +// int count = 0; +// foreach (PackageResult packageResult in packageResults) { +// if (packageResult.isCveTracked) { +// count += 1; +// } +// } +// return count; +// } + +// /// +// /// +// /// +// /// +// /// +// /// +// private int CountDirectAndTransitiveVulnerabilities(List packageResults, int count = 0) { +// foreach (PackageResult packageResult in packageResults) { +// if (packageResult.Dependencies.Count > 0) { +// count += CountDirectAndTransitiveDependencies(packageResult.Dependencies); +// } +// if (packageResult.isCveTracked) { +// count += 1; +// } +// } +// return count; +// } + +// /// +// /// +// /// +// /// +// /// +// /// +// private List GetTransitiveVulnerabilitiesDepth(List packageResults, int depth = 0) { +// List partitionedDepthList= []; +// foreach(PackageResult packageResult in packageResults) { +// if (packageResult.isCveTracked) { +// partitionedDepthList.Add(depth); +// } +// if(packageResult.Dependencies is not null) { +// partitionedDepthList.AddRange(GetTransitiveVulnerabilitiesDepth(packageResult.Dependencies, depth + 1)); +// } +// } +// return partitionedDepthList; +// } + +// /// +// /// +// /// +// /// +// /// +// private double GetHighestDirectScore(List packageResults) { +// double highestScore = 0.0; +// foreach (PackageResult packageResult in packageResults) { +// if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseScore != -1 && packageResult.CvssV31.baseScore > highestScore) { +// highestScore = packageResult.CvssV31.baseScore; +// } +// } +// return highestScore; +// } + +// /// +// /// +// /// +// /// +// /// +// private string GetHighestDirectSeverity(List packageResults) { +// string highestSeverity = ""; +// foreach (PackageResult packageResult in packageResults) { +// if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseSeverity is not null && packageResult.CvssV31.baseSeverity != "HIGH") { +// return packageResult.CvssV31.baseSeverity; +// } +// if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseSeverity == "MEDIUM" ) { +// highestSeverity = "MEDIUM"; +// continue; +// } +// highestSeverity = packageResult.CvssV31.baseSeverity; +// } +// return highestSeverity; +// } + +// /// +// /// +// /// +// /// +// /// +// /// +// private double GetHighestTransitiveScore(List packageResults, double highestTransitiveScore = 0.0) { +// foreach (PackageResult packageResult in packageResults) { +// if (packageResult.CvssV31 is not null && packageResult.CvssV31.baseScore != -1 && packageResult.CvssV31.baseScore > highestTransitiveScore) { +// highestTransitiveScore = packageResult.CvssV31.baseScore; +// } +// if (packageResult.Dependencies is not null) { +// highestTransitiveScore = GetHighestTransitiveScore(packageResult.Dependencies, highestTransitiveScore); +// } +// } +// return highestTransitiveScore; +// } + +// #endregion + + +// /// +// /// Starts a process that runs a command. +// /// +// /// Programm used for commands +// /// Command used for programm +// private void ExecuteCommand(string prog, string command, string dir) { +// ProcessStartInfo process = new ProcessStartInfo { +// FileName = CLI, +// RedirectStandardInput = true, +// WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, +// }; +// Process runProcess = Process.Start(process)!; +// runProcess.StandardInput.WriteLine($"{prog} {command}"); +// runProcess.StandardInput.WriteLine($"exit"); +// runProcess.WaitForExit(); +// } + +// /// +// /// +// /// +// /// +// /// +// private DateTime GetTagDateTime(string dir) { +// ProcessStartInfo process = new ProcessStartInfo { +// FileName = CLI, +// RedirectStandardInput = true, +// WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, +// RedirectStandardOutput = true, +// UseShellExecute = false, +// }; +// Process runProcess = Process.Start(process)!; +// runProcess.StandardInput.WriteLine($"git log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\""); +// runProcess.StandardInput.WriteLine($"exit"); +// runProcess.WaitForExit(); + +// string stringTagDateTime = runProcess.StandardOutput.ReadToEnd(); +// if (CLI.Equals("cmd")) { +// int length = "0000-00-00T00:00:00".Length; +// int startIndex = stringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; +// stringTagDateTime = stringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; +// } + +// return DateTime.Parse(stringTagDateTime); +// } +// #endregion +// } + +//} diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index 8b55f34..d486944 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -1,699 +1,699 @@ -using Microsoft.AspNetCore.Mvc; -using Modells; -using Modells.DTO; -using Modells.OsvResult; -using MySql.Data.MySqlClient; -using Newtonsoft.Json; -using System.Data; -using System.Diagnostics; -using System.Text.Json; -using System.Text.RegularExpressions; -using F = System.IO.File; -using MP = Modells.Project; -using MPP = Modells.Packages.Package; -using Y = Modells.Yarn; - -namespace AmIVulnerable.Controllers { - - [Route("api/[controller]")] - [ApiController] - public class ReportsController : ControllerBase { - - #region Config - - private readonly static string CLI = "cmd"; - private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; - private DateTime lastDateTime = new DateTime(); - - private readonly IConfiguration Configuration; - public ReportsController(IConfiguration configuration) { - Configuration = configuration; - } - - #endregion - - #region Endpoints - - /// - /// Generate a SimpleReport for a list of Projects - /// - /// - /// - [HttpPost] - [Route("vulnerabilityTimeLineNpm")] - public async Task VulnerabilityTimeLineNpmYarn([FromBody] List projectsDto) { - List projects = new List(); - foreach(ProjectDto projectDto in projectsDto) { - projects.Add(new MP(projectDto.ProjectUrl, projectDto.Tags)); - } - List timeSeries = []; - foreach (MP project in projects) { - - // Clone - project.MakeDependencyTreeAsync(); - // osv-scanner for latest - OsvResult osvResultLatest = new OsvResult(); - osvResultLatest = osvResultLatest.OsvExtractVulnerabilities(project.DirGuid); - // commit DateTime - lastDateTime = GetTagDateTime(project.DirGuid); - // Make tree to find if vulnerability is transitive or not - string treeJsonPathLatest = MakeTree(project.DirGuid); - - timeSeries.Add(MakeTimeSlice(osvResultLatest, treeJsonPathLatest, lastDateTime, project.DirGuid, "release")); - - foreach (string tag in project.Tags) { - CheckoutTagProject(project.DirGuid, tag); - project.MakeDependencyTreeAsync(); - // osv-scanner for latest - string osvJsonCurrent = OsvExtractVulnerabilities(project.DirGuid); - OsvResult osvResultCurrent = JsonConvert.DeserializeObject(osvJsonCurrent) ?? new OsvResult(); - // Make tree to find if vulnerability is transitive or not - string treeJsonPathCurrent = MakeTree(project.DirGuid); - timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, project.DirGuid, tag)); - // commit DateTime - lastDateTime = GetTagDateTime(project.DirGuid); - - timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, project.DirGuid, tag)); - lastDateTime = lastDateTime.AddSeconds(-1); - } - } - return Ok(timeSeries); - } - - [HttpPost] - [Route("vulnerabilityMetrics")] - public async Task VulnerabilityMetrics([FromBody] List projects) { - List projectMetricResults = new List(); - foreach (MP project in projects) { - // Clone - project.MakeDependencyTreeAsync(); - // osv-scanner for latest - string osvJson = OsvExtractVulnerabilities(project.DirGuid); - OsvResult osvResult = JsonConvert.DeserializeObject(osvJson) ?? new OsvResult(); - // commit DateTime - DateTime lastDateTime = GetTagDateTime(project.DirGuid); - // Make tree to find if vulnerability is transitive or not - string treeJsonPath = MakeTree(project.DirGuid); - - List packageList = new List(); - using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeJsonPath))) { - if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement npmDependenciesElement) && - npmDependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty dependency in npmDependenciesElement.EnumerateObject()) { - MPP package = ExtractDependencyInfoNpm(dependency); - - packageList.Add(package); - } - } - } - - projectMetricResults.Add(MakeMetricResult(osvResult, treeJsonPath, lastDateTime, project.DirGuid, project.ProjectUrl, packageList)); - } - return Ok(projectMetricResults); - } - - private void Install(string dirGuid) { - if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/yarn.lock")) { - ExecuteCommand("npx yarn", "", dirGuid); - return; - } - else { - ExecuteCommand(CLI_RM, ".npmrc", dirGuid); - ExecuteCommand("npm", "install", dirGuid); - ExecuteCommand("npm", "i --lockfile-version 3 --package-lock-only", dirGuid); - return; - } - } - - #endregion - - #region Internal function(s) - - private DataTable ExecuteMySqlCommand(string command) { - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - MySqlCommand cmd = new MySqlCommand(command, connection); - DataTable dataTable = new DataTable(); - connection.Open(); - - MySqlDataReader reader = cmd.ExecuteReader(); - dataTable.Load(reader); - connection.Close(); - return dataTable; - } - - /// - /// - /// - /// - private bool CheckoutTagProject(string dir, string tag = "-") { - try { - ProcessStartInfo process = new ProcessStartInfo { - FileName = CLI, - RedirectStandardInput = true, - WorkingDirectory = $"{AppDomain.CurrentDomain.BaseDirectory + dir}", - }; - - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"git " + "stash"); - runProcess.StandardInput.WriteLine($"git " + $"checkout {tag}"); - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); - - return true; - } - catch (Exception ex) { - Console.WriteLine("Error with clone, tag?\n" + ex.Message); - return false; - } - } - - #region MakeTree - - /// - /// Make a tree.json file - /// - /// - /// - /// File path - private string MakeTree(string dirGuid) { - if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/yarn.lock")) { - ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("npx yarn", "list --all --json > tree.json", dirGuid); - } - else if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/package.json")) { - ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("npm", "list --all --json > tree.json", dirGuid); - } - return dirGuid + "/tree.json"; - } - - #endregion - - - /// - /// Starts a process that runs a command. - /// - /// Programm used for commands - /// Command used for programm - private void ExecuteCommand(string prog, string command, string dir) { - ProcessStartInfo process = new ProcessStartInfo { - FileName = CLI, - RedirectStandardInput = true, - WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, - }; - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"{prog} {command}"); - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); - } - - /// - /// - /// - /// - /// - private DateTime GetTagDateTime(string dir) { - ProcessStartInfo process = new ProcessStartInfo { - FileName = CLI, - RedirectStandardInput = true, - WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, - RedirectStandardOutput = true, - UseShellExecute = false, - }; - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"git log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\""); - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); - - string stringTagDateTime = runProcess.StandardOutput.ReadToEnd(); - if (CLI.Equals("cmd")) { - int length = "0000-00-00T00:00:00".Length; - int startIndex = stringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; - stringTagDateTime = stringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; - } - - return DateTime.Parse(stringTagDateTime); - } - #endregion - - #region work functions - /// - /// - /// - /// - /// - private string OsvExtractVulnerabilities(string dir) { - ExecuteCommand("osv-scanner", " --format json . > osv.json", dir); - return F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + dir + "/osv.json"); ; - } - - private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string dir, string tagName = "release") { - TimeSlice timeSlice = new TimeSlice(); - - timeSlice.TagName = tagName; - timeSlice.Timestamp = timestamp; - - // Extract JsonTree - List packageList = new List(); - using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeJsonPath))) { - if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement npmDependenciesElement) && - npmDependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty dependency in npmDependenciesElement.EnumerateObject()) { - MPP package = ExtractDependencyInfoNpm(dependency); - - packageList.Add(package); - } - } - if (jsonDocument.RootElement.TryGetProperty("data", out JsonElement yarnDependenciesElement) && - yarnDependenciesElement.ValueKind == JsonValueKind.Object) { - if (yarnDependenciesElement.TryGetProperty("trees", out JsonElement yarnDependenciesElementC)) { - foreach (JsonElement tree in yarnDependenciesElementC.EnumerateArray()) { - Y.Child? yarnChild = tree.Deserialize(); - if (yarnChild is not null) { - yarnChild = RecursiveVersionExtraction(yarnChild); - packageList.Add(yarnChild); - } - } - } - } - } - timeSlice.CountDirectDependencies = packageList.Count; - - // Count all Vulnerabilities found in osv scan - int vulnerabilityCount = 0; - foreach (Packages osvPackage in osvResult.results[0].packages) { - vulnerabilityCount += osvPackage.vulnerabilities.Count; - } - timeSlice.CountTotalFoundVulnerabilities = vulnerabilityCount; - - if (!F.Exists(AppDomain.CurrentDomain.BaseDirectory + dir + "/yarn.lock")) { - // Make list of all transitive dependencies - List allTransitiveDependencies = new List(); - foreach (MPP package in packageList) { - allTransitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); - } - timeSlice.CountTransitiveDependencies = allTransitiveDependencies.Count; - - timeSlice.CountUniqueTransitiveDependencies = GetUniquePackagesFromList(allTransitiveDependencies).Count; - - // Make list of direct vulnerabilities (Known and ToDate) - List allKnownDirectVulnerabilities = new List(); - List allToDateDirectVulnerabilities = new List(); - foreach (MPP package in packageList) { - foreach (Packages vulnerablePackage in osvResult.results[0].packages) { - if (package.Name == vulnerablePackage.package.name && package.Version == vulnerablePackage.package.version) { - allToDateDirectVulnerabilities.Add(package); - if (timestamp >= OldestPublishedVulnerabilityDateTime(vulnerablePackage.vulnerabilities)) { - allKnownDirectVulnerabilities.Add(package); - } - } - } - } - timeSlice.CountKnownDirectVulnerabilities = allKnownDirectVulnerabilities.Count; - timeSlice.CountToDateDirectVulnerabilities = allToDateDirectVulnerabilities.Count; - - // Use List of all transitive Packages from "CountTransitiveDependencies" - List allKnownTransitiveVulnerabilities = new List(); - List allToDateTransitiveVulnerabilities = new List(); - foreach (Packages vulnerablePackage in osvResult.results[0].packages) { - foreach (MPP package in allTransitiveDependencies) { - if (package.Name == vulnerablePackage.package.name && package.Version == vulnerablePackage.package.version) { - allToDateTransitiveVulnerabilities.Add(package); - if (timestamp >= OldestPublishedVulnerabilityDateTime(vulnerablePackage.vulnerabilities)) { - allKnownTransitiveVulnerabilities.Add(package); - } - } - } - } - timeSlice.CountKnownTransitiveVulnerabilities = allKnownTransitiveVulnerabilities.Count; - timeSlice.CountToDateTransitiveVulnerabilities = allToDateTransitiveVulnerabilities.Count; - - timeSlice.CountKnownUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allKnownTransitiveVulnerabilities).Count; - timeSlice.CountToDateUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allToDateTransitiveVulnerabilities).Count; - } - - if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dir + "/yarn.lock")) { - - List yarnAllTransitiveDependencies = new List(); - foreach (Y.Child yarnPackage in packageList) { - yarnAllTransitiveDependencies.AddRange(YarnTransitiveDependencies(yarnPackage.children)); - } - timeSlice.CountTransitiveDependencies = yarnAllTransitiveDependencies.Count; - timeSlice.CountUniqueTransitiveDependencies = YarnGetUniquePackagesFromList(yarnAllTransitiveDependencies).Count; - - List yarnAllKnownDirectVulnerabilities = new List(); - List yarnToDateDirectVulnerabilities = new List(); - foreach (Y.Child yarnPackage in packageList) { - foreach (Packages osvPackage in osvResult.results[0].packages) { - if (yarnPackage.name == osvPackage.package.name && yarnPackage.version == osvPackage.package.version) { - yarnAllKnownDirectVulnerabilities.Add(yarnPackage); - if (timestamp >= OldestPublishedVulnerabilityDateTime(osvPackage.vulnerabilities)) { - yarnToDateDirectVulnerabilities.Add(yarnPackage); - } - } - } - } - timeSlice.CountKnownDirectVulnerabilities = yarnAllKnownDirectVulnerabilities.Count; - timeSlice.CountToDateDirectVulnerabilities = yarnToDateDirectVulnerabilities.Count; - - List yarnAllKnownTransitiveVulnerabilities = new List(); - List yarnAllToDateTransitiveVulnerabilities = new List(); - foreach (Y.Child yarnTransitiveDependency in yarnAllTransitiveDependencies) { - foreach (Packages osvPackage in osvResult.results[0].packages) { - if (yarnTransitiveDependency.name == osvPackage.package.name && yarnTransitiveDependency.version == osvPackage.package.version) { - yarnAllKnownTransitiveVulnerabilities.Add(yarnTransitiveDependency); - if (timestamp >= OldestPublishedVulnerabilityDateTime(osvPackage.vulnerabilities)) { - yarnAllToDateTransitiveVulnerabilities.Add(yarnTransitiveDependency); - } - } - - } - } - timeSlice.CountKnownTransitiveVulnerabilities = yarnAllKnownTransitiveVulnerabilities.Count; - timeSlice.CountToDateTransitiveVulnerabilities = yarnAllToDateTransitiveVulnerabilities.Count; - - timeSlice.CountKnownUniqueTransitiveVulnerabilities = YarnGetUniquePackagesFromList(yarnAllKnownTransitiveVulnerabilities).Count; - timeSlice.CountToDateUniqueTransitiveVulnerabilities = YarnGetUniquePackagesFromList(yarnAllToDateTransitiveVulnerabilities).Count; - } - - return timeSlice; - } - - private MPP ExtractDependencyInfoNpm(JsonProperty dependency) { - MPP package = new MPP { - Name = dependency.Name - }; - if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && - versionElement.ValueKind == JsonValueKind.String) { - package.Version = versionElement.GetString() ?? ""; - } - if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && - subDependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { - MPP subPackage = ExtractDependencyInfoNpm(subDependency); - package.Dependencies.Add(subPackage); - } - } - return package; - } - - private Y.Child RecursiveVersionExtraction(Y.Child child) { - try { - for (int i = 0; i < child.children.Count; i += 1) { - child.children[i] = RecursiveVersionExtraction(child.children[i]); - } - child.version = child.name[(child.name.LastIndexOf('@') + 1)..child.name.Length]; - if (child.version[0] == '~' || child.version[0] == '^') { - child.version = child.version[1..child.version.Length]; - } - return child; - } - catch { - return child; - } - } - - private List TransitiveDependencies(List packages) { - if (!packages.Any()) { - return []; - } - List transitiveDependencies = new List(); - - foreach (MPP package in packages) { - transitiveDependencies.Add(package); - transitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); - } - return transitiveDependencies; - } - - private List YarnTransitiveDependencies(List yarnTransitiveDependencies) { - if (!yarnTransitiveDependencies.Any()) { - return []; - } - List children = new List(); - - foreach (Y.Child child in yarnTransitiveDependencies) { - children.Add(child); - if (child.children != null) { - children.AddRange(YarnTransitiveDependencies(child.children)); - } - } - return children; - } - - private DateTime OldestPublishedVulnerabilityDateTime(List vulnerabilities) { - DateTime oldestPublishedVulnerabilityDateTime = DateTime.Now; - foreach (Modells.OsvResult.Vulnerability vulnerability in vulnerabilities) { - if (vulnerability.published < oldestPublishedVulnerabilityDateTime) { - oldestPublishedVulnerabilityDateTime = vulnerability.published; - } - } - return oldestPublishedVulnerabilityDateTime; - } - private List GetUniquePackagesFromList(List packages) { - List uniquePackages = new List(); - foreach (MPP package in packages) { - if (!uniquePackages.Exists(pack => pack.Name.Equals(package.Name) && pack.Version.Equals(package.Version))) { - uniquePackages.Add(package); - } - } - return uniquePackages; - } - - private List YarnGetUniquePackagesFromList(List packages) { - List uniquePackages = new List(); - foreach (Y.Child package in packages) { - if (!uniquePackages.Exists(pack => pack.name.Equals(package.name) && pack.version.Equals(package.version))) { - uniquePackages.Add(package); - } - } - return uniquePackages; - } - private ProjectMetricResult MakeMetricResult(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string dir, string url, List packageList) { - ProjectMetricResult projectMetricResult = new ProjectMetricResult(); - projectMetricResult.AnalyseTime = timestamp; - projectMetricResult.ProjectUrl = url; - projectMetricResult.VulnerabilityMetrics = MakeMetrics(osvResult, treeJsonPath, dir, packageList); - return new ProjectMetricResult(); - } - private List MakeMetrics(OsvResult osvResult, string treeJsonPath, string dir, List packageList) { - List vulnerabilityMetrics = new List(); - foreach (Packages osvPackage in osvResult.results[0].packages) { - VulnerabilityMetric vulnerabilityMetric = new VulnerabilityMetric(); - vulnerabilityMetric.PackageName = osvPackage.package.name; - vulnerabilityMetric.PackageVersion = osvPackage.package.version; - MPP vulnerablePackage = packageList.Find(x => x.Name == osvPackage.package.name && x.Version == osvPackage.package.version) ?? new MPP(); - //General Data - foreach (Modells.OsvResult.Vulnerability vulnerability in osvPackage.vulnerabilities) { - foreach (Severity severity in vulnerability.severity) { - vulnerabilityMetric.CvssVersion.Add(severity.type); - vulnerabilityMetric.NistSeverity.Add(MakeNistScore(severity.score)); - vulnerabilityMetric.MetricData.Add(MakeMetricData(severity.score, treeJsonPath, dir, vulnerability, vulnerablePackage, osvResult.results[0].packages)); - } - } - - //Metric Score Caluculation - vulnerabilityMetric.MetricScore = MakeMetricScore(vulnerabilityMetric.MetricData); - - vulnerabilityMetrics.Add(vulnerabilityMetric); - } - return vulnerabilityMetrics; - } - - //Metric Cube Data - private MetricData MakeMetricData(string vector, string treeJsonPath, string dir, Modells.OsvResult.Vulnerability vulnerability, MPP vulnerablePackage, List osvPackages) { - MetricData metricData = new MetricData(); - //metricData.TransitiveDepths = - metricData.Vector = MakeVector(vector); - //metricData.UsageCount = - List ownDependencies = TransitiveDependencies([vulnerablePackage]); - metricData.OwnDependenciesCount = ownDependencies.Count(); - - List ownUniqueVulnerabilities = new List(); - foreach (Packages osvPackage in osvPackages) { - foreach(MPP package in ownDependencies) { - if(package.Name == osvPackage.package.name && package.Version == osvPackage.package.version && !ownUniqueVulnerabilities.Contains(package)) { - ownUniqueVulnerabilities.Add(package); - } - } - } - metricData.OwnUniqueVulnerabilitiesCount = ownUniqueVulnerabilities.Count(); - metricData.PublishedSince = vulnerability.published; - return metricData; - } - - //Calculate Metric Score based on list of metricData for each Vulnerable Package and its vulnerabilities (not every Vulnerability of package) - //this is done becuase using a different package will technically result in ALL vulnerabilities of the current package being resolved - private double MakeMetricScore(List metricData) { - return 0.0; - } - - //Nist Score using CVSS Version 3.1 Formula - private double MakeNistScore(string vector) { - //Do Nist Equations for CVSS_V3.1 (https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator) - return 0.0; - } - - //Make string vector to element of Vector class - private Vector MakeVector(string vectorString) { - Vector vector = new Vector(); - - Match attackVector = Regex.Match(vectorString, @"/AV:+\w{1}/"); - switch (attackVector.Groups[0].Value) { - case "/AV:N/": { - vector.AttackVector = AttackVector.Network; - break; - } - case "/AV:A/": { - vector.AttackVector = AttackVector.Adjacent_Network; - break; - } - case "/AV:L/": { - vector.AttackVector = AttackVector.Local; - break; - } - case "/AV:P/": { - vector.AttackVector = AttackVector.Physial; - break; - } - default: { - vector.AttackVector = AttackVector.Not_Available; - break; - } - } - - Match attackComplexity = Regex.Match(vectorString, @"/AC:+\w{1}/"); - switch (attackComplexity.Groups[0].Value) { - case "/AC:L/": { - vector.AttackComplexity = AttackComplexity.Low; - break; - } - case "/AC:H/": { - vector.AttackComplexity = AttackComplexity.High; - break; - } - default: { - vector.AttackComplexity = AttackComplexity.Not_Available; - break; - } - } - - Match privilegesRequired = Regex.Match(vectorString, @"/PR:+\w{1}/"); - switch (privilegesRequired.Groups[0].Value) { - case "/PR:N/": { - vector.PrivilegesRequired = PrivilegesRequired.None; - break; - } - case "/PR:L/": { - vector.PrivilegesRequired = PrivilegesRequired.Low; - break; - } - case "/PR:H/": { - vector.PrivilegesRequired = PrivilegesRequired.High; - break; - } - default: { - vector.PrivilegesRequired = PrivilegesRequired.Not_Available; - break; - } - } - - Match userInteraction = Regex.Match(vectorString, @"/UI:+\w{1}/"); - switch (userInteraction.Groups[0].Value) { - case "/UI:N/": { - vector.UserInteraction = UserInteraction.None; - break; - } - case "/UI:R/": { - vector.UserInteraction = UserInteraction.Required; - break; - } - default: { - vector.UserInteraction = UserInteraction.Not_Available; - break; - } - } - - Match scope = Regex.Match(vectorString, @"/S:+\w{1}/"); - switch (scope.Groups[0].Value) { - case "/S:U/": { - vector.Scope = Scope.Unchanged; - break; - } - case "/S:C/": { - vector.Scope = Scope.Changed; - break; - } - default: { - vector.Scope = Scope.Not_Available; - break; - } - } - - Match confidentialityImpact = Regex.Match(vectorString, @"/C:+\w{1}/"); - switch (confidentialityImpact.Groups[0].Value) { - case "/C:N/": { - vector.ConfidentialityImpact = BaseScoreMetric.None; - break; - } - case "/C:L/": { - vector.ConfidentialityImpact = BaseScoreMetric.Low; - break; - } - case "/C:H/": { - vector.ConfidentialityImpact = BaseScoreMetric.High; - break; - } - default: { - vector.ConfidentialityImpact = BaseScoreMetric.Not_Available; - break; - } - } - - Match integrityImpact = Regex.Match(vectorString, @"/I:+\w{1}/"); - switch (integrityImpact.Groups[0].Value) { - case "/I:N/": { - vector.IntegrityImpact = BaseScoreMetric.None; - break; - } - case "/I:L/": { - vector.IntegrityImpact = BaseScoreMetric.Low; - break; - } - case "/I:H/": { - vector.IntegrityImpact = BaseScoreMetric.High; - break; - } - default: { - vector.IntegrityImpact = BaseScoreMetric.Not_Available; - break; - } - } - - Match availabilityImpact = Regex.Match(vectorString, @"/A:+\w{1}/"); - switch (availabilityImpact.Groups[0].Value) { - case "/A:N/": { - vector.AvailabilityImpact = BaseScoreMetric.None; - break; - } - case "/A:L/": { - vector.AvailabilityImpact = BaseScoreMetric.Low; - break; - } - case "/A:H/": { - vector.AvailabilityImpact = BaseScoreMetric.High; - break; - } - default: { - vector.AvailabilityImpact = BaseScoreMetric.Not_Available; - break; - } - } - return vector; - } - - #endregion - } - -} +//using Microsoft.AspNetCore.Mvc; +//using Modells; +//using Modells.DTO; +//using Modells.OsvResult; +//using MySql.Data.MySqlClient; +//using Newtonsoft.Json; +//using System.Data; +//using System.Diagnostics; +//using System.Text.Json; +//using System.Text.RegularExpressions; +//using F = System.IO.File; +//using MP = Modells.Project; +//using MPP = Modells.Packages.Package; +//using Y = Modells.Yarn; + +//namespace AmIVulnerable.Controllers { + +// [Route("api/[controller]")] +// [ApiController] +// public class ReportsController : ControllerBase { + +// #region Config + +// private readonly static string CLI = "cmd"; +// private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; +// private DateTime lastDateTime = new DateTime(); + +// private readonly IConfiguration Configuration; +// public ReportsController(IConfiguration configuration) { +// Configuration = configuration; +// } + +// #endregion + +// #region Endpoints + +// /// +// /// Generate a SimpleReport for a list of Projects +// /// +// /// +// /// +// [HttpPost] +// [Route("vulnerabilityTimeLineNpm")] +// public async Task VulnerabilityTimeLineNpmYarn([FromBody] List projectsDto) { +// List projects = new List(); +// foreach (ProjectDto projectDto in projectsDto) { +// projects.Add(new MP(projectDto.ProjectUrl, projectDto.Tags)); +// } +// List timeSeries = []; +// foreach (MP project in projects) { + +// // Clone +// project.MakeDependencyTreeAsync(); +// // osv-scanner for latest +// OsvResult osvResultLatest = new OsvResult(); +// osvResultLatest = osvResultLatest.OsvExtractVulnerabilities(project.DirGuid); +// // commit DateTime +// lastDateTime = GetTagDateTime(project.DirGuid); +// // Make tree to find if vulnerability is transitive or not +// string treeJsonPathLatest = MakeTree(project.DirGuid); + +// timeSeries.Add(MakeTimeSlice(osvResultLatest, treeJsonPathLatest, lastDateTime, project.DirGuid, "release")); + +// foreach (string tag in project.Tags) { +// CheckoutTagProject(project.DirGuid, tag); +// project.MakeDependencyTreeAsync(); +// // osv-scanner for latest +// string osvJsonCurrent = OsvExtractVulnerabilities(project.DirGuid); +// OsvResult osvResultCurrent = JsonConvert.DeserializeObject(osvJsonCurrent) ?? new OsvResult(); +// // Make tree to find if vulnerability is transitive or not +// string treeJsonPathCurrent = MakeTree(project.DirGuid); +// timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, project.DirGuid, tag)); +// // commit DateTime +// lastDateTime = GetTagDateTime(project.DirGuid); + +// timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, project.DirGuid, tag)); +// lastDateTime = lastDateTime.AddSeconds(-1); +// } +// } +// return Ok(timeSeries); +// } + +// [HttpPost] +// [Route("vulnerabilityMetrics")] +// public async Task VulnerabilityMetrics([FromBody] List projects) { +// List projectMetricResults = new List(); +// foreach (MP project in projects) { +// // Clone +// project.MakeDependencyTreeAsync(); +// // osv-scanner for latest +// string osvJson = OsvExtractVulnerabilities(project.DirGuid); +// OsvResult osvResult = JsonConvert.DeserializeObject(osvJson) ?? new OsvResult(); +// // commit DateTime +// DateTime lastDateTime = GetTagDateTime(project.DirGuid); +// // Make tree to find if vulnerability is transitive or not +// string treeJsonPath = MakeTree(project.DirGuid); + +// List packageList = new List(); +// using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeJsonPath))) { +// if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement npmDependenciesElement) && +// npmDependenciesElement.ValueKind == JsonValueKind.Object) { +// foreach (JsonProperty dependency in npmDependenciesElement.EnumerateObject()) { +// MPP package = ExtractDependencyInfoNpm(dependency); + +// packageList.Add(package); +// } +// } +// } + +// projectMetricResults.Add(MakeMetricResult(osvResult, treeJsonPath, lastDateTime, project.DirGuid, project.ProjectUrl, packageList)); +// } +// return Ok(projectMetricResults); +// } + +// private void Install(string dirGuid) { +// if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/yarn.lock")) { +// ExecuteCommand("npx yarn", "", dirGuid); +// return; +// } +// else { +// ExecuteCommand(CLI_RM, ".npmrc", dirGuid); +// ExecuteCommand("npm", "install", dirGuid); +// ExecuteCommand("npm", "i --lockfile-version 3 --package-lock-only", dirGuid); +// return; +// } +// } + +// #endregion + +// #region Internal function(s) + +// private DataTable ExecuteMySqlCommand(string command) { +// // MySql Connection +// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); +// MySqlCommand cmd = new MySqlCommand(command, connection); +// DataTable dataTable = new DataTable(); +// connection.Open(); + +// MySqlDataReader reader = cmd.ExecuteReader(); +// dataTable.Load(reader); +// connection.Close(); +// return dataTable; +// } + +// /// +// /// +// /// +// /// +// private bool CheckoutTagProject(string dir, string tag = "-") { +// try { +// ProcessStartInfo process = new ProcessStartInfo { +// FileName = CLI, +// RedirectStandardInput = true, +// WorkingDirectory = $"{AppDomain.CurrentDomain.BaseDirectory + dir}", +// }; + +// Process runProcess = Process.Start(process)!; +// runProcess.StandardInput.WriteLine($"git " + "stash"); +// runProcess.StandardInput.WriteLine($"git " + $"checkout {tag}"); +// runProcess.StandardInput.WriteLine($"exit"); +// runProcess.WaitForExit(); + +// return true; +// } +// catch (Exception ex) { +// Console.WriteLine("Error with clone, tag?\n" + ex.Message); +// return false; +// } +// } + +// #region MakeTree + +// /// +// /// Make a tree.json file +// /// +// /// +// /// +// /// File path +// private string MakeTree(string dirGuid) { +// if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/yarn.lock")) { +// ExecuteCommand(CLI_RM, "tree.json", dirGuid); +// ExecuteCommand("npx yarn", "list --all --json > tree.json", dirGuid); +// } +// else if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/package.json")) { +// ExecuteCommand(CLI_RM, "tree.json", dirGuid); +// ExecuteCommand("npm", "list --all --json > tree.json", dirGuid); +// } +// return dirGuid + "/tree.json"; +// } + +// #endregion + + +// /// +// /// Starts a process that runs a command. +// /// +// /// Programm used for commands +// /// Command used for programm +// private void ExecuteCommand(string prog, string command, string dir) { +// ProcessStartInfo process = new ProcessStartInfo { +// FileName = CLI, +// RedirectStandardInput = true, +// WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, +// }; +// Process runProcess = Process.Start(process)!; +// runProcess.StandardInput.WriteLine($"{prog} {command}"); +// runProcess.StandardInput.WriteLine($"exit"); +// runProcess.WaitForExit(); +// } + +// /// +// /// +// /// +// /// +// /// +// private DateTime GetTagDateTime(string dir) { +// ProcessStartInfo process = new ProcessStartInfo { +// FileName = CLI, +// RedirectStandardInput = true, +// WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, +// RedirectStandardOutput = true, +// UseShellExecute = false, +// }; +// Process runProcess = Process.Start(process)!; +// runProcess.StandardInput.WriteLine($"git log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\""); +// runProcess.StandardInput.WriteLine($"exit"); +// runProcess.WaitForExit(); + +// string stringTagDateTime = runProcess.StandardOutput.ReadToEnd(); +// if (CLI.Equals("cmd")) { +// int length = "0000-00-00T00:00:00".Length; +// int startIndex = stringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; +// stringTagDateTime = stringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; +// } + +// return DateTime.Parse(stringTagDateTime); +// } +// #endregion + +// #region work functions +// /// +// /// +// /// +// /// +// /// +// private string OsvExtractVulnerabilities(string dir) { +// ExecuteCommand("osv-scanner", " --format json . > osv.json", dir); +// return F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + dir + "/osv.json"); ; +// } + +// private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string dir, string tagName = "release") { +// TimeSlice timeSlice = new TimeSlice(); + +// timeSlice.TagName = tagName; +// timeSlice.Timestamp = timestamp; + +// // Extract JsonTree +// List packageList = new List(); +// using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeJsonPath))) { +// if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement npmDependenciesElement) && +// npmDependenciesElement.ValueKind == JsonValueKind.Object) { +// foreach (JsonProperty dependency in npmDependenciesElement.EnumerateObject()) { +// MPP package = ExtractDependencyInfoNpm(dependency); + +// packageList.Add(package); +// } +// } +// if (jsonDocument.RootElement.TryGetProperty("data", out JsonElement yarnDependenciesElement) && +// yarnDependenciesElement.ValueKind == JsonValueKind.Object) { +// if (yarnDependenciesElement.TryGetProperty("trees", out JsonElement yarnDependenciesElementC)) { +// foreach (JsonElement tree in yarnDependenciesElementC.EnumerateArray()) { +// Y.Child? yarnChild = tree.Deserialize(); +// if (yarnChild is not null) { +// yarnChild = RecursiveVersionExtraction(yarnChild); +// packageList.Add(yarnChild); +// } +// } +// } +// } +// } +// timeSlice.CountDirectDependencies = packageList.Count; + +// // Count all Vulnerabilities found in osv scan +// int vulnerabilityCount = 0; +// foreach (Packages osvPackage in osvResult.results[0].packages) { +// vulnerabilityCount += osvPackage.vulnerabilities.Count; +// } +// timeSlice.CountTotalFoundVulnerabilities = vulnerabilityCount; + +// if (!F.Exists(AppDomain.CurrentDomain.BaseDirectory + dir + "/yarn.lock")) { +// // Make list of all transitive dependencies +// List allTransitiveDependencies = new List(); +// foreach (MPP package in packageList) { +// allTransitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); +// } +// timeSlice.CountTransitiveDependencies = allTransitiveDependencies.Count; + +// timeSlice.CountUniqueTransitiveDependencies = GetUniquePackagesFromList(allTransitiveDependencies).Count; + +// // Make list of direct vulnerabilities (Known and ToDate) +// List allKnownDirectVulnerabilities = new List(); +// List allToDateDirectVulnerabilities = new List(); +// foreach (MPP package in packageList) { +// foreach (Packages vulnerablePackage in osvResult.results[0].packages) { +// if (package.Name == vulnerablePackage.package.name && package.Version == vulnerablePackage.package.version) { +// allToDateDirectVulnerabilities.Add(package); +// if (timestamp >= OldestPublishedVulnerabilityDateTime(vulnerablePackage.vulnerabilities)) { +// allKnownDirectVulnerabilities.Add(package); +// } +// } +// } +// } +// timeSlice.CountKnownDirectVulnerabilities = allKnownDirectVulnerabilities.Count; +// timeSlice.CountToDateDirectVulnerabilities = allToDateDirectVulnerabilities.Count; + +// // Use List of all transitive Packages from "CountTransitiveDependencies" +// List allKnownTransitiveVulnerabilities = new List(); +// List allToDateTransitiveVulnerabilities = new List(); +// foreach (Packages vulnerablePackage in osvResult.results[0].packages) { +// foreach (MPP package in allTransitiveDependencies) { +// if (package.Name == vulnerablePackage.package.name && package.Version == vulnerablePackage.package.version) { +// allToDateTransitiveVulnerabilities.Add(package); +// if (timestamp >= OldestPublishedVulnerabilityDateTime(vulnerablePackage.vulnerabilities)) { +// allKnownTransitiveVulnerabilities.Add(package); +// } +// } +// } +// } +// timeSlice.CountKnownTransitiveVulnerabilities = allKnownTransitiveVulnerabilities.Count; +// timeSlice.CountToDateTransitiveVulnerabilities = allToDateTransitiveVulnerabilities.Count; + +// timeSlice.CountKnownUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allKnownTransitiveVulnerabilities).Count; +// timeSlice.CountToDateUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allToDateTransitiveVulnerabilities).Count; +// } + +// if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dir + "/yarn.lock")) { + +// List yarnAllTransitiveDependencies = new List(); +// foreach (Y.Child yarnPackage in packageList) { +// yarnAllTransitiveDependencies.AddRange(YarnTransitiveDependencies(yarnPackage.children)); +// } +// timeSlice.CountTransitiveDependencies = yarnAllTransitiveDependencies.Count; +// timeSlice.CountUniqueTransitiveDependencies = YarnGetUniquePackagesFromList(yarnAllTransitiveDependencies).Count; + +// List yarnAllKnownDirectVulnerabilities = new List(); +// List yarnToDateDirectVulnerabilities = new List(); +// foreach (Y.Child yarnPackage in packageList) { +// foreach (Packages osvPackage in osvResult.results[0].packages) { +// if (yarnPackage.name == osvPackage.package.name && yarnPackage.version == osvPackage.package.version) { +// yarnAllKnownDirectVulnerabilities.Add(yarnPackage); +// if (timestamp >= OldestPublishedVulnerabilityDateTime(osvPackage.vulnerabilities)) { +// yarnToDateDirectVulnerabilities.Add(yarnPackage); +// } +// } +// } +// } +// timeSlice.CountKnownDirectVulnerabilities = yarnAllKnownDirectVulnerabilities.Count; +// timeSlice.CountToDateDirectVulnerabilities = yarnToDateDirectVulnerabilities.Count; + +// List yarnAllKnownTransitiveVulnerabilities = new List(); +// List yarnAllToDateTransitiveVulnerabilities = new List(); +// foreach (Y.Child yarnTransitiveDependency in yarnAllTransitiveDependencies) { +// foreach (Packages osvPackage in osvResult.results[0].packages) { +// if (yarnTransitiveDependency.name == osvPackage.package.name && yarnTransitiveDependency.version == osvPackage.package.version) { +// yarnAllKnownTransitiveVulnerabilities.Add(yarnTransitiveDependency); +// if (timestamp >= OldestPublishedVulnerabilityDateTime(osvPackage.vulnerabilities)) { +// yarnAllToDateTransitiveVulnerabilities.Add(yarnTransitiveDependency); +// } +// } + +// } +// } +// timeSlice.CountKnownTransitiveVulnerabilities = yarnAllKnownTransitiveVulnerabilities.Count; +// timeSlice.CountToDateTransitiveVulnerabilities = yarnAllToDateTransitiveVulnerabilities.Count; + +// timeSlice.CountKnownUniqueTransitiveVulnerabilities = YarnGetUniquePackagesFromList(yarnAllKnownTransitiveVulnerabilities).Count; +// timeSlice.CountToDateUniqueTransitiveVulnerabilities = YarnGetUniquePackagesFromList(yarnAllToDateTransitiveVulnerabilities).Count; +// } + +// return timeSlice; +// } + +// private MPP ExtractDependencyInfoNpm(JsonProperty dependency) { +// MPP package = new MPP { +// Name = dependency.Name +// }; +// if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && +// versionElement.ValueKind == JsonValueKind.String) { +// package.Version = versionElement.GetString() ?? ""; +// } +// if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && +// subDependenciesElement.ValueKind == JsonValueKind.Object) { +// foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { +// MPP subPackage = ExtractDependencyInfoNpm(subDependency); +// package.Dependencies.Add(subPackage); +// } +// } +// return package; +// } + +// private Y.Child RecursiveVersionExtraction(Y.Child child) { +// try { +// for (int i = 0; i < child.children.Count; i += 1) { +// child.children[i] = RecursiveVersionExtraction(child.children[i]); +// } +// child.version = child.name[(child.name.LastIndexOf('@') + 1)..child.name.Length]; +// if (child.version[0] == '~' || child.version[0] == '^') { +// child.version = child.version[1..child.version.Length]; +// } +// return child; +// } +// catch { +// return child; +// } +// } + +// private List TransitiveDependencies(List packages) { +// if (!packages.Any()) { +// return []; +// } +// List transitiveDependencies = new List(); + +// foreach (MPP package in packages) { +// transitiveDependencies.Add(package); +// transitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); +// } +// return transitiveDependencies; +// } + +// private List YarnTransitiveDependencies(List yarnTransitiveDependencies) { +// if (!yarnTransitiveDependencies.Any()) { +// return []; +// } +// List children = new List(); + +// foreach (Y.Child child in yarnTransitiveDependencies) { +// children.Add(child); +// if (child.children != null) { +// children.AddRange(YarnTransitiveDependencies(child.children)); +// } +// } +// return children; +// } + +// private DateTime OldestPublishedVulnerabilityDateTime(List vulnerabilities) { +// DateTime oldestPublishedVulnerabilityDateTime = DateTime.Now; +// foreach (Modells.OsvResult.Vulnerability vulnerability in vulnerabilities) { +// if (vulnerability.published < oldestPublishedVulnerabilityDateTime) { +// oldestPublishedVulnerabilityDateTime = vulnerability.published; +// } +// } +// return oldestPublishedVulnerabilityDateTime; +// } +// private List GetUniquePackagesFromList(List packages) { +// List uniquePackages = new List(); +// foreach (MPP package in packages) { +// if (!uniquePackages.Exists(pack => pack.Name.Equals(package.Name) && pack.Version.Equals(package.Version))) { +// uniquePackages.Add(package); +// } +// } +// return uniquePackages; +// } + +// private List YarnGetUniquePackagesFromList(List packages) { +// List uniquePackages = new List(); +// foreach (Y.Child package in packages) { +// if (!uniquePackages.Exists(pack => pack.name.Equals(package.name) && pack.version.Equals(package.version))) { +// uniquePackages.Add(package); +// } +// } +// return uniquePackages; +// } +// private ProjectMetricResult MakeMetricResult(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string dir, string url, List packageList) { +// ProjectMetricResult projectMetricResult = new ProjectMetricResult(); +// projectMetricResult.AnalyseTime = timestamp; +// projectMetricResult.ProjectUrl = url; +// projectMetricResult.VulnerabilityMetrics = MakeMetrics(osvResult, treeJsonPath, dir, packageList); +// return new ProjectMetricResult(); +// } +// private List MakeMetrics(OsvResult osvResult, string treeJsonPath, string dir, List packageList) { +// List vulnerabilityMetrics = new List(); +// foreach (Packages osvPackage in osvResult.results[0].packages) { +// VulnerabilityMetric vulnerabilityMetric = new VulnerabilityMetric(); +// vulnerabilityMetric.PackageName = osvPackage.package.name; +// vulnerabilityMetric.PackageVersion = osvPackage.package.version; +// MPP vulnerablePackage = packageList.Find(x => x.Name == osvPackage.package.name && x.Version == osvPackage.package.version) ?? new MPP(); +// //General Data +// foreach (Modells.OsvResult.Vulnerability vulnerability in osvPackage.vulnerabilities) { +// foreach (Severity severity in vulnerability.severity) { +// vulnerabilityMetric.CvssVersion.Add(severity.type); +// vulnerabilityMetric.NistSeverity.Add(MakeNistScore(severity.score)); +// vulnerabilityMetric.MetricData.Add(MakeMetricData(severity.score, treeJsonPath, dir, vulnerability, vulnerablePackage, osvResult.results[0].packages)); +// } +// } + +// //Metric Score Caluculation +// vulnerabilityMetric.MetricScore = MakeMetricScore(vulnerabilityMetric.MetricData); + +// vulnerabilityMetrics.Add(vulnerabilityMetric); +// } +// return vulnerabilityMetrics; +// } + +// //Metric Cube Data +// private MetricData MakeMetricData(string vector, string treeJsonPath, string dir, Modells.OsvResult.Vulnerability vulnerability, MPP vulnerablePackage, List osvPackages) { +// MetricData metricData = new MetricData(); +// //metricData.TransitiveDepths = +// metricData.Vector = MakeVector(vector); +// //metricData.UsageCount = +// List ownDependencies = TransitiveDependencies([vulnerablePackage]); +// metricData.OwnDependenciesCount = ownDependencies.Count(); + +// List ownUniqueVulnerabilities = new List(); +// foreach (Packages osvPackage in osvPackages) { +// foreach (MPP package in ownDependencies) { +// if (package.Name == osvPackage.package.name && package.Version == osvPackage.package.version && !ownUniqueVulnerabilities.Contains(package)) { +// ownUniqueVulnerabilities.Add(package); +// } +// } +// } +// metricData.OwnUniqueVulnerabilitiesCount = ownUniqueVulnerabilities.Count(); +// metricData.PublishedSince = vulnerability.published; +// return metricData; +// } + +// //Calculate Metric Score based on list of metricData for each Vulnerable Package and its vulnerabilities (not every Vulnerability of package) +// //this is done becuase using a different package will technically result in ALL vulnerabilities of the current package being resolved +// private double MakeMetricScore(List metricData) { +// return 0.0; +// } + +// //Nist Score using CVSS Version 3.1 Formula +// private double MakeNistScore(string vector) { +// //Do Nist Equations for CVSS_V3.1 (https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator) +// return 0.0; +// } + +// //Make string vector to element of Vector class +// private Vector MakeVector(string vectorString) { +// Vector vector = new Vector(); + +// Match attackVector = Regex.Match(vectorString, @"/AV:+\w{1}/"); +// switch (attackVector.Groups[0].Value) { +// case "/AV:N/": { +// vector.AttackVector = AttackVector.Network; +// break; +// } +// case "/AV:A/": { +// vector.AttackVector = AttackVector.Adjacent_Network; +// break; +// } +// case "/AV:L/": { +// vector.AttackVector = AttackVector.Local; +// break; +// } +// case "/AV:P/": { +// vector.AttackVector = AttackVector.Physial; +// break; +// } +// default: { +// vector.AttackVector = AttackVector.Not_Available; +// break; +// } +// } + +// Match attackComplexity = Regex.Match(vectorString, @"/AC:+\w{1}/"); +// switch (attackComplexity.Groups[0].Value) { +// case "/AC:L/": { +// vector.AttackComplexity = AttackComplexity.Low; +// break; +// } +// case "/AC:H/": { +// vector.AttackComplexity = AttackComplexity.High; +// break; +// } +// default: { +// vector.AttackComplexity = AttackComplexity.Not_Available; +// break; +// } +// } + +// Match privilegesRequired = Regex.Match(vectorString, @"/PR:+\w{1}/"); +// switch (privilegesRequired.Groups[0].Value) { +// case "/PR:N/": { +// vector.PrivilegesRequired = PrivilegesRequired.None; +// break; +// } +// case "/PR:L/": { +// vector.PrivilegesRequired = PrivilegesRequired.Low; +// break; +// } +// case "/PR:H/": { +// vector.PrivilegesRequired = PrivilegesRequired.High; +// break; +// } +// default: { +// vector.PrivilegesRequired = PrivilegesRequired.Not_Available; +// break; +// } +// } + +// Match userInteraction = Regex.Match(vectorString, @"/UI:+\w{1}/"); +// switch (userInteraction.Groups[0].Value) { +// case "/UI:N/": { +// vector.UserInteraction = UserInteraction.None; +// break; +// } +// case "/UI:R/": { +// vector.UserInteraction = UserInteraction.Required; +// break; +// } +// default: { +// vector.UserInteraction = UserInteraction.Not_Available; +// break; +// } +// } + +// Match scope = Regex.Match(vectorString, @"/S:+\w{1}/"); +// switch (scope.Groups[0].Value) { +// case "/S:U/": { +// vector.Scope = Scope.Unchanged; +// break; +// } +// case "/S:C/": { +// vector.Scope = Scope.Changed; +// break; +// } +// default: { +// vector.Scope = Scope.Not_Available; +// break; +// } +// } + +// Match confidentialityImpact = Regex.Match(vectorString, @"/C:+\w{1}/"); +// switch (confidentialityImpact.Groups[0].Value) { +// case "/C:N/": { +// vector.ConfidentialityImpact = BaseScoreMetric.None; +// break; +// } +// case "/C:L/": { +// vector.ConfidentialityImpact = BaseScoreMetric.Low; +// break; +// } +// case "/C:H/": { +// vector.ConfidentialityImpact = BaseScoreMetric.High; +// break; +// } +// default: { +// vector.ConfidentialityImpact = BaseScoreMetric.Not_Available; +// break; +// } +// } + +// Match integrityImpact = Regex.Match(vectorString, @"/I:+\w{1}/"); +// switch (integrityImpact.Groups[0].Value) { +// case "/I:N/": { +// vector.IntegrityImpact = BaseScoreMetric.None; +// break; +// } +// case "/I:L/": { +// vector.IntegrityImpact = BaseScoreMetric.Low; +// break; +// } +// case "/I:H/": { +// vector.IntegrityImpact = BaseScoreMetric.High; +// break; +// } +// default: { +// vector.IntegrityImpact = BaseScoreMetric.Not_Available; +// break; +// } +// } + +// Match availabilityImpact = Regex.Match(vectorString, @"/A:+\w{1}/"); +// switch (availabilityImpact.Groups[0].Value) { +// case "/A:N/": { +// vector.AvailabilityImpact = BaseScoreMetric.None; +// break; +// } +// case "/A:L/": { +// vector.AvailabilityImpact = BaseScoreMetric.Low; +// break; +// } +// case "/A:H/": { +// vector.AvailabilityImpact = BaseScoreMetric.High; +// break; +// } +// default: { +// vector.AvailabilityImpact = BaseScoreMetric.Not_Available; +// break; +// } +// } +// return vector; +// } + +// #endregion +// } + +//} diff --git a/code/AmIVulnerable/Modells/DTO/ProjectDto.cs b/code/AmIVulnerable/Modells/DTO/ProjectDto.cs new file mode 100644 index 0000000..9efad4b --- /dev/null +++ b/code/AmIVulnerable/Modells/DTO/ProjectDto.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Modells.DTO { + public class ProjectDto { + public string ProjectUrl { get; set; } = string.Empty; + public List Tags { get; set; } = []; + } +} diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index 07698b3..182a4fc 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -1,39 +1,89 @@ -using System; -using System.Diagnostics; +using System.Diagnostics; using System.Text.Json; +using System.Text.Json.Serialization; using Modells.Packages; using F = System.IO.File; namespace Modells { public class Project { - public string ProjectUrl { get; set; } = string.Empty; + public string ProjectUrl { get; set; } = ""; + public List Results { get; set; } = []; + [JsonIgnore] public List Tags { get; set; } = []; + [JsonIgnore] public List Packages { get; set; } = []; + [JsonIgnore] public string DirGuid { get; set; } = ""; private readonly static string CLI = "cmd"; private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; public Project(string projectUrl, List tags) { - ProjectUrl = projectUrl; - Tags = tags; + ProjectUrl = projectUrl; + Tags = tags; } + public class Tag { + public string TagName { get; set; } = ""; + //List of either direct dependencies with vulnerabilities or vulnerabilities as root elements and their vulnerabilities + public List RootDependencies { get; set; } = []; + } + + public class Rootdependency { + public string RootDependencyName { get; set; } = ""; + public List Vulnerabilities { get; set; } = []; + public Rootdependency(string name, List vulnerabilities) { + RootDependencyName = name; + Vulnerabilities = vulnerabilities; + } + } /// /// /// - /// /// - public async void MakeDependencyTreeAsync() { + public async void MakeDependencyTreeCloneAsync() { List dependencyTree = new List(); - //DirGuid = await Clone(); - DirGuid = "eeb6f385-e135-4fc3-9671-42ab9735e398"; - //Install(); + DirGuid = await Clone(); + Install(); string treeJsonPath = MakeTree(DirGuid); Packages = ExtractTree(treeJsonPath); } + /// + /// + /// + /// + public void MakeDependencyTreeCheckoutAsync(string tag) { + List dependencyTree = new List(); + Checkout(tag); + Install(); + string treeJsonPath = MakeTree(DirGuid); + Packages = ExtractTree(treeJsonPath); + } + + public bool Checkout (string tag) { + try { + ProcessStartInfo process = new ProcessStartInfo { + FileName = CLI, + RedirectStandardInput = true, + WorkingDirectory = $"{AppDomain.CurrentDomain.BaseDirectory + DirGuid}", + }; + + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"git " + "stash"); + runProcess.StandardInput.WriteLine($"git " + $"checkout {tag}"); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + return true; + } + catch (Exception ex) { + Console.WriteLine("Error with clone, tag?\n" + ex.Message); + return false; + } + + } + private async Task Clone() { if (ProjectUrl is null) { this.DirGuid = "Err"; @@ -93,7 +143,6 @@ private void ExecuteCommand(string prog, string command, string dir) { /// /// File path private string MakeTree(string dirGuid) { - ExecuteCommand("npm", "install", dirGuid); ExecuteCommand(CLI_RM, "tree.json", dirGuid); ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; diff --git a/code/AmIVulnerable/Modells/Vulnerability.cs b/code/AmIVulnerable/Modells/Vulnerability.cs new file mode 100644 index 0000000..2cb55d1 --- /dev/null +++ b/code/AmIVulnerable/Modells/Vulnerability.cs @@ -0,0 +1,19 @@ +namespace Modells { + public class Vulnerability { + public string Name { get; set; } = ""; + public string Version { get; set; } = ""; + //Nist Severity Base Score + public decimal BaseSeverityScore { get; set; } = -1; + //Transitivity level from viewed tree node (0 = direct, 1 = 1st degree transitive, ...) + public int TransitiveDepth { get; set; } = -1; + public Vulnerability(string name, string version, decimal baseSeverityScore, int transitiveDepth) { + Name = name; + Version = version; + BaseSeverityScore = baseSeverityScore; + TransitiveDepth = transitiveDepth; + } + public Vulnerability() { + + } + } +} diff --git a/data/rxjs.json b/data/rxjs.json new file mode 100644 index 0000000..1e0a767 --- /dev/null +++ b/data/rxjs.json @@ -0,0 +1,64 @@ +[ + [ + [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": -1, + "transitiveDepth": 2 + } + ], + [ + { + "name": "debug", + "version": "2.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "diff", + "version": "1.4.0", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "growl", + "version": "1.9.2", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "0.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "0.0.8", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "ms", + "version": "0.7.1", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ], + [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": -1, + "transitiveDepth": 3 + } + ] + ] + ] \ No newline at end of file diff --git a/example_return.json b/example_return.json new file mode 100644 index 0000000..d03d207 --- /dev/null +++ b/example_return.json @@ -0,0 +1,89 @@ +[ + { + "ProjectUrl": "https//:...", + "Tags": [ + { + "Tag": "V1.0", + "RootDependencies": [ + { + "RootDependencyName": "A", + "Vulnerabilities": [ + { + "Name": "A", + "Version": "B", + "BaseScore": "10.0", + "Depth": 2 + }, + { + "Name": "B", + "Version": "B", + "BaseScore": "10.0", + "Depth": 2 + } + ] + }, + { + "RootDependencyName": "b", + "Vulnerabilities": [ + { + "Name": "A", + "Version": "B", + "BaseScore": "10.0", + "Depth": 2 + }, + { + "Name": "B", + "Version": "B", + "BaseScore": "10.0", + "Depth": 2 + } + ] + } + ] + + }, + { + "Tag": "V4.0", + "RootDependencies": [ + { + "RootDependencyName": "C", + "Vulnerabilities": [ + { + "Name": "A", + "Version": "B", + "BaseScore": "10.0", + "Depth": 2 + }, + { + "Name": "B", + "Version": "B", + "BaseScore": "10.0", + "Depth": 2 + } + ] + }, + { + "RootDependencyName": "A", + "Vulnerabilities": [ + { + "Name": "A", + "Version": "B", + "RootDependency": "AB", + "BaseScore": "10.0", + "Depth": 2 + }, + { + "Name": "B", + "Version": "B", + "RootDependency": "AB", + "BaseScore": "10.0", + "Depth": 2 + } + ] + } + ] + + } + ] + } +] \ No newline at end of file From 079e9f248757d59fa5be137bcee6f59ca7e2152b Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Thu, 29 Aug 2024 21:52:50 +0200 Subject: [PATCH 24/45] data --- .../Controllers/MetricController.cs | 12 + data/questions.txt | 80 + data/result_dep_1.json | 6404 ++++++++ data/result_dep_2.json | 13604 ++++++++++++++++ data/result_vuln_1.json | 2931 ++++ 5 files changed, 23031 insertions(+) create mode 100644 data/questions.txt create mode 100644 data/result_dep_1.json create mode 100644 data/result_dep_2.json create mode 100644 data/result_vuln_1.json diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index 85fa6b8..ca1dddb 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -44,10 +44,12 @@ public IActionResult Dependency([FromBody] List projectsDto) { } foreach (MP project in projects) { + Console.WriteLine("Now analysing: " + project.ProjectUrl + " || master"); project.MakeDependencyTreeCloneAsync(); project.Results.Add(MakeDependencyResultEntry(project, "master")); foreach (string tag in project.Tags) { + Console.WriteLine("Now analysing: " + project.ProjectUrl + " || " + tag); project.MakeDependencyTreeCheckoutAsync(tag); project.Results.Add(MakeDependencyResultEntry(project, tag)); } @@ -69,10 +71,12 @@ public IActionResult Vulnerablilty([FromBody] List projectsDto) { projects.Add(new MP(projectDto.ProjectUrl, projectDto.Tags)); } foreach (MP project in projects) { + Console.WriteLine("Now analysing: " + project.ProjectUrl + " || master"); project.MakeDependencyTreeCloneAsync(); project.Results.Add(MakeVulnerabilityResultEntry(project, "master")); foreach (string tag in project.Tags) { + Console.WriteLine("Now analysing: " + project.ProjectUrl + " || " + tag); project.MakeDependencyTreeCheckoutAsync(tag); project.Results.Add(MakeVulnerabilityResultEntry(project, tag)); } @@ -91,6 +95,10 @@ private MP.Tag MakeDependencyResultEntry(MP project, string tagName) { osvResult = osvResult.OsvExtractVulnerabilities(project.DirGuid); MP.Tag tagWithEntries = new MP.Tag(); tagWithEntries.TagName = tagName; + if (osvResult.results.Count == 0) { + tagWithEntries.RootDependencies = []; + return tagWithEntries; + } List> directDependencyVulnerabilities = new List>(); @@ -115,6 +123,10 @@ private MP.Tag MakeVulnerabilityResultEntry(MP project, string tagName) { osvResult = osvResult.OsvExtractVulnerabilities(project.DirGuid); MP.Tag tagWithEntries = new MP.Tag(); tagWithEntries.TagName = tagName; + if (osvResult.results.Count == 0) { + tagWithEntries.RootDependencies = []; + return tagWithEntries; + } List> vulnerabilitiesOfVulnerabilities = new List>(); List vulnerableDependencies = GetVulnerablePackages(osvResult.results[0].packages, project.Packages); diff --git a/data/questions.txt b/data/questions.txt new file mode 100644 index 0000000..99f2e24 --- /dev/null +++ b/data/questions.txt @@ -0,0 +1,80 @@ +Vorbetrachtung: + Es ist nicht klar ob die Schwachstelle in der Applikation im Code erreichbar ist. + Es ist nicht klar ob die Schwachstelle ein ZeroDay-Exploit ist + Der BaseScore ist zwischen 0.0 und 10.0 festgelegt und wird aus einem Vektor (Komplexität, Angriffstyp, UseInteraction gebraucht?, Privilegien gebraucht?, Welchen Impact?) berechnet. + +Fragen: + 1. + Da die einzige Möglichkeit Schwachstellen durch Abhängigkeiten zu schließen das Anpassen bzw. Ändern von direkten Abhängigkeiten ist, sind Betrachtungen nur auf direkter Abhängigkeitsebene sinnvoll (Schwachstellen selbst, solange diese nicht direkt sondern transitiv sind, sind nicht zu betrachten. Z.B. Wie oft ist diese Schwachstelle eingebunden, ...) (Ja/Nein?) + + 2. + Direkte Schwachstellen sind immer vor transitiven Schwachstellen zu priorisieren (Ja/Nein) + + 3. + Eine direkte Abhängigkeit weist eine Schwachstelle auf, die mit dem BaseScore 7.0 bewertet wurde. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 4.1 + Eine direkte Abhängigkeit weist zwei Schwachstellen auf, die mit BaseScore 6.0 und 5.0 bewertet wurden. Es ist hierbei nicht klar wo sich die Schwachstellen im Vektor unterscheiden. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 4.2 + Eine direkte Abhängigkeit weist zwei Schwachstellen auf, die mit BaseScore 2.0 und 8.0 bewertet wurden. Es ist hierbei nicht klar wo sich die Schwachstellen im Vektor unterscheiden. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 4.3 + Eine direkte Abhängigkeit weist zwei Schwachstellen auf, die mit BaseScore 1.0 und 2.0 bewertet wurden. Es ist hierbei nicht klar wo sich die Schwachstellen im Vektor unterscheiden. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 5.1 + Eine direkte Abhängigkeit weist eine transitive Schwachstelle auf der zweiten ebene auf, die mit dem BaseScore 7.0 bewertet wurde. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 5.2 + Eine direkte Abhängigkeit weist eine transitive Schwachstelle auf der dritten ebene auf (direkt -> X -> X -> Schwachstelle), die mit dem BaseScore 7.0 bewertet wurde. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 5.2 + Eine direkte Abhängigkeit weist eine transitive Schwachstelle auf der vierten ebene auf, die mit dem BaseScore 7.0 bewertet wurde. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 6. + Welche Teile des Vektors sollten Ihrer Meinung nach eine besonders hohe Gewichtung bei der Berechnung eines Scores haben? + Vektor: Attack Vector (Network, Adjacent, Local, Physical), + AttackComplexity (Low, High), + PrivilegesRequired (None, Low, High), + UserInteraction (NotRequired, Required), + ConfidentialityImpact (None, Low, High), + IntegrityImpact (None, Low, High), + AvailabilityImpact (None, Low, High) + + 7. + Ab welcher Transitiven Tiefe ist eine Schwachstelle mit dem BaseScore 4.0 Ihrer Meinung nach nicht mehr zu betrachten (Oder sind immer alle zu betrachten?). + + 8. + Eine direkte Abhängigkeit weist direkt eine Schwachstelle mit dem BaseScore 6.0 auf. Diese ist allerdings schon seit mehr als 3 Monaten bekannt. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 9. + Eine direkte Abhängigkeit weist direkt eine Schwachstelle mit dem BaseScore 6.0 auf. Diese ist allerdings schon seit mehr als 6 Monaten bekannt. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 10. + Eine direkte Abhängigkeit weist direkt eine Schwachstelle mit dem BaseScore 6.0 auf. Diese ist allerdings schon seit mehr als 12 Monaten bekannt. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 11. + Eine direkte Abhängigkeit hat eine Schwachstelle mit dem BaseScore 4.5 und eine transitive Schwachstelle, welche durch eine andere direkte Abhängigkeit eingebunden wurde, weist einen BaseScore von 8.0 auf, wobei sich diese auf den zweiten transitiven Level befindet. + Welche Schwachstelle würden Sie zuerst Priorisieren (basierend auf dem BaseScore)? + + 12. Eine direkte schwachstellenbehaftete Abhängigkeit mit einem BaseScore von 5 hat selbst insgesamt 0 direkte bzw. transitive Abhängigkeiten. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 13. Eine direkte schwachstellenbehaftete Abhängigkeit mit einem BaseScore von 5 hat selbst insgesamt 10 direkte bzw. transitive Abhängigkeiten. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 14. Eine direkte schwachstellenbehaftete Abhängigkeit mit einem BaseScore von 5 hat selbst insgesamt 30 direkte bzw. transitive Abhängigkeiten. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? + + 15. Eine direkte schwachstellenbehaftete Abhängigkeit mit einem BaseScore von 5 hat selbst insgesamt 10 direkte bzw. transitive Abhängigkeiten wobei davon 2 Schwachstellen (3.0, 8.0) aufweisen. + Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? \ No newline at end of file diff --git a/data/result_dep_1.json b/data/result_dep_1.json new file mode 100644 index 0000000..8694472 --- /dev/null +++ b/data/result_dep_1.json @@ -0,0 +1,6404 @@ +[ + { + "projectUrl": "https://github.com/jquery/jquery.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "@prantlf/jsonlint", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "promises-aplus-tests", + "vulnerabilities": [ + { + "name": "debug", + "version": "2.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "diff", + "version": "1.4.0", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "growl", + "version": "1.9.2", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "0.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "0.0.8", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "ms", + "version": "0.7.1", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "release-it", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "5.93.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "5.93.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "4.0.0-beta.2", + "rootDependencies": [ + { + "rootDependencyName": "@prantlf/jsonlint", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "promises-aplus-tests", + "vulnerabilities": [ + { + "name": "debug", + "version": "2.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "diff", + "version": "1.4.0", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "growl", + "version": "1.9.2", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "0.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "0.0.8", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "ms", + "version": "0.7.1", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "release-it", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "requirejs", + "vulnerabilities": [ + { + "name": "requirejs", + "version": "2.3.6", + "baseSeverityScore": 10.7, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "5.92.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "5.92.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "4.0.0-beta", + "rootDependencies": [ + { + "rootDependencyName": "@babel/cli", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "@babel/core", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@prantlf/jsonlint", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "commitplease", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "express", + "vulnerabilities": [ + { + "name": "express", + "version": "4.18.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "grunt-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "grunt", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "jsdom", + "vulnerabilities": [ + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "8.11.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "karma", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "follow-redirects", + "version": "1.15.4", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "ua-parser-js", + "version": "0.7.31", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "ws", + "version": "8.11.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "8.11.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "load-grunt-tasks", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "promises-aplus-tests", + "vulnerabilities": [ + { + "name": "debug", + "version": "2.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "diff", + "version": "1.4.0", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "growl", + "version": "1.9.2", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "0.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "0.0.8", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "ms", + "version": "0.7.1", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "qunit", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "requirejs", + "vulnerabilities": [ + { + "name": "requirejs", + "version": "2.3.6", + "baseSeverityScore": 10.7, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "testswarm", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 1 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "3.7.1", + "rootDependencies": [] + }, + { + "tagName": "3.7.0", + "rootDependencies": [] + }, + { + "tagName": "3.6.4", + "rootDependencies": [] + }, + { + "tagName": "3.6.3", + "rootDependencies": [] + }, + { + "tagName": "3.6.2", + "rootDependencies": [] + }, + { + "tagName": "3.6.1", + "rootDependencies": [] + }, + { + "tagName": "3.5.0", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/chalk/chalk.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "ava", + "vulnerabilities": [ + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "matcha", + "vulnerabilities": [ + { + "name": "electron", + "version": "0.4.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v5.3.0", + "rootDependencies": [ + { + "rootDependencyName": "ava", + "vulnerabilities": [ + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "matcha", + "vulnerabilities": [ + { + "name": "electron", + "version": "0.4.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v5.2.0", + "rootDependencies": [ + { + "rootDependencyName": "ava", + "vulnerabilities": [ + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "matcha", + "vulnerabilities": [ + { + "name": "electron", + "version": "0.4.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v5.1.0", + "rootDependencies": [ + { + "rootDependencyName": "ava", + "vulnerabilities": [ + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "matcha", + "vulnerabilities": [ + { + "name": "electron", + "version": "0.4.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v5.0.0", + "rootDependencies": [ + { + "rootDependencyName": "ava", + "vulnerabilities": [ + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "matcha", + "vulnerabilities": [ + { + "name": "electron", + "version": "0.4.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/tj/commander.js.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v12.1.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v12.0.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v11.1.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-n", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v11.0.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-n", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v10.0.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-n", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.5.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-n", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.20.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.20.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.4.0", + "rootDependencies": [ + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-n", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.18.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.18.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.3.0", + "rootDependencies": [ + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-node", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 7 + }, + { + "name": "ws", + "version": "7.5.6", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.2.0", + "rootDependencies": [ + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-node", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 7 + }, + { + "name": "ws", + "version": "7.5.6", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.1.0", + "rootDependencies": [ + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-node", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 7 + }, + { + "name": "ws", + "version": "7.5.6", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.0.0", + "rootDependencies": [ + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-node", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 7 + }, + { + "name": "ws", + "version": "7.5.6", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/expressjs/express.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "4.19.2", + "rootDependencies": [] + }, + { + "tagName": "4.19.1", + "rootDependencies": [] + }, + { + "tagName": "4.19.0", + "rootDependencies": [] + }, + { + "tagName": "4.18.2", + "rootDependencies": [] + }, + { + "tagName": "4.18.1", + "rootDependencies": [] + }, + { + "tagName": "4.18.0", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/debug-js/debug.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "4.3.6", + "rootDependencies": [] + }, + { + "tagName": "4.3.5", + "rootDependencies": [] + }, + { + "tagName": "4.3.4", + "rootDependencies": [] + }, + { + "tagName": "4.3.3", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/axios/axios.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "@release-it/conventional-changelog", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "auto-changelog", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "coveralls", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 1 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "dtslint", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "2.2.2", + "baseSeverityScore": 8.2, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "express", + "vulnerabilities": [ + { + "name": "express", + "version": "4.18.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "gulp", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + } + ] + }, + { + "rootDependencyName": "istanbul-instrumenter-loader", + "vulnerabilities": [ + { + "name": "ajv", + "version": "5.5.2", + "baseSeverityScore": 5.6, + "transitiveDepth": 2 + }, + { + "name": "babel-traverse", + "version": "6.26.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "babel-traverse", + "version": "6.26.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "karma-rollup-preprocessor", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "karma-sauce-launcher", + "vulnerabilities": [ + { + "name": "got", + "version": "11.8.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "got", + "version": "11.8.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "got", + "version": "8.3.2", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "http-cache-semantics", + "version": "3.8.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver-regex", + "version": "2.0.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "karma", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "engine.io", + "version": "6.2.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "socket.io", + "version": "4.5.0", + "baseSeverityScore": 7.3, + "transitiveDepth": 1 + }, + { + "name": "socket.io-parser", + "version": "4.0.5", + "baseSeverityScore": 7.3, + "transitiveDepth": 2 + }, + { + "name": "ws", + "version": "8.2.3", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "memoizee", + "vulnerabilities": [ + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 1 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 3 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "multer", + "vulnerabilities": [ + { + "name": "dicer", + "version": "0.2.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "release-it", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "ip", + "version": "1.1.8", + "baseSeverityScore": -1, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "vm2", + "version": "3.9.19", + "baseSeverityScore": 9.8, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "rollup-plugin-auto-external", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "terser-webpack-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v1.7.0", + "rootDependencies": [] + }, + { + "tagName": "v1.6.8", + "rootDependencies": [] + }, + { + "tagName": "v1.6.7", + "rootDependencies": [] + }, + { + "tagName": "v1.6.6", + "rootDependencies": [] + }, + { + "tagName": "v1.6.5", + "rootDependencies": [] + }, + { + "tagName": "v1.6.4", + "rootDependencies": [] + }, + { + "tagName": "v1.6.3", + "rootDependencies": [] + }, + { + "tagName": "v1.6.2", + "rootDependencies": [] + }, + { + "tagName": "v1.6.1", + "rootDependencies": [] + }, + { + "tagName": "v1.6.0", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/isaacs/node-mkdirp.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.0.1", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.0.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.6", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.5", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.4", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.3", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.2", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.1", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.0.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/isaacs/node-glob.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v11.0.0", + "rootDependencies": [] + }, + { + "tagName": "v10.4.0", + "rootDependencies": [ + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "ws", + "version": "8.17.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v10.2.0", + "rootDependencies": [ + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "ws", + "version": "8.17.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v10.1.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v10.0.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v9.3.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v9.2.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v9.1.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v9.0.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v8.1.0", + "rootDependencies": [ + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 3 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v8.0.0", + "rootDependencies": [ + { + "rootDependencyName": "mkdirp", + "vulnerabilities": [ + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.16.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 4 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 5 + }, + { + "name": "react-devtools-core", + "version": "4.21.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + } + ] + } + ] \ No newline at end of file diff --git a/data/result_dep_2.json b/data/result_dep_2.json new file mode 100644 index 0000000..ebbe6b0 --- /dev/null +++ b/data/result_dep_2.json @@ -0,0 +1,13604 @@ +[ + { + "projectUrl": "https://github.com/jquery/jquery.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "@prantlf/jsonlint", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "promises-aplus-tests", + "vulnerabilities": [ + { + "name": "debug", + "version": "2.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "diff", + "version": "1.4.0", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "growl", + "version": "1.9.2", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "0.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "0.0.8", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "ms", + "version": "0.7.1", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "release-it", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "5.93.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "5.93.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "4.0.0-beta.2", + "rootDependencies": [ + { + "rootDependencyName": "@prantlf/jsonlint", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "promises-aplus-tests", + "vulnerabilities": [ + { + "name": "debug", + "version": "2.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "diff", + "version": "1.4.0", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "growl", + "version": "1.9.2", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "0.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "0.0.8", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "ms", + "version": "0.7.1", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "release-it", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "requirejs", + "vulnerabilities": [ + { + "name": "requirejs", + "version": "2.3.6", + "baseSeverityScore": 10.7, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "5.92.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "5.92.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "4.0.0-beta", + "rootDependencies": [ + { + "rootDependencyName": "@babel/cli", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "@babel/core", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@prantlf/jsonlint", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "commitplease", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "express", + "vulnerabilities": [ + { + "name": "express", + "version": "4.18.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "grunt-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "grunt", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "jsdom", + "vulnerabilities": [ + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "8.11.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "karma", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "follow-redirects", + "version": "1.15.4", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "ua-parser-js", + "version": "0.7.31", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "ws", + "version": "8.11.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "8.11.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "load-grunt-tasks", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "promises-aplus-tests", + "vulnerabilities": [ + { + "name": "debug", + "version": "2.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "diff", + "version": "1.4.0", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "growl", + "version": "1.9.2", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "0.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "0.0.8", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "ms", + "version": "0.7.1", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "qunit", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "requirejs", + "vulnerabilities": [ + { + "name": "requirejs", + "version": "2.3.6", + "baseSeverityScore": 10.7, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "testswarm", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 1 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/chalk/chalk.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "ava", + "vulnerabilities": [ + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "matcha", + "vulnerabilities": [ + { + "name": "electron", + "version": "0.4.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v5.3.0", + "rootDependencies": [ + { + "rootDependencyName": "ava", + "vulnerabilities": [ + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "matcha", + "vulnerabilities": [ + { + "name": "electron", + "version": "0.4.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v5.2.0", + "rootDependencies": [ + { + "rootDependencyName": "ava", + "vulnerabilities": [ + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "matcha", + "vulnerabilities": [ + { + "name": "electron", + "version": "0.4.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v5.1.0", + "rootDependencies": [ + { + "rootDependencyName": "ava", + "vulnerabilities": [ + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "matcha", + "vulnerabilities": [ + { + "name": "electron", + "version": "0.4.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v5.0.0", + "rootDependencies": [ + { + "rootDependencyName": "ava", + "vulnerabilities": [ + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "matcha", + "vulnerabilities": [ + { + "name": "electron", + "version": "0.4.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/tj/commander.js.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v12.1.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v12.0.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v11.1.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-n", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v11.0.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-n", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v10.0.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-n", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.5.0", + "rootDependencies": [ + { + "rootDependencyName": "@types/jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-n", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.20.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.20.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.4.0", + "rootDependencies": [ + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-n", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.18.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.18.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.3.0", + "rootDependencies": [ + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-node", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 7 + }, + { + "name": "ws", + "version": "7.5.6", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.2.0", + "rootDependencies": [ + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-node", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 7 + }, + { + "name": "ws", + "version": "7.5.6", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.1.0", + "rootDependencies": [ + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-node", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 7 + }, + { + "name": "ws", + "version": "7.5.6", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v9.0.0", + "rootDependencies": [ + { + "rootDependencyName": "@typescript-eslint/eslint-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@typescript-eslint/parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-node", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 7 + }, + { + "name": "ws", + "version": "7.5.6", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "ts-jest", + "vulnerabilities": [ + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/axios/axios.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "@release-it/conventional-changelog", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "auto-changelog", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "coveralls", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 1 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "dtslint", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "2.2.2", + "baseSeverityScore": 8.2, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "express", + "vulnerabilities": [ + { + "name": "express", + "version": "4.18.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "gulp", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + } + ] + }, + { + "rootDependencyName": "istanbul-instrumenter-loader", + "vulnerabilities": [ + { + "name": "ajv", + "version": "5.5.2", + "baseSeverityScore": 5.6, + "transitiveDepth": 2 + }, + { + "name": "babel-traverse", + "version": "6.26.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "babel-traverse", + "version": "6.26.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "karma-rollup-preprocessor", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "karma-sauce-launcher", + "vulnerabilities": [ + { + "name": "got", + "version": "11.8.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "got", + "version": "11.8.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "got", + "version": "8.3.2", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "http-cache-semantics", + "version": "3.8.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver-regex", + "version": "2.0.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "karma", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "engine.io", + "version": "6.2.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "socket.io", + "version": "4.5.0", + "baseSeverityScore": 7.3, + "transitiveDepth": 1 + }, + { + "name": "socket.io-parser", + "version": "4.0.5", + "baseSeverityScore": 7.3, + "transitiveDepth": 2 + }, + { + "name": "ws", + "version": "8.2.3", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "memoizee", + "vulnerabilities": [ + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 1 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 3 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "es5-ext", + "version": "0.10.61", + "baseSeverityScore": -1, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "multer", + "vulnerabilities": [ + { + "name": "dicer", + "version": "0.2.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "release-it", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "ip", + "version": "1.1.8", + "baseSeverityScore": -1, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "vm2", + "version": "3.9.19", + "baseSeverityScore": 9.8, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "rollup-plugin-auto-external", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "terser-webpack-plugin", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/isaacs/node-mkdirp.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.22.1", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.0.1", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.0.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.6", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.5", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.4", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.3", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.2", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.1", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.1.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.0.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.20.12", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/isaacs/node-glob.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v11.0.0", + "rootDependencies": [] + }, + { + "tagName": "v10.4.0", + "rootDependencies": [ + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "ws", + "version": "8.17.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v10.2.0", + "rootDependencies": [ + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "ws", + "version": "8.17.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v10.1.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v10.0.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v9.3.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v9.2.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v9.1.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v9.0.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "eslint-config-prettier", + "vulnerabilities": [ + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v8.1.0", + "rootDependencies": [ + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.17.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 3 + }, + { + "name": "react-devtools-core", + "version": "4.24.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v8.0.0", + "rootDependencies": [ + { + "rootDependencyName": "mkdirp", + "vulnerabilities": [ + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "tap", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.16.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.16.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.16.3", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.17.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.0", + "baseSeverityScore": 7.1, + "transitiveDepth": 4 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 4 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 5 + }, + { + "name": "react-devtools-core", + "version": "4.21.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "7.5.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/yargs/yargs.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v17.7.2", + "rootDependencies": [] + }, + { + "tagName": "v17.7.1", + "rootDependencies": [] + }, + { + "tagName": "v17.7.0", + "rootDependencies": [] + }, + { + "tagName": "v17.6.2", + "rootDependencies": [] + }, + { + "tagName": "v17.6.1", + "rootDependencies": [] + }, + { + "tagName": "v17.6.0", + "rootDependencies": [] + }, + { + "tagName": "v17.5.1", + "rootDependencies": [] + }, + { + "tagName": "v17.5.0", + "rootDependencies": [] + }, + { + "tagName": "v17.4.1", + "rootDependencies": [] + }, + { + "tagName": "v17.4.0", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/uuidjs/uuid.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "@wdio/browserstack-service", + "vulnerabilities": [ + { + "name": "ws", + "version": "8.13.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "bundlewatch", + "vulnerabilities": [ + { + "name": "axios", + "version": "0.24.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "lint-staged", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "typescript-eslint", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + } + ] + } + ] + }, + { + "tagName": "v10.0.0", + "rootDependencies": [ + { + "rootDependencyName": "@babel/cli", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "@wdio/browserstack-service", + "vulnerabilities": [ + { + "name": "node-fetch", + "version": "2.6.5", + "baseSeverityScore": 8.7, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "8.2.3", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "@wdio/jasmine-framework", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "bundlewatch", + "vulnerabilities": [ + { + "name": "axios", + "version": "0.24.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + }, + { + "name": "follow-redirects", + "version": "1.15.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "lint-staged", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "neostandard", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + } + ] + }, + { + "rootDependencyName": "npm-run-all", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "optional-dev-dependency", + "vulnerabilities": [ + { + "name": "yargs-parser", + "version": "5.0.0-security.0", + "baseSeverityScore": 5.2, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "standard-version", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v9.0.1", + "rootDependencies": [ + { + "rootDependencyName": "@babel/cli", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "@babel/core", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@babel/eslint-parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@babel/preset-env", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.0.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "@commitlint/cli", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "bundlewatch", + "vulnerabilities": [ + { + "name": "axios", + "version": "0.24.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + }, + { + "name": "follow-redirects", + "version": "1.15.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "eslint-config-standard", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-node", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "lint-staged", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "yaml", + "version": "2.1.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "npm-run-all", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "optional-dev-dependency", + "vulnerabilities": [ + { + "name": "yargs-parser", + "version": "5.0.0-security.0", + "baseSeverityScore": 5.2, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "standard-version", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v9.0.0", + "rootDependencies": [ + { + "rootDependencyName": "@babel/cli", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "@babel/core", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@babel/eslint-parser", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@babel/preset-env", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.0.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "@commitlint/cli", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "bundlewatch", + "vulnerabilities": [ + { + "name": "axios", + "version": "0.24.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + }, + { + "name": "follow-redirects", + "version": "1.15.1", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "eslint-config-standard", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-import", + "vulnerabilities": [ + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "eslint-plugin-node", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "eslint", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jest", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.11", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "lint-staged", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "yaml", + "version": "2.1.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "npm-run-all", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "optional-dev-dependency", + "vulnerabilities": [ + { + "name": "yargs-parser", + "version": "5.0.0-security.0", + "baseSeverityScore": 5.2, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "standard-version", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.5", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/JedWatson/classnames.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v2.5.2", + "rootDependencies": [ + { + "rootDependencyName": "http-server", + "vulnerabilities": [ + { + "name": "follow-redirects", + "version": "1.15.3", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v2.5.1", + "rootDependencies": [ + { + "rootDependencyName": "http-server", + "vulnerabilities": [ + { + "name": "follow-redirects", + "version": "1.15.3", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v2.5.0", + "rootDependencies": [ + { + "rootDependencyName": "classnames-benchmarks", + "vulnerabilities": [ + { + "name": "follow-redirects", + "version": "1.15.3", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v2.4.0", + "rootDependencies": [ + { + "rootDependencyName": "classnames-benchmarks", + "vulnerabilities": [ + { + "name": "follow-redirects", + "version": "1.15.3", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tsd", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v2.3.3", + "rootDependencies": [ + { + "rootDependencyName": "browserify", + "vulnerabilities": [ + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "dtslint", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "mocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v2.3.2", + "rootDependencies": [ + { + "rootDependencyName": "browserify", + "vulnerabilities": [ + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "dtslint", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "mocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/expressjs/body-parser.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v2.0.0-beta.2", + "rootDependencies": [] + }, + { + "tagName": "1.20.2", + "rootDependencies": [] + }, + { + "tagName": "1.20.1", + "rootDependencies": [] + }, + { + "tagName": "1.20.0", + "rootDependencies": [] + }, + { + "tagName": "1.19.2", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/jquery/jquery.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "@prantlf/jsonlint", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "promises-aplus-tests", + "vulnerabilities": [ + { + "name": "debug", + "version": "2.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "diff", + "version": "1.4.0", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "growl", + "version": "1.9.2", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "0.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "0.0.8", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "ms", + "version": "0.7.1", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "release-it", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "5.93.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "5.93.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "4.0.0-beta.2", + "rootDependencies": [ + { + "rootDependencyName": "@prantlf/jsonlint", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "promises-aplus-tests", + "vulnerabilities": [ + { + "name": "debug", + "version": "2.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "diff", + "version": "1.4.0", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "growl", + "version": "1.9.2", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "0.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "0.0.8", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "ms", + "version": "0.7.1", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "release-it", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "requirejs", + "vulnerabilities": [ + { + "name": "requirejs", + "version": "2.3.6", + "baseSeverityScore": 10.7, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "5.92.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "5.92.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "4.0.0-beta", + "rootDependencies": [ + { + "rootDependencyName": "@babel/cli", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "@babel/core", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@prantlf/jsonlint", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "commitplease", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "express", + "vulnerabilities": [ + { + "name": "express", + "version": "4.18.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "grunt-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "grunt", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "jsdom", + "vulnerabilities": [ + { + "name": "tough-cookie", + "version": "4.0.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "8.11.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "karma", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "follow-redirects", + "version": "1.15.4", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "ua-parser-js", + "version": "0.7.31", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "ws", + "version": "8.11.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "ws", + "version": "8.11.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "load-grunt-tasks", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "promises-aplus-tests", + "vulnerabilities": [ + { + "name": "debug", + "version": "2.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "diff", + "version": "1.4.0", + "baseSeverityScore": -1, + "transitiveDepth": 2 + }, + { + "name": "growl", + "version": "1.9.2", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "minimatch", + "version": "0.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "minimist", + "version": "0.0.8", + "baseSeverityScore": 9.8, + "transitiveDepth": 3 + }, + { + "name": "ms", + "version": "0.7.1", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "qunit", + "vulnerabilities": [ + { + "name": "minimatch", + "version": "3.0.4", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "requirejs", + "vulnerabilities": [ + { + "name": "requirejs", + "version": "2.3.6", + "baseSeverityScore": 10.7, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "testswarm", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 1 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "3.7.1", + "rootDependencies": [] + }, + { + "tagName": "3.7.0", + "rootDependencies": [] + }, + { + "tagName": "3.6.4", + "rootDependencies": [] + }, + { + "tagName": "3.6.3", + "rootDependencies": [] + }, + { + "tagName": "3.6.2", + "rootDependencies": [] + }, + { + "tagName": "3.6.1", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/yeoman/generator.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "cpy-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "esmocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "ip", + "version": "2.0.0", + "baseSeverityScore": -1, + "transitiveDepth": 8 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 7 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v7.3.2", + "rootDependencies": [ + { + "rootDependencyName": "cpy-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "esmocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "ip", + "version": "2.0.0", + "baseSeverityScore": -1, + "transitiveDepth": 8 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 7 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v7.3.1", + "rootDependencies": [ + { + "rootDependencyName": "cpy-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "esmocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "ip", + "version": "2.0.0", + "baseSeverityScore": -1, + "transitiveDepth": 8 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 7 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v7.3.0", + "rootDependencies": [ + { + "rootDependencyName": "cpy-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "esmocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "ip", + "version": "2.0.0", + "baseSeverityScore": -1, + "transitiveDepth": 8 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 7 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v7.2.0", + "rootDependencies": [ + { + "rootDependencyName": "cpy-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "esmocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "ip", + "version": "2.0.0", + "baseSeverityScore": -1, + "transitiveDepth": 8 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 7 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + } + ] + } + ] + }, + { + "tagName": "v7.1.1", + "rootDependencies": [ + { + "rootDependencyName": "cpy-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "ejs", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "esmocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "ip", + "version": "2.0.0", + "baseSeverityScore": -1, + "transitiveDepth": 8 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 7 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-test", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v7.1.0", + "rootDependencies": [ + { + "rootDependencyName": "cpy-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "ejs", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "esmocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "ip", + "version": "2.0.0", + "baseSeverityScore": -1, + "transitiveDepth": 8 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 7 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-test", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v7.0.0", + "rootDependencies": [ + { + "rootDependencyName": "cpy-cli", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "ejs", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "esmocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.89.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "ip", + "version": "2.0.0", + "baseSeverityScore": -1, + "transitiveDepth": 8 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 7 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.2.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + } + ] + }, + { + "rootDependencyName": "yeoman-test", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v6.0.1", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "cpy-cli", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "esmocha", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.21.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.21.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "latest-version", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "read-pkg-up", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.82.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.82.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 4 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 2 + }, + { + "name": "ip", + "version": "2.0.0", + "baseSeverityScore": -1, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "tar", + "version": "6.1.14", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.1.14", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.14", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.1.14", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v6.0.0", + "rootDependencies": [ + { + "rootDependencyName": "c8", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "cpy-cli", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "esmocha", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.21.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 5 + }, + { + "name": "@babel/traverse", + "version": "7.21.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.21.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "latest-version", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "read-pkg-up", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.5.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.82.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.82.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 4 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 2 + }, + { + "name": "ip", + "version": "2.0.0", + "baseSeverityScore": -1, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "tar", + "version": "6.1.14", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.1.14", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.14", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.1.14", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v5.10.0", + "rootDependencies": [ + { + "rootDependencyName": "coveralls", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 1 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jsdoc", + "vulnerabilities": [ + { + "name": "taffydb", + "version": "2.6.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.8", + "baseSeverityScore": 3.9, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "mocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "mockery", + "vulnerabilities": [ + { + "name": "mockery", + "version": "2.1.0", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "nock", + "vulnerabilities": [ + { + "name": "lodash.set", + "version": "4.3.2", + "baseSeverityScore": 7.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "nyc", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.18.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.18.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "pacote", + "vulnerabilities": [ + { + "name": "ip", + "version": "1.1.8", + "baseSeverityScore": -1, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "read-pkg-up", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "decode-uri-component", + "version": "0.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "terser", + "version": "5.14.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "webpack", + "version": "5.72.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.72.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 4 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "yeoman-generator", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v5.9.0", + "rootDependencies": [ + { + "rootDependencyName": "coveralls", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 1 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jsdoc", + "vulnerabilities": [ + { + "name": "taffydb", + "version": "2.6.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.8", + "baseSeverityScore": 3.9, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "mocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "mockery", + "vulnerabilities": [ + { + "name": "mockery", + "version": "2.1.0", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "nock", + "vulnerabilities": [ + { + "name": "lodash.set", + "version": "4.3.2", + "baseSeverityScore": 7.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "nyc", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.18.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.18.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "pacote", + "vulnerabilities": [ + { + "name": "ip", + "version": "1.1.8", + "baseSeverityScore": -1, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "read-pkg-up", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "decode-uri-component", + "version": "0.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "terser", + "version": "5.14.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "webpack", + "version": "5.72.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.72.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 4 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "yeoman-generator", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + }, + { + "tagName": "v5.8.0", + "rootDependencies": [ + { + "rootDependencyName": "coveralls", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 1 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "jsdoc", + "vulnerabilities": [ + { + "name": "taffydb", + "version": "2.6.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "mem-fs-editor", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.8", + "baseSeverityScore": 3.9, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "mocha", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "mockery", + "vulnerabilities": [ + { + "name": "mockery", + "version": "2.1.0", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "nock", + "vulnerabilities": [ + { + "name": "lodash.set", + "version": "4.3.2", + "baseSeverityScore": 7.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "nyc", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.18.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.18.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 4 + }, + { + "name": "@babel/traverse", + "version": "7.18.2", + "baseSeverityScore": 9.2, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "read-pkg-up", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "tui-jsdoc-template", + "vulnerabilities": [ + { + "name": "lodash.pick", + "version": "4.4.0", + "baseSeverityScore": 7.4, + "transitiveDepth": 2 + }, + { + "name": "nth-check", + "version": "1.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "xo", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "decode-uri-component", + "version": "0.2.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "got", + "version": "9.6.0", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "http-cache-semantics", + "version": "4.1.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "json5", + "version": "1.0.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 3 + }, + { + "name": "json5", + "version": "2.2.1", + "baseSeverityScore": 7.1, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "terser", + "version": "5.14.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "webpack", + "version": "5.72.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 2 + }, + { + "name": "webpack", + "version": "5.72.1", + "baseSeverityScore": 9.8, + "transitiveDepth": 4 + }, + { + "name": "word-wrap", + "version": "1.2.3", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "yeoman-environment", + "vulnerabilities": [ + { + "name": "http-cache-semantics", + "version": "4.1.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "http-cache-semantics", + "version": "4.1.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "ip", + "version": "1.1.8", + "baseSeverityScore": -1, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 4 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 3 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 5 + }, + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "yeoman-generator", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/zloirock/core-js.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.38.1", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.38.0", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.6", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.6", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.37.1", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.37.0", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.36.1", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.36.0", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.35.1", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.35.0", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.34.0", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.33.3", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.33.2", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.33.1", + "rootDependencies": [ + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.33.0", + "rootDependencies": [ + { + "rootDependencyName": "@babel/core", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.23.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.23.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "konan", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.23.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.32.1", + "rootDependencies": [ + { + "rootDependencyName": "@babel/core", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.22.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "konan", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.32.0", + "rootDependencies": [ + { + "rootDependencyName": "@babel/core", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.22.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "konan", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.31.1", + "rootDependencies": [ + { + "rootDependencyName": "@babel/core", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.6", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.22.6", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.22.6", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@babel/plugin-transform-classes", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.6", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "konan", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.6", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + }, + { + "tagName": "v3.31.0", + "rootDependencies": [ + { + "rootDependencyName": "@babel/core", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.22.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + }, + { + "name": "@babel/traverse", + "version": "7.22.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "@babel/plugin-transform-class-properties", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "@babel/plugin-transform-classes", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "@babel/plugin-transform-unicode-regex", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "core-js-builder", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 7 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 2 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 6 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 1 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "konan", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "npm-run-all2", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "zx", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 3 + } + ] + } + ] + } + ] + } + ] \ No newline at end of file diff --git a/data/result_vuln_1.json b/data/result_vuln_1.json new file mode 100644 index 0000000..0559b79 --- /dev/null +++ b/data/result_vuln_1.json @@ -0,0 +1,2931 @@ +[ + { + "projectUrl": "https://github.com/jquery/jquery.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "underscore", + "vulnerabilities": [ + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "5.93.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "5.93.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "4.0.0-beta.2", + "rootDependencies": [ + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "requirejs", + "vulnerabilities": [ + { + "name": "requirejs", + "version": "2.3.6", + "baseSeverityScore": 10.7, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "underscore", + "vulnerabilities": [ + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "5.92.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "5.92.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "4.0.0-beta", + "rootDependencies": [ + { + "rootDependencyName": "express", + "vulnerabilities": [ + { + "name": "express", + "version": "4.18.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "request", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "requirejs", + "vulnerabilities": [ + { + "name": "requirejs", + "version": "2.3.6", + "baseSeverityScore": 10.7, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "underscore", + "vulnerabilities": [ + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/chalk/chalk.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v5.3.0", + "rootDependencies": [] + }, + { + "tagName": "v5.2.0", + "rootDependencies": [] + }, + { + "tagName": "v5.1.0", + "rootDependencies": [] + }, + { + "tagName": "v5.0.0", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/tj/commander.js.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v12.1.0", + "rootDependencies": [] + }, + { + "tagName": "v12.0.0", + "rootDependencies": [] + }, + { + "tagName": "v11.1.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v11.0.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v10.0.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v9.5.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v9.4.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v9.3.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v9.2.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v9.1.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v9.0.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/axios/axios.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "express", + "vulnerabilities": [ + { + "name": "express", + "version": "4.18.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "request", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.8", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/isaacs/node-mkdirp.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v3.0.1", + "rootDependencies": [] + }, + { + "tagName": "v3.0.0", + "rootDependencies": [] + }, + { + "tagName": "v2.1.6", + "rootDependencies": [] + }, + { + "tagName": "v2.1.5", + "rootDependencies": [] + }, + { + "tagName": "v2.1.4", + "rootDependencies": [] + }, + { + "tagName": "v2.1.3", + "rootDependencies": [] + }, + { + "tagName": "v2.1.2", + "rootDependencies": [] + }, + { + "tagName": "v2.1.1", + "rootDependencies": [] + }, + { + "tagName": "v2.1.0", + "rootDependencies": [] + }, + { + "tagName": "v2.0.0", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/isaacs/node-glob.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v11.0.0", + "rootDependencies": [] + }, + { + "tagName": "v10.4.0", + "rootDependencies": [] + }, + { + "tagName": "v10.2.0", + "rootDependencies": [] + }, + { + "tagName": "v10.1.0", + "rootDependencies": [] + }, + { + "tagName": "v10.0.0", + "rootDependencies": [] + }, + { + "tagName": "v9.3.0", + "rootDependencies": [] + }, + { + "tagName": "v9.2.0", + "rootDependencies": [] + }, + { + "tagName": "v9.1.0", + "rootDependencies": [] + }, + { + "tagName": "v9.0.0", + "rootDependencies": [] + }, + { + "tagName": "v8.1.0", + "rootDependencies": [] + }, + { + "tagName": "v8.0.0", + "rootDependencies": [ + { + "rootDependencyName": "minimist", + "vulnerabilities": [ + { + "name": "minimist", + "version": "1.2.5", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/yargs/yargs.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v17.7.2", + "rootDependencies": [] + }, + { + "tagName": "v17.7.1", + "rootDependencies": [] + }, + { + "tagName": "v17.7.0", + "rootDependencies": [] + }, + { + "tagName": "v17.6.2", + "rootDependencies": [] + }, + { + "tagName": "v17.6.1", + "rootDependencies": [] + }, + { + "tagName": "v17.6.0", + "rootDependencies": [] + }, + { + "tagName": "v17.5.1", + "rootDependencies": [] + }, + { + "tagName": "v17.5.0", + "rootDependencies": [] + }, + { + "tagName": "v17.4.1", + "rootDependencies": [] + }, + { + "tagName": "v17.4.0", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/uuidjs/uuid.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v10.0.0", + "rootDependencies": [ + { + "rootDependencyName": "yargs-parser", + "vulnerabilities": [ + { + "name": "yargs-parser", + "version": "5.0.0-security.0", + "baseSeverityScore": 5.2, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v9.0.1", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "yaml", + "vulnerabilities": [ + { + "name": "yaml", + "version": "2.1.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "yargs-parser", + "vulnerabilities": [ + { + "name": "yargs-parser", + "version": "5.0.0-security.0", + "baseSeverityScore": 5.2, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v9.0.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "yaml", + "vulnerabilities": [ + { + "name": "yaml", + "version": "2.1.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "yargs-parser", + "vulnerabilities": [ + { + "name": "yargs-parser", + "version": "5.0.0-security.0", + "baseSeverityScore": 5.2, + "transitiveDepth": 0 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/JedWatson/classnames.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v2.5.2", + "rootDependencies": [] + }, + { + "tagName": "v2.5.1", + "rootDependencies": [] + }, + { + "tagName": "v2.5.0", + "rootDependencies": [] + }, + { + "tagName": "v2.4.0", + "rootDependencies": [] + }, + { + "tagName": "v2.3.3", + "rootDependencies": [] + }, + { + "tagName": "v2.3.2", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/expressjs/body-parser.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [] + }, + { + "tagName": "v2.0.0-beta.2", + "rootDependencies": [] + }, + { + "tagName": "1.20.2", + "rootDependencies": [] + }, + { + "tagName": "1.20.1", + "rootDependencies": [] + }, + { + "tagName": "1.20.0", + "rootDependencies": [] + }, + { + "tagName": "1.19.2", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/jquery/jquery.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "underscore", + "vulnerabilities": [ + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "5.93.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "5.93.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "4.0.0-beta.2", + "rootDependencies": [ + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.7", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "requirejs", + "vulnerabilities": [ + { + "name": "requirejs", + "version": "2.3.6", + "baseSeverityScore": 10.7, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "underscore", + "vulnerabilities": [ + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "webpack", + "version": "5.92.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "5.92.1", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "4.0.0-beta", + "rootDependencies": [ + { + "rootDependencyName": "express", + "vulnerabilities": [ + { + "name": "express", + "version": "4.18.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "request", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "requirejs", + "vulnerabilities": [ + { + "name": "requirejs", + "version": "2.3.6", + "baseSeverityScore": 10.7, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "underscore", + "vulnerabilities": [ + { + "name": "underscore", + "version": "1.8.3", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "3.7.1", + "rootDependencies": [] + }, + { + "tagName": "3.7.0", + "rootDependencies": [] + }, + { + "tagName": "3.6.4", + "rootDependencies": [] + }, + { + "tagName": "3.6.3", + "rootDependencies": [] + }, + { + "tagName": "3.6.2", + "rootDependencies": [] + }, + { + "tagName": "3.6.1", + "rootDependencies": [] + } + ] + }, + { + "projectUrl": "https://github.com/yeoman/generator.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v7.3.2", + "rootDependencies": [ + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v7.3.1", + "rootDependencies": [ + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v7.3.0", + "rootDependencies": [ + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v7.2.0", + "rootDependencies": [ + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v7.1.1", + "rootDependencies": [ + { + "rootDependencyName": "ejs", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v7.1.0", + "rootDependencies": [ + { + "rootDependencyName": "ejs", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v7.0.0", + "rootDependencies": [ + { + "rootDependencyName": "ejs", + "vulnerabilities": [ + { + "name": "ejs", + "version": "3.1.9", + "baseSeverityScore": 3.9, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "micromatch", + "vulnerabilities": [ + { + "name": "micromatch", + "version": "4.0.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v6.0.1", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v6.0.0", + "rootDependencies": [ + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v5.10.0", + "rootDependencies": [ + { + "rootDependencyName": "mockery", + "vulnerabilities": [ + { + "name": "mockery", + "version": "2.1.0", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "request", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "tar", + "vulnerabilities": [ + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v5.9.0", + "rootDependencies": [ + { + "rootDependencyName": "mockery", + "vulnerabilities": [ + { + "name": "mockery", + "version": "2.1.0", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "request", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "tar", + "vulnerabilities": [ + { + "name": "tar", + "version": "6.1.11", + "baseSeverityScore": 6.4, + "transitiveDepth": 0 + } + ] + } + ] + }, + { + "tagName": "v5.8.0", + "rootDependencies": [ + { + "rootDependencyName": "mockery", + "vulnerabilities": [ + { + "name": "mockery", + "version": "2.1.0", + "baseSeverityScore": 9.8, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "request", + "vulnerabilities": [ + { + "name": "request", + "version": "2.88.2", + "baseSeverityScore": 6, + "transitiveDepth": 0 + }, + { + "name": "tough-cookie", + "version": "2.5.0", + "baseSeverityScore": 6.4, + "transitiveDepth": 1 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.3.7", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + } + ] + } + ] + }, + { + "projectUrl": "https://github.com/zloirock/core-js.git", + "results": [ + { + "tagName": "master", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.38.1", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.38.0", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.6", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.6", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.37.1", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.37.0", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.36.1", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.5", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.36.0", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.35.1", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.35.0", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.34.0", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.33.3", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.33.2", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.33.1", + "rootDependencies": [ + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.33.0", + "rootDependencies": [ + { + "rootDependencyName": "@babel/traverse", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.23.0", + "baseSeverityScore": 9.2, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.47.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.32.1", + "rootDependencies": [ + { + "rootDependencyName": "@babel/traverse", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.10", + "baseSeverityScore": 9.2, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.32.0", + "rootDependencies": [ + { + "rootDependencyName": "@babel/traverse", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.8", + "baseSeverityScore": 9.2, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.31.1", + "rootDependencies": [ + { + "rootDependencyName": "@babel/traverse", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.6", + "baseSeverityScore": 9.2, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + }, + { + "tagName": "v3.31.0", + "rootDependencies": [ + { + "rootDependencyName": "@babel/traverse", + "vulnerabilities": [ + { + "name": "@babel/traverse", + "version": "7.22.5", + "baseSeverityScore": 9.2, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "6.3.0", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "semver", + "vulnerabilities": [ + { + "name": "semver", + "version": "7.5.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 0 + } + ] + }, + { + "rootDependencyName": "webpack", + "vulnerabilities": [ + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 2 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 6 + }, + { + "name": "braces", + "version": "2.3.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "braces", + "version": "3.0.2", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "browserify-sign", + "version": "4.2.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 3 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "elliptic", + "version": "6.5.4", + "baseSeverityScore": 5.3, + "transitiveDepth": 4 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 1 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "micromatch", + "version": "3.1.10", + "baseSeverityScore": 5.3, + "transitiveDepth": 5 + }, + { + "name": "semver", + "version": "5.7.1", + "baseSeverityScore": 7.5, + "transitiveDepth": 4 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 0 + }, + { + "name": "webpack", + "version": "4.46.0", + "baseSeverityScore": 6.3, + "transitiveDepth": 2 + } + ] + } + ] + } + ] + } + ] \ No newline at end of file From c9491c06518aa29b7c0319756d0d88a0b6cf3d18 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Tue, 10 Sep 2024 22:08:07 +0200 Subject: [PATCH 25/45] added first support for maven in new endpoints --- .../Controllers/MetricController.cs | 27 +++++++++++--- .../AmIVulnerable/Log/Logs20240825.txt | 1 + .../Modells/Packages/MavenPackage.cs | 34 +++++++++++++++++ code/AmIVulnerable/Modells/Project.cs | 37 +++++++++++++++---- .../Modells/ProjectMetricResult.cs | 2 +- 5 files changed, 87 insertions(+), 14 deletions(-) create mode 100644 code/AmIVulnerable/AmIVulnerable/Log/Logs20240825.txt create mode 100644 code/AmIVulnerable/Modells/Packages/MavenPackage.cs diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index ca1dddb..a7036fa 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -7,7 +7,9 @@ using OSVV = Modells.OsvResult.Vulnerability; using System.Text.Json; using PP = Modells.Packages.Package; +using F = System.IO.File; using Modells.DTO; +using Newtonsoft.Json; namespace AmIVulnerable.Controllers { @@ -40,19 +42,25 @@ public MetricController(IConfiguration configuration) { public IActionResult Dependency([FromBody] List projectsDto) { List projects = new List(); foreach (ProjectDto projectDto in projectsDto) { - projects.Add(new MP(projectDto.ProjectUrl, projectDto.Tags)); + projects.Add(new MP(projectDto.ProjectUrl)); } foreach (MP project in projects) { Console.WriteLine("Now analysing: " + project.ProjectUrl + " || master"); - project.MakeDependencyTreeCloneAsync(); + if(project.MakeDependencyTreeCloneAsync().Result == "FAILED") { + continue; + } project.Results.Add(MakeDependencyResultEntry(project, "master")); + project.SetTags(); foreach (string tag in project.Tags) { Console.WriteLine("Now analysing: " + project.ProjectUrl + " || " + tag); - project.MakeDependencyTreeCheckoutAsync(tag); + if (project.MakeDependencyTreeCheckoutAsync(tag) == "FAILED") { + continue; + } project.Results.Add(MakeDependencyResultEntry(project, tag)); } + F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "cache.json", JsonConvert.SerializeObject(projects)); } //Return list of enriched projects return Ok(projects); @@ -68,16 +76,21 @@ public IActionResult Dependency([FromBody] List projectsDto) { public IActionResult Vulnerablilty([FromBody] List projectsDto) { List projects = new List(); foreach (ProjectDto projectDto in projectsDto) { - projects.Add(new MP(projectDto.ProjectUrl, projectDto.Tags)); + projects.Add(new MP(projectDto.ProjectUrl)); } foreach (MP project in projects) { Console.WriteLine("Now analysing: " + project.ProjectUrl + " || master"); - project.MakeDependencyTreeCloneAsync(); + if (project.MakeDependencyTreeCloneAsync().Result == "FAILED") { + continue; + } project.Results.Add(MakeVulnerabilityResultEntry(project, "master")); + project.SetTags(); foreach (string tag in project.Tags) { Console.WriteLine("Now analysing: " + project.ProjectUrl + " || " + tag); - project.MakeDependencyTreeCheckoutAsync(tag); + if (project.MakeDependencyTreeCheckoutAsync(tag) == "FAILED") { + continue; + } project.Results.Add(MakeVulnerabilityResultEntry(project, tag)); } } @@ -187,6 +200,8 @@ private decimal GetHighestSeverity(List osvPackageVulnerabilities) { foreach (OSVV osvVulnerability in osvPackageVulnerabilities) { if (osvVulnerability.severity != null) { foreach (Severity osvSeverity in osvVulnerability.severity) { + Console.WriteLine(osvSeverity.score); + Console.WriteLine(MakeVector(osvSeverity.score).BaseScore()); decimal vulnerabilitySeverity = MakeVector(osvSeverity.score).BaseScore(); if (vulnerabilitySeverity > severity) { severity = vulnerabilitySeverity; diff --git a/code/AmIVulnerable/AmIVulnerable/Log/Logs20240825.txt b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240825.txt new file mode 100644 index 0000000..eb6d831 --- /dev/null +++ b/code/AmIVulnerable/AmIVulnerable/Log/Logs20240825.txt @@ -0,0 +1 @@ +2024-08-25 17:27:29.303 +02:00 [INF] TaskDuration completed in 311.7 ms diff --git a/code/AmIVulnerable/Modells/Packages/MavenPackage.cs b/code/AmIVulnerable/Modells/Packages/MavenPackage.cs new file mode 100644 index 0000000..e709294 --- /dev/null +++ b/code/AmIVulnerable/Modells/Packages/MavenPackage.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Modells.Packages { + public class MavenPackage { + public string groupId { get; set; } + //Package name + public string artifactId { get; set; } + //Package version + public string version { get; set; } + public string type { get; set; } + public string scope { get; set; } + public string classifier { get; set; } + public string optional { get; set; } + //Own Dependencies + public MavenPackage[] children { get; set; } + + /// + /// Converts MavenPackage to Package + /// + /// + public Package ToPackage() { + Package package = new Package(); + package.Name = artifactId; + package.Version = version; + //Own Dependencies???!?!?!? + + return null; + } + } +} diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index 182a4fc..b6aee9d 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -18,9 +18,8 @@ public class Project { private readonly static string CLI = "cmd"; private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; - public Project(string projectUrl, List tags) { + public Project(string projectUrl) { ProjectUrl = projectUrl; - Tags = tags; } public class Tag { @@ -42,24 +41,32 @@ public Rootdependency(string name, List vulnerabilities) { /// /// /// - public async void MakeDependencyTreeCloneAsync() { + public async Task MakeDependencyTreeCloneAsync() { List dependencyTree = new List(); DirGuid = await Clone(); Install(); string treeJsonPath = MakeTree(DirGuid); + if(treeJsonPath == "NO_VALID_PROJECT") { + return "FAILED"; + } Packages = ExtractTree(treeJsonPath); + return "SUCCESS"; } /// /// /// /// - public void MakeDependencyTreeCheckoutAsync(string tag) { + public string MakeDependencyTreeCheckoutAsync(string tag) { List dependencyTree = new List(); Checkout(tag); Install(); string treeJsonPath = MakeTree(DirGuid); + if (treeJsonPath == "NO_VALID_PROJECT") { + return "FAILED"; + } Packages = ExtractTree(treeJsonPath); + return "SUCCESS"; } public bool Checkout (string tag) { @@ -84,6 +91,12 @@ public bool Checkout (string tag) { } + public void SetTags() { + ExecuteCommand("git", "tag > tags.txt", DirGuid); + Tags = F.ReadAllLines(AppDomain.CurrentDomain.BaseDirectory + DirGuid + "/tags.txt").ToList(); + Console.WriteLine(Tags); + } + private async Task Clone() { if (ProjectUrl is null) { this.DirGuid = "Err"; @@ -143,9 +156,19 @@ private void ExecuteCommand(string prog, string command, string dir) { /// /// File path private string MakeTree(string dirGuid) { - ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("npm", "list --all --json >> tree.json", dirGuid); - return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; + // If is npm project + if(F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/package.json")) { + ExecuteCommand(CLI_RM, "tree.json", dirGuid); + ExecuteCommand("npm", "list --all --json > tree.json", dirGuid); + return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; + } + // If is Maven Project + if(F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/pom.xml")) { + ExecuteCommand(CLI_RM, "tree.json", dirGuid); + ExecuteCommand("mvn", "org.apache.maven.plugins:maven-dependency-plugin:3.8.0:tree -DoutputFile=mavenTree.json -DoutputType=json", dirGuid); + return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; + } + return "NO_VALID_PROJECT"; } /// diff --git a/code/AmIVulnerable/Modells/ProjectMetricResult.cs b/code/AmIVulnerable/Modells/ProjectMetricResult.cs index bc02cd6..2d63b09 100644 --- a/code/AmIVulnerable/Modells/ProjectMetricResult.cs +++ b/code/AmIVulnerable/Modells/ProjectMetricResult.cs @@ -136,7 +136,7 @@ public decimal BaseScore() { ((decimal)AttackComplexity / 100) * ((decimal)PrivilegesRequired / 100) * ((decimal)UserInteraction / 100); - baseScore = Math.Round(1.08m * Math.Min((ISC + ESC), 10), 1); + baseScore = Math.Round(Math.Min(1.08m * (ISC + ESC), 10), 1); } return baseScore; } From 8632f0b0031820700e751ee717d7324cf7828fdc Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Wed, 11 Sep 2024 22:01:42 +0200 Subject: [PATCH 26/45] full maven support for dependencies and vulnerabilities --- .../Controllers/MetricController.cs | 2 +- code/AmIVulnerable/Modells/DTO/ProjectDto.cs | 1 - .../Modells/Packages/MavenPackage.cs | 23 +++-- code/AmIVulnerable/Modells/Project.cs | 95 ++++++++++++++----- 4 files changed, 85 insertions(+), 36 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index a7036fa..402548d 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -407,7 +407,7 @@ private Vector MakeVector(string vectorString) { } } - Match availabilityImpact = Regex.Match(vectorString, @"/A:+\w{1}"); + Match availabilityImpact = Regex.Match(vectorString, @"/A:+\w{1}/{0,1}"); switch (availabilityImpact.Groups[0].Value) { case "/A:N": { vector.AvailabilityImpact = BaseScoreMetric.None; diff --git a/code/AmIVulnerable/Modells/DTO/ProjectDto.cs b/code/AmIVulnerable/Modells/DTO/ProjectDto.cs index 9efad4b..7fca0b5 100644 --- a/code/AmIVulnerable/Modells/DTO/ProjectDto.cs +++ b/code/AmIVulnerable/Modells/DTO/ProjectDto.cs @@ -7,6 +7,5 @@ namespace Modells.DTO { public class ProjectDto { public string ProjectUrl { get; set; } = string.Empty; - public List Tags { get; set; } = []; } } diff --git a/code/AmIVulnerable/Modells/Packages/MavenPackage.cs b/code/AmIVulnerable/Modells/Packages/MavenPackage.cs index e709294..c99beb4 100644 --- a/code/AmIVulnerable/Modells/Packages/MavenPackage.cs +++ b/code/AmIVulnerable/Modells/Packages/MavenPackage.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Modells.Packages { +namespace Modells.Packages { public class MavenPackage { public string groupId { get; set; } //Package name @@ -16,7 +10,7 @@ public class MavenPackage { public string classifier { get; set; } public string optional { get; set; } //Own Dependencies - public MavenPackage[] children { get; set; } + public List children { get; set; } /// /// Converts MavenPackage to Package @@ -24,11 +18,20 @@ public class MavenPackage { /// public Package ToPackage() { Package package = new Package(); - package.Name = artifactId; + package.Name = groupId + ":" + artifactId; package.Version = version; //Own Dependencies???!?!?!? + package.Dependencies = GetChildren(children); + + return package; + } - return null; + private List GetChildren(List mavenDependencies) { + List dependencies = new List(); + foreach (MavenPackage mavenDependency in mavenDependencies) { + dependencies.Add(mavenDependency.ToPackage()); + } + return dependencies; } } } diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index b6aee9d..568aff1 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -15,6 +15,8 @@ public class Project { [JsonIgnore] public string DirGuid { get; set; } = ""; + [JsonIgnore] + public ProjectTypeEnum ProjectType { get; set; } private readonly static string CLI = "cmd"; private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; @@ -37,6 +39,11 @@ public Rootdependency(string name, List vulnerabilities) { } } + public enum ProjectTypeEnum { + maven = 0, + npm = 1, + } + /// /// /// @@ -44,7 +51,16 @@ public Rootdependency(string name, List vulnerabilities) { public async Task MakeDependencyTreeCloneAsync() { List dependencyTree = new List(); DirGuid = await Clone(); - Install(); + if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + DirGuid + "/package.json")) { + ProjectType = ProjectTypeEnum.npm; + Install(); + } + // If is Maven Project + if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + DirGuid + "/pom.xml")) { + ProjectType = ProjectTypeEnum.maven; + } + + string treeJsonPath = MakeTree(DirGuid); if(treeJsonPath == "NO_VALID_PROJECT") { return "FAILED"; @@ -60,7 +76,9 @@ public async Task MakeDependencyTreeCloneAsync() { public string MakeDependencyTreeCheckoutAsync(string tag) { List dependencyTree = new List(); Checkout(tag); - Install(); + if(ProjectType == ProjectTypeEnum.npm) { + Install(); + } string treeJsonPath = MakeTree(DirGuid); if (treeJsonPath == "NO_VALID_PROJECT") { return "FAILED"; @@ -157,15 +175,15 @@ private void ExecuteCommand(string prog, string command, string dir) { /// File path private string MakeTree(string dirGuid) { // If is npm project - if(F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/package.json")) { + if(ProjectType == ProjectTypeEnum.npm) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); ExecuteCommand("npm", "list --all --json > tree.json", dirGuid); return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; } // If is Maven Project - if(F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/pom.xml")) { + if(ProjectType == ProjectTypeEnum.maven) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("mvn", "org.apache.maven.plugins:maven-dependency-plugin:3.8.0:tree -DoutputFile=mavenTree.json -DoutputType=json", dirGuid); + ExecuteCommand("mvn", "org.apache.maven.plugins:maven-dependency-plugin:3.8.0:tree -DoutputFile=tree.json -DoutputType=json", dirGuid); return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; } return "NO_VALID_PROJECT"; @@ -179,12 +197,24 @@ private string MakeTree(string dirGuid) { private List ExtractTree(string filePath) { List packages = []; using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(filePath))) { - if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && - dependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { - Package nodePackage = ExtractDependencyInfo(dependency); + if(ProjectType == ProjectTypeEnum.npm) { + if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && + dependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { + Package nodePackage = ExtractDependencyInfoFromProperty(dependency); + + packages.Add(nodePackage); + } + } + } + if(ProjectType == ProjectTypeEnum.maven) { + if (jsonDocument.RootElement.TryGetProperty("children", out JsonElement dependenciesElement) && + dependenciesElement.ValueKind == JsonValueKind.Array) { + foreach (JsonElement dependency in dependenciesElement.EnumerateArray()) { + Package nodePackage = ExtractDependencyInfoFromElement(dependency); - packages.Add(nodePackage); + packages.Add(nodePackage); + } } } } @@ -196,23 +226,40 @@ private List ExtractTree(string filePath) { /// /// /// - private Package ExtractDependencyInfo(JsonProperty dependency) { - Package nodePackage = new Package { - Name = dependency.Name - }; - if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && - versionElement.ValueKind == JsonValueKind.String) { - nodePackage.Version = versionElement.GetString() ?? ""; - } - if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && - subDependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { - Package subNodePackage = ExtractDependencyInfo(subDependency); - nodePackage.Dependencies.Add(subNodePackage); + private Package ExtractDependencyInfoFromProperty(JsonProperty dependencyProperty) { + Package package = new Package(); + if(ProjectType == ProjectTypeEnum.npm) { + package.Name = dependencyProperty!.Name; + if (dependencyProperty!.Value.TryGetProperty("version", out JsonElement versionElement) && + versionElement.ValueKind == JsonValueKind.String) { + package.Version = versionElement.GetString() ?? ""; + } + if (dependencyProperty!.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && + subDependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { + Package subNodePackage = ExtractDependencyInfoFromProperty(subDependency); + package.Dependencies.Add(subNodePackage); + } } } + return package; + } - return nodePackage; + private Package ExtractDependencyInfoFromElement(JsonElement dependencyElement) { + Package package = new Package(); + if (ProjectType == ProjectTypeEnum.maven) { + package.Name = dependencyElement.GetProperty("groupId").ToString() + ":" + dependencyElement.GetProperty("artifactId").ToString(); + if (dependencyElement.TryGetProperty("version", out JsonElement version) && version.ValueKind == JsonValueKind.String) { + package.Version = version.ToString(); + } + if (dependencyElement.TryGetProperty("children", out JsonElement childen) && childen.ValueKind == JsonValueKind.Array) { + foreach (JsonElement subDependency in childen.EnumerateArray()) { + Package subNodePackage = ExtractDependencyInfoFromElement(subDependency); + package.Dependencies.Add(subNodePackage); + } + } + } + return package; } } } \ No newline at end of file From f342e4eb9c3e31f39b3c5ce17edacf3b2eae350d Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Sat, 14 Sep 2024 16:56:53 +0200 Subject: [PATCH 27/45] tried fixing timeSlice --- .../Controllers/ReportsController.cs | 944 +++++------------- code/AmIVulnerable/Modells/Project.cs | 4 +- code/AmIVulnerable/Modells/TimeSlice.cs | 13 +- code/AmIVulnerable/Modells/Yarn/YarnTree.cs | 51 - 4 files changed, 255 insertions(+), 757 deletions(-) delete mode 100644 code/AmIVulnerable/Modells/Yarn/YarnTree.cs diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index d486944..afd8918 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -1,699 +1,245 @@ -//using Microsoft.AspNetCore.Mvc; -//using Modells; -//using Modells.DTO; -//using Modells.OsvResult; -//using MySql.Data.MySqlClient; -//using Newtonsoft.Json; -//using System.Data; -//using System.Diagnostics; -//using System.Text.Json; -//using System.Text.RegularExpressions; -//using F = System.IO.File; -//using MP = Modells.Project; -//using MPP = Modells.Packages.Package; -//using Y = Modells.Yarn; - -//namespace AmIVulnerable.Controllers { - -// [Route("api/[controller]")] -// [ApiController] -// public class ReportsController : ControllerBase { - -// #region Config - -// private readonly static string CLI = "cmd"; -// private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; -// private DateTime lastDateTime = new DateTime(); - -// private readonly IConfiguration Configuration; -// public ReportsController(IConfiguration configuration) { -// Configuration = configuration; -// } - -// #endregion - -// #region Endpoints - -// /// -// /// Generate a SimpleReport for a list of Projects -// /// -// /// -// /// -// [HttpPost] -// [Route("vulnerabilityTimeLineNpm")] -// public async Task VulnerabilityTimeLineNpmYarn([FromBody] List projectsDto) { -// List projects = new List(); -// foreach (ProjectDto projectDto in projectsDto) { -// projects.Add(new MP(projectDto.ProjectUrl, projectDto.Tags)); -// } -// List timeSeries = []; -// foreach (MP project in projects) { - -// // Clone -// project.MakeDependencyTreeAsync(); -// // osv-scanner for latest -// OsvResult osvResultLatest = new OsvResult(); -// osvResultLatest = osvResultLatest.OsvExtractVulnerabilities(project.DirGuid); -// // commit DateTime -// lastDateTime = GetTagDateTime(project.DirGuid); -// // Make tree to find if vulnerability is transitive or not -// string treeJsonPathLatest = MakeTree(project.DirGuid); - -// timeSeries.Add(MakeTimeSlice(osvResultLatest, treeJsonPathLatest, lastDateTime, project.DirGuid, "release")); - -// foreach (string tag in project.Tags) { -// CheckoutTagProject(project.DirGuid, tag); -// project.MakeDependencyTreeAsync(); -// // osv-scanner for latest -// string osvJsonCurrent = OsvExtractVulnerabilities(project.DirGuid); -// OsvResult osvResultCurrent = JsonConvert.DeserializeObject(osvJsonCurrent) ?? new OsvResult(); -// // Make tree to find if vulnerability is transitive or not -// string treeJsonPathCurrent = MakeTree(project.DirGuid); -// timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, project.DirGuid, tag)); -// // commit DateTime -// lastDateTime = GetTagDateTime(project.DirGuid); - -// timeSeries.Add(MakeTimeSlice(osvResultCurrent, treeJsonPathCurrent, lastDateTime, project.DirGuid, tag)); -// lastDateTime = lastDateTime.AddSeconds(-1); -// } -// } -// return Ok(timeSeries); -// } - -// [HttpPost] -// [Route("vulnerabilityMetrics")] -// public async Task VulnerabilityMetrics([FromBody] List projects) { -// List projectMetricResults = new List(); -// foreach (MP project in projects) { -// // Clone -// project.MakeDependencyTreeAsync(); -// // osv-scanner for latest -// string osvJson = OsvExtractVulnerabilities(project.DirGuid); -// OsvResult osvResult = JsonConvert.DeserializeObject(osvJson) ?? new OsvResult(); -// // commit DateTime -// DateTime lastDateTime = GetTagDateTime(project.DirGuid); -// // Make tree to find if vulnerability is transitive or not -// string treeJsonPath = MakeTree(project.DirGuid); - -// List packageList = new List(); -// using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeJsonPath))) { -// if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement npmDependenciesElement) && -// npmDependenciesElement.ValueKind == JsonValueKind.Object) { -// foreach (JsonProperty dependency in npmDependenciesElement.EnumerateObject()) { -// MPP package = ExtractDependencyInfoNpm(dependency); - -// packageList.Add(package); -// } -// } -// } - -// projectMetricResults.Add(MakeMetricResult(osvResult, treeJsonPath, lastDateTime, project.DirGuid, project.ProjectUrl, packageList)); -// } -// return Ok(projectMetricResults); -// } - -// private void Install(string dirGuid) { -// if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/yarn.lock")) { -// ExecuteCommand("npx yarn", "", dirGuid); -// return; -// } -// else { -// ExecuteCommand(CLI_RM, ".npmrc", dirGuid); -// ExecuteCommand("npm", "install", dirGuid); -// ExecuteCommand("npm", "i --lockfile-version 3 --package-lock-only", dirGuid); -// return; -// } -// } - -// #endregion - -// #region Internal function(s) - -// private DataTable ExecuteMySqlCommand(string command) { -// // MySql Connection -// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); -// MySqlCommand cmd = new MySqlCommand(command, connection); -// DataTable dataTable = new DataTable(); -// connection.Open(); - -// MySqlDataReader reader = cmd.ExecuteReader(); -// dataTable.Load(reader); -// connection.Close(); -// return dataTable; -// } - -// /// -// /// -// /// -// /// -// private bool CheckoutTagProject(string dir, string tag = "-") { -// try { -// ProcessStartInfo process = new ProcessStartInfo { -// FileName = CLI, -// RedirectStandardInput = true, -// WorkingDirectory = $"{AppDomain.CurrentDomain.BaseDirectory + dir}", -// }; - -// Process runProcess = Process.Start(process)!; -// runProcess.StandardInput.WriteLine($"git " + "stash"); -// runProcess.StandardInput.WriteLine($"git " + $"checkout {tag}"); -// runProcess.StandardInput.WriteLine($"exit"); -// runProcess.WaitForExit(); - -// return true; -// } -// catch (Exception ex) { -// Console.WriteLine("Error with clone, tag?\n" + ex.Message); -// return false; -// } -// } - -// #region MakeTree - -// /// -// /// Make a tree.json file -// /// -// /// -// /// -// /// File path -// private string MakeTree(string dirGuid) { -// if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/yarn.lock")) { -// ExecuteCommand(CLI_RM, "tree.json", dirGuid); -// ExecuteCommand("npx yarn", "list --all --json > tree.json", dirGuid); -// } -// else if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/package.json")) { -// ExecuteCommand(CLI_RM, "tree.json", dirGuid); -// ExecuteCommand("npm", "list --all --json > tree.json", dirGuid); -// } -// return dirGuid + "/tree.json"; -// } - -// #endregion - - -// /// -// /// Starts a process that runs a command. -// /// -// /// Programm used for commands -// /// Command used for programm -// private void ExecuteCommand(string prog, string command, string dir) { -// ProcessStartInfo process = new ProcessStartInfo { -// FileName = CLI, -// RedirectStandardInput = true, -// WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, -// }; -// Process runProcess = Process.Start(process)!; -// runProcess.StandardInput.WriteLine($"{prog} {command}"); -// runProcess.StandardInput.WriteLine($"exit"); -// runProcess.WaitForExit(); -// } - -// /// -// /// -// /// -// /// -// /// -// private DateTime GetTagDateTime(string dir) { -// ProcessStartInfo process = new ProcessStartInfo { -// FileName = CLI, -// RedirectStandardInput = true, -// WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, -// RedirectStandardOutput = true, -// UseShellExecute = false, -// }; -// Process runProcess = Process.Start(process)!; -// runProcess.StandardInput.WriteLine($"git log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\""); -// runProcess.StandardInput.WriteLine($"exit"); -// runProcess.WaitForExit(); - -// string stringTagDateTime = runProcess.StandardOutput.ReadToEnd(); -// if (CLI.Equals("cmd")) { -// int length = "0000-00-00T00:00:00".Length; -// int startIndex = stringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; -// stringTagDateTime = stringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; -// } - -// return DateTime.Parse(stringTagDateTime); -// } -// #endregion - -// #region work functions -// /// -// /// -// /// -// /// -// /// -// private string OsvExtractVulnerabilities(string dir) { -// ExecuteCommand("osv-scanner", " --format json . > osv.json", dir); -// return F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + dir + "/osv.json"); ; -// } - -// private TimeSlice MakeTimeSlice(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string dir, string tagName = "release") { -// TimeSlice timeSlice = new TimeSlice(); - -// timeSlice.TagName = tagName; -// timeSlice.Timestamp = timestamp; - -// // Extract JsonTree -// List packageList = new List(); -// using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + treeJsonPath))) { -// if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement npmDependenciesElement) && -// npmDependenciesElement.ValueKind == JsonValueKind.Object) { -// foreach (JsonProperty dependency in npmDependenciesElement.EnumerateObject()) { -// MPP package = ExtractDependencyInfoNpm(dependency); - -// packageList.Add(package); -// } -// } -// if (jsonDocument.RootElement.TryGetProperty("data", out JsonElement yarnDependenciesElement) && -// yarnDependenciesElement.ValueKind == JsonValueKind.Object) { -// if (yarnDependenciesElement.TryGetProperty("trees", out JsonElement yarnDependenciesElementC)) { -// foreach (JsonElement tree in yarnDependenciesElementC.EnumerateArray()) { -// Y.Child? yarnChild = tree.Deserialize(); -// if (yarnChild is not null) { -// yarnChild = RecursiveVersionExtraction(yarnChild); -// packageList.Add(yarnChild); -// } -// } -// } -// } -// } -// timeSlice.CountDirectDependencies = packageList.Count; - -// // Count all Vulnerabilities found in osv scan -// int vulnerabilityCount = 0; -// foreach (Packages osvPackage in osvResult.results[0].packages) { -// vulnerabilityCount += osvPackage.vulnerabilities.Count; -// } -// timeSlice.CountTotalFoundVulnerabilities = vulnerabilityCount; - -// if (!F.Exists(AppDomain.CurrentDomain.BaseDirectory + dir + "/yarn.lock")) { -// // Make list of all transitive dependencies -// List allTransitiveDependencies = new List(); -// foreach (MPP package in packageList) { -// allTransitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); -// } -// timeSlice.CountTransitiveDependencies = allTransitiveDependencies.Count; - -// timeSlice.CountUniqueTransitiveDependencies = GetUniquePackagesFromList(allTransitiveDependencies).Count; - -// // Make list of direct vulnerabilities (Known and ToDate) -// List allKnownDirectVulnerabilities = new List(); -// List allToDateDirectVulnerabilities = new List(); -// foreach (MPP package in packageList) { -// foreach (Packages vulnerablePackage in osvResult.results[0].packages) { -// if (package.Name == vulnerablePackage.package.name && package.Version == vulnerablePackage.package.version) { -// allToDateDirectVulnerabilities.Add(package); -// if (timestamp >= OldestPublishedVulnerabilityDateTime(vulnerablePackage.vulnerabilities)) { -// allKnownDirectVulnerabilities.Add(package); -// } -// } -// } -// } -// timeSlice.CountKnownDirectVulnerabilities = allKnownDirectVulnerabilities.Count; -// timeSlice.CountToDateDirectVulnerabilities = allToDateDirectVulnerabilities.Count; - -// // Use List of all transitive Packages from "CountTransitiveDependencies" -// List allKnownTransitiveVulnerabilities = new List(); -// List allToDateTransitiveVulnerabilities = new List(); -// foreach (Packages vulnerablePackage in osvResult.results[0].packages) { -// foreach (MPP package in allTransitiveDependencies) { -// if (package.Name == vulnerablePackage.package.name && package.Version == vulnerablePackage.package.version) { -// allToDateTransitiveVulnerabilities.Add(package); -// if (timestamp >= OldestPublishedVulnerabilityDateTime(vulnerablePackage.vulnerabilities)) { -// allKnownTransitiveVulnerabilities.Add(package); -// } -// } -// } -// } -// timeSlice.CountKnownTransitiveVulnerabilities = allKnownTransitiveVulnerabilities.Count; -// timeSlice.CountToDateTransitiveVulnerabilities = allToDateTransitiveVulnerabilities.Count; - -// timeSlice.CountKnownUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allKnownTransitiveVulnerabilities).Count; -// timeSlice.CountToDateUniqueTransitiveVulnerabilities = GetUniquePackagesFromList(allToDateTransitiveVulnerabilities).Count; -// } - -// if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + dir + "/yarn.lock")) { - -// List yarnAllTransitiveDependencies = new List(); -// foreach (Y.Child yarnPackage in packageList) { -// yarnAllTransitiveDependencies.AddRange(YarnTransitiveDependencies(yarnPackage.children)); -// } -// timeSlice.CountTransitiveDependencies = yarnAllTransitiveDependencies.Count; -// timeSlice.CountUniqueTransitiveDependencies = YarnGetUniquePackagesFromList(yarnAllTransitiveDependencies).Count; - -// List yarnAllKnownDirectVulnerabilities = new List(); -// List yarnToDateDirectVulnerabilities = new List(); -// foreach (Y.Child yarnPackage in packageList) { -// foreach (Packages osvPackage in osvResult.results[0].packages) { -// if (yarnPackage.name == osvPackage.package.name && yarnPackage.version == osvPackage.package.version) { -// yarnAllKnownDirectVulnerabilities.Add(yarnPackage); -// if (timestamp >= OldestPublishedVulnerabilityDateTime(osvPackage.vulnerabilities)) { -// yarnToDateDirectVulnerabilities.Add(yarnPackage); -// } -// } -// } -// } -// timeSlice.CountKnownDirectVulnerabilities = yarnAllKnownDirectVulnerabilities.Count; -// timeSlice.CountToDateDirectVulnerabilities = yarnToDateDirectVulnerabilities.Count; - -// List yarnAllKnownTransitiveVulnerabilities = new List(); -// List yarnAllToDateTransitiveVulnerabilities = new List(); -// foreach (Y.Child yarnTransitiveDependency in yarnAllTransitiveDependencies) { -// foreach (Packages osvPackage in osvResult.results[0].packages) { -// if (yarnTransitiveDependency.name == osvPackage.package.name && yarnTransitiveDependency.version == osvPackage.package.version) { -// yarnAllKnownTransitiveVulnerabilities.Add(yarnTransitiveDependency); -// if (timestamp >= OldestPublishedVulnerabilityDateTime(osvPackage.vulnerabilities)) { -// yarnAllToDateTransitiveVulnerabilities.Add(yarnTransitiveDependency); -// } -// } - -// } -// } -// timeSlice.CountKnownTransitiveVulnerabilities = yarnAllKnownTransitiveVulnerabilities.Count; -// timeSlice.CountToDateTransitiveVulnerabilities = yarnAllToDateTransitiveVulnerabilities.Count; - -// timeSlice.CountKnownUniqueTransitiveVulnerabilities = YarnGetUniquePackagesFromList(yarnAllKnownTransitiveVulnerabilities).Count; -// timeSlice.CountToDateUniqueTransitiveVulnerabilities = YarnGetUniquePackagesFromList(yarnAllToDateTransitiveVulnerabilities).Count; -// } - -// return timeSlice; -// } - -// private MPP ExtractDependencyInfoNpm(JsonProperty dependency) { -// MPP package = new MPP { -// Name = dependency.Name -// }; -// if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && -// versionElement.ValueKind == JsonValueKind.String) { -// package.Version = versionElement.GetString() ?? ""; -// } -// if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && -// subDependenciesElement.ValueKind == JsonValueKind.Object) { -// foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { -// MPP subPackage = ExtractDependencyInfoNpm(subDependency); -// package.Dependencies.Add(subPackage); -// } -// } -// return package; -// } - -// private Y.Child RecursiveVersionExtraction(Y.Child child) { -// try { -// for (int i = 0; i < child.children.Count; i += 1) { -// child.children[i] = RecursiveVersionExtraction(child.children[i]); -// } -// child.version = child.name[(child.name.LastIndexOf('@') + 1)..child.name.Length]; -// if (child.version[0] == '~' || child.version[0] == '^') { -// child.version = child.version[1..child.version.Length]; -// } -// return child; -// } -// catch { -// return child; -// } -// } - -// private List TransitiveDependencies(List packages) { -// if (!packages.Any()) { -// return []; -// } -// List transitiveDependencies = new List(); - -// foreach (MPP package in packages) { -// transitiveDependencies.Add(package); -// transitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); -// } -// return transitiveDependencies; -// } - -// private List YarnTransitiveDependencies(List yarnTransitiveDependencies) { -// if (!yarnTransitiveDependencies.Any()) { -// return []; -// } -// List children = new List(); - -// foreach (Y.Child child in yarnTransitiveDependencies) { -// children.Add(child); -// if (child.children != null) { -// children.AddRange(YarnTransitiveDependencies(child.children)); -// } -// } -// return children; -// } - -// private DateTime OldestPublishedVulnerabilityDateTime(List vulnerabilities) { -// DateTime oldestPublishedVulnerabilityDateTime = DateTime.Now; -// foreach (Modells.OsvResult.Vulnerability vulnerability in vulnerabilities) { -// if (vulnerability.published < oldestPublishedVulnerabilityDateTime) { -// oldestPublishedVulnerabilityDateTime = vulnerability.published; -// } -// } -// return oldestPublishedVulnerabilityDateTime; -// } -// private List GetUniquePackagesFromList(List packages) { -// List uniquePackages = new List(); -// foreach (MPP package in packages) { -// if (!uniquePackages.Exists(pack => pack.Name.Equals(package.Name) && pack.Version.Equals(package.Version))) { -// uniquePackages.Add(package); -// } -// } -// return uniquePackages; -// } - -// private List YarnGetUniquePackagesFromList(List packages) { -// List uniquePackages = new List(); -// foreach (Y.Child package in packages) { -// if (!uniquePackages.Exists(pack => pack.name.Equals(package.name) && pack.version.Equals(package.version))) { -// uniquePackages.Add(package); -// } -// } -// return uniquePackages; -// } -// private ProjectMetricResult MakeMetricResult(OsvResult osvResult, string treeJsonPath, DateTime timestamp, string dir, string url, List packageList) { -// ProjectMetricResult projectMetricResult = new ProjectMetricResult(); -// projectMetricResult.AnalyseTime = timestamp; -// projectMetricResult.ProjectUrl = url; -// projectMetricResult.VulnerabilityMetrics = MakeMetrics(osvResult, treeJsonPath, dir, packageList); -// return new ProjectMetricResult(); -// } -// private List MakeMetrics(OsvResult osvResult, string treeJsonPath, string dir, List packageList) { -// List vulnerabilityMetrics = new List(); -// foreach (Packages osvPackage in osvResult.results[0].packages) { -// VulnerabilityMetric vulnerabilityMetric = new VulnerabilityMetric(); -// vulnerabilityMetric.PackageName = osvPackage.package.name; -// vulnerabilityMetric.PackageVersion = osvPackage.package.version; -// MPP vulnerablePackage = packageList.Find(x => x.Name == osvPackage.package.name && x.Version == osvPackage.package.version) ?? new MPP(); -// //General Data -// foreach (Modells.OsvResult.Vulnerability vulnerability in osvPackage.vulnerabilities) { -// foreach (Severity severity in vulnerability.severity) { -// vulnerabilityMetric.CvssVersion.Add(severity.type); -// vulnerabilityMetric.NistSeverity.Add(MakeNistScore(severity.score)); -// vulnerabilityMetric.MetricData.Add(MakeMetricData(severity.score, treeJsonPath, dir, vulnerability, vulnerablePackage, osvResult.results[0].packages)); -// } -// } - -// //Metric Score Caluculation -// vulnerabilityMetric.MetricScore = MakeMetricScore(vulnerabilityMetric.MetricData); - -// vulnerabilityMetrics.Add(vulnerabilityMetric); -// } -// return vulnerabilityMetrics; -// } - -// //Metric Cube Data -// private MetricData MakeMetricData(string vector, string treeJsonPath, string dir, Modells.OsvResult.Vulnerability vulnerability, MPP vulnerablePackage, List osvPackages) { -// MetricData metricData = new MetricData(); -// //metricData.TransitiveDepths = -// metricData.Vector = MakeVector(vector); -// //metricData.UsageCount = -// List ownDependencies = TransitiveDependencies([vulnerablePackage]); -// metricData.OwnDependenciesCount = ownDependencies.Count(); - -// List ownUniqueVulnerabilities = new List(); -// foreach (Packages osvPackage in osvPackages) { -// foreach (MPP package in ownDependencies) { -// if (package.Name == osvPackage.package.name && package.Version == osvPackage.package.version && !ownUniqueVulnerabilities.Contains(package)) { -// ownUniqueVulnerabilities.Add(package); -// } -// } -// } -// metricData.OwnUniqueVulnerabilitiesCount = ownUniqueVulnerabilities.Count(); -// metricData.PublishedSince = vulnerability.published; -// return metricData; -// } - -// //Calculate Metric Score based on list of metricData for each Vulnerable Package and its vulnerabilities (not every Vulnerability of package) -// //this is done becuase using a different package will technically result in ALL vulnerabilities of the current package being resolved -// private double MakeMetricScore(List metricData) { -// return 0.0; -// } - -// //Nist Score using CVSS Version 3.1 Formula -// private double MakeNistScore(string vector) { -// //Do Nist Equations for CVSS_V3.1 (https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator) -// return 0.0; -// } - -// //Make string vector to element of Vector class -// private Vector MakeVector(string vectorString) { -// Vector vector = new Vector(); - -// Match attackVector = Regex.Match(vectorString, @"/AV:+\w{1}/"); -// switch (attackVector.Groups[0].Value) { -// case "/AV:N/": { -// vector.AttackVector = AttackVector.Network; -// break; -// } -// case "/AV:A/": { -// vector.AttackVector = AttackVector.Adjacent_Network; -// break; -// } -// case "/AV:L/": { -// vector.AttackVector = AttackVector.Local; -// break; -// } -// case "/AV:P/": { -// vector.AttackVector = AttackVector.Physial; -// break; -// } -// default: { -// vector.AttackVector = AttackVector.Not_Available; -// break; -// } -// } - -// Match attackComplexity = Regex.Match(vectorString, @"/AC:+\w{1}/"); -// switch (attackComplexity.Groups[0].Value) { -// case "/AC:L/": { -// vector.AttackComplexity = AttackComplexity.Low; -// break; -// } -// case "/AC:H/": { -// vector.AttackComplexity = AttackComplexity.High; -// break; -// } -// default: { -// vector.AttackComplexity = AttackComplexity.Not_Available; -// break; -// } -// } - -// Match privilegesRequired = Regex.Match(vectorString, @"/PR:+\w{1}/"); -// switch (privilegesRequired.Groups[0].Value) { -// case "/PR:N/": { -// vector.PrivilegesRequired = PrivilegesRequired.None; -// break; -// } -// case "/PR:L/": { -// vector.PrivilegesRequired = PrivilegesRequired.Low; -// break; -// } -// case "/PR:H/": { -// vector.PrivilegesRequired = PrivilegesRequired.High; -// break; -// } -// default: { -// vector.PrivilegesRequired = PrivilegesRequired.Not_Available; -// break; -// } -// } - -// Match userInteraction = Regex.Match(vectorString, @"/UI:+\w{1}/"); -// switch (userInteraction.Groups[0].Value) { -// case "/UI:N/": { -// vector.UserInteraction = UserInteraction.None; -// break; -// } -// case "/UI:R/": { -// vector.UserInteraction = UserInteraction.Required; -// break; -// } -// default: { -// vector.UserInteraction = UserInteraction.Not_Available; -// break; -// } -// } - -// Match scope = Regex.Match(vectorString, @"/S:+\w{1}/"); -// switch (scope.Groups[0].Value) { -// case "/S:U/": { -// vector.Scope = Scope.Unchanged; -// break; -// } -// case "/S:C/": { -// vector.Scope = Scope.Changed; -// break; -// } -// default: { -// vector.Scope = Scope.Not_Available; -// break; -// } -// } - -// Match confidentialityImpact = Regex.Match(vectorString, @"/C:+\w{1}/"); -// switch (confidentialityImpact.Groups[0].Value) { -// case "/C:N/": { -// vector.ConfidentialityImpact = BaseScoreMetric.None; -// break; -// } -// case "/C:L/": { -// vector.ConfidentialityImpact = BaseScoreMetric.Low; -// break; -// } -// case "/C:H/": { -// vector.ConfidentialityImpact = BaseScoreMetric.High; -// break; -// } -// default: { -// vector.ConfidentialityImpact = BaseScoreMetric.Not_Available; -// break; -// } -// } - -// Match integrityImpact = Regex.Match(vectorString, @"/I:+\w{1}/"); -// switch (integrityImpact.Groups[0].Value) { -// case "/I:N/": { -// vector.IntegrityImpact = BaseScoreMetric.None; -// break; -// } -// case "/I:L/": { -// vector.IntegrityImpact = BaseScoreMetric.Low; -// break; -// } -// case "/I:H/": { -// vector.IntegrityImpact = BaseScoreMetric.High; -// break; -// } -// default: { -// vector.IntegrityImpact = BaseScoreMetric.Not_Available; -// break; -// } -// } - -// Match availabilityImpact = Regex.Match(vectorString, @"/A:+\w{1}/"); -// switch (availabilityImpact.Groups[0].Value) { -// case "/A:N/": { -// vector.AvailabilityImpact = BaseScoreMetric.None; -// break; -// } -// case "/A:L/": { -// vector.AvailabilityImpact = BaseScoreMetric.Low; -// break; -// } -// case "/A:H/": { -// vector.AvailabilityImpact = BaseScoreMetric.High; -// break; -// } -// default: { -// vector.AvailabilityImpact = BaseScoreMetric.Not_Available; -// break; -// } -// } -// return vector; -// } - -// #endregion -// } - -//} +using Microsoft.AspNetCore.Mvc; +using Modells; +using Modells.DTO; +using Modells.OsvResult; +using Newtonsoft.Json; +using System.Diagnostics; +using System.Text.Json; +using F = System.IO.File; +using MP = Modells.Project; +using MPP = Modells.Packages.Package; + +namespace AmIVulnerable.Controllers { + + [Route("api/[controller]")] + [ApiController] + public class ReportsController : ControllerBase { + + #region Config + + private readonly static string CLI = "cmd"; + private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; + + private readonly IConfiguration Configuration; + public ReportsController(IConfiguration configuration) { + Configuration = configuration; + } + + #endregion + + #region Endpoints + + /// + /// Generate a SimpleReport for a list of Projects + /// + /// + /// + [HttpPost] + [Route("vulnerabilityTimeLine")] + public async Task VulnerabilityTimeLine([FromBody] List projectsDto) { + List projects = new List(); + foreach (ProjectDto projectDto in projectsDto) { + projects.Add(new MP(projectDto.ProjectUrl)); + } + List timeSeries = []; + foreach (MP project in projects) { + + // Clone + string cloneStatus = await project.MakeDependencyTreeCloneAsync(); + + Console.WriteLine(cloneStatus); + DateTime currentTagDateTime = GetTagDateTime(project.DirGuid); + + timeSeries.Add(MakeTimeSlice(project, currentTagDateTime, "release")); + + project.SetTags(); + + DateTime lastTagDateTime = currentTagDateTime.AddSeconds(-1); + foreach (string tag in project.Tags) { + + cloneStatus = project.MakeDependencyTreeCheckoutAsync(tag); + currentTagDateTime = GetTagDateTime(project.DirGuid); + timeSeries.Add(MakeTimeSlice(project, lastTagDateTime, tag)); + timeSeries.Add(MakeTimeSlice(project, currentTagDateTime, tag)); + + lastTagDateTime = currentTagDateTime.AddSeconds(-1); + } + F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "reportCache.json", JsonConvert.SerializeObject(timeSeries)); + } + return Ok(timeSeries); + } + + #endregion + + + /// + /// Starts a process that runs a command. + /// + /// Programm used for commands + /// Command used for programm + private void ExecuteCommand(string prog, string command, string dir) { + ProcessStartInfo process = new ProcessStartInfo { + FileName = CLI, + RedirectStandardInput = true, + WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, + }; + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"{prog} {command}"); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + } + + /// + /// + /// + /// + /// + private DateTime GetTagDateTime(string dir) { + ProcessStartInfo process = new ProcessStartInfo { + FileName = CLI, + RedirectStandardInput = true, + WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, + RedirectStandardOutput = true, + UseShellExecute = false, + }; + Process runProcess = Process.Start(process)!; + runProcess.StandardInput.WriteLine($"git log -1 --date=format:\"%Y-%m-%dT%T\" --format=\"%ad\""); + runProcess.StandardInput.WriteLine($"exit"); + runProcess.WaitForExit(); + + string stringTagDateTime = runProcess.StandardOutput.ReadToEnd(); + if (CLI.Equals("cmd")) { + int length = "0000-00-00T00:00:00".Length; + int startIndex = stringTagDateTime.LastIndexOf("--format=\"%ad\"") + "--format=\"%ad\"".Length; + stringTagDateTime = stringTagDateTime[(startIndex + 2)..(startIndex + length + 2)]; + } + + return DateTime.Parse(stringTagDateTime); + } + + #region work functions + + private TimeSlice MakeTimeSlice(MP project, DateTime timestamp, string tagName = "master") { + TimeSlice timeSlice = new TimeSlice(); + OsvResult osvResult = new OsvResult(); + osvResult = osvResult.OsvExtractVulnerabilities(project.DirGuid); + + timeSlice.TagName = tagName; + timeSlice.Timestamp = timestamp; + + string gitStatus = F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/status.txt"); + if (gitStatus.Contains("package-lock.json")) { + timeSlice.InstallSuccessful = true; + } + + timeSlice.CountDirectDependencies = project.Packages.Count; + + // Count all Vulnerabilities found in osv scan + int vulnerabilityCount = 0; + foreach (Packages osvPackage in osvResult.results[0].packages) { + vulnerabilityCount += osvPackage.vulnerabilities.Count; + } + timeSlice.CountTotalFoundVulnerabilities = vulnerabilityCount; + + if (project.ProjectType == MP.ProjectTypeEnum.npm) { + // Make list of all transitive dependencies + List allTransitiveDependencies = new List(); + foreach (MPP package in project.Packages) { + allTransitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); + } + timeSlice.CountTransitiveDependencies = allTransitiveDependencies.Count; + + timeSlice.CountUniqueTransitiveDependencies = GetUniquePackagesFromList(allTransitiveDependencies).Count; + + // Make list of direct vulnerabilities (Known and ToDate) + List allKnownDirectVulnerabilities = new List(); + List allToDateDirectVulnerabilities = new List(); + foreach (MPP package in project.Packages) { + foreach (Packages vulnerablePackage in osvResult.results[0].packages) { + if (package.Name == vulnerablePackage.package.name && package.Version == vulnerablePackage.package.version) { + allToDateDirectVulnerabilities.Add(package); + if (timestamp >= OldestPublishedVulnerabilityDateTime(vulnerablePackage.vulnerabilities)) { + allKnownDirectVulnerabilities.Add(package); + } + } + } + } + timeSlice.CountKnownDirectVulnerableDependencies = allKnownDirectVulnerabilities.Count; + timeSlice.CountToDateDirectVulnerableDependencies = allToDateDirectVulnerabilities.Count; + + // Use List of all transitive Packages from "CountTransitiveDependencies" + List allKnownTransitiveVulnerabilities = new List(); + List allToDateTransitiveVulnerabilities = new List(); + foreach (Packages vulnerablePackage in osvResult.results[0].packages) { + foreach (MPP package in allTransitiveDependencies) { + if (package.Name == vulnerablePackage.package.name && package.Version == vulnerablePackage.package.version) { + allToDateTransitiveVulnerabilities.Add(package); + if (timestamp >= OldestPublishedVulnerabilityDateTime(vulnerablePackage.vulnerabilities)) { + allKnownTransitiveVulnerabilities.Add(package); + } + } + } + } + timeSlice.CountKnownTransitiveVulnerableDependencies = allKnownTransitiveVulnerabilities.Count; + timeSlice.CountToDateTransitiveVulnerableDependencies = allToDateTransitiveVulnerabilities.Count; + + timeSlice.CountKnownUniqueTransitiveVulnerableDependencies = GetUniquePackagesFromList(allKnownTransitiveVulnerabilities).Count; + timeSlice.CountToDateUniqueTransitiveVulnerableDependencies = GetUniquePackagesFromList(allToDateTransitiveVulnerabilities).Count; + } + + return timeSlice; + } + + private MPP ExtractDependencyInfoNpm(JsonProperty dependency) { + MPP package = new MPP { + Name = dependency.Name + }; + if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && + versionElement.ValueKind == JsonValueKind.String) { + package.Version = versionElement.GetString() ?? ""; + } + if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && + subDependenciesElement.ValueKind == JsonValueKind.Object) { + foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { + MPP subPackage = ExtractDependencyInfoNpm(subDependency); + package.Dependencies.Add(subPackage); + } + } + return package; + } + + private List TransitiveDependencies(List packages) { + if (!packages.Any()) { + return []; + } + List transitiveDependencies = new List(); + + foreach (MPP package in packages) { + transitiveDependencies.Add(package); + transitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); + } + return transitiveDependencies; + } + + private DateTime OldestPublishedVulnerabilityDateTime(List vulnerabilities) { + DateTime oldestPublishedVulnerabilityDateTime = DateTime.Now; + foreach (Modells.OsvResult.Vulnerability vulnerability in vulnerabilities) { + if (vulnerability.published < oldestPublishedVulnerabilityDateTime) { + oldestPublishedVulnerabilityDateTime = vulnerability.published; + } + } + return oldestPublishedVulnerabilityDateTime; + } + private List GetUniquePackagesFromList(List packages) { + List uniquePackages = new List(); + foreach (MPP package in packages) { + if (!uniquePackages.Exists(pack => pack.Name.Equals(package.Name) && pack.Version.Equals(package.Version))) { + uniquePackages.Add(package); + } + } + return uniquePackages; + } + #endregion + } + +} diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index 568aff1..2bf8a43 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -96,7 +96,7 @@ public bool Checkout (string tag) { }; Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"git " + "stash"); + runProcess.StandardInput.WriteLine($"git " + "reset --hard"); runProcess.StandardInput.WriteLine($"git " + $"checkout {tag}"); runProcess.StandardInput.WriteLine($"exit"); runProcess.WaitForExit(); @@ -112,6 +112,7 @@ public bool Checkout (string tag) { public void SetTags() { ExecuteCommand("git", "tag > tags.txt", DirGuid); Tags = F.ReadAllLines(AppDomain.CurrentDomain.BaseDirectory + DirGuid + "/tags.txt").ToList(); + Tags.Reverse(); Console.WriteLine(Tags); } @@ -146,6 +147,7 @@ private static void RemoveReadOnlyAttribute(string path) { private void Install() { ExecuteCommand(CLI_RM, ".npmrc", DirGuid); ExecuteCommand("npm", "install", DirGuid); + ExecuteCommand("git ", "status > status.txt", DirGuid); ExecuteCommand("npm", "i --lockfile-version 3 --package-lock-only", DirGuid); return; } diff --git a/code/AmIVulnerable/Modells/TimeSlice.cs b/code/AmIVulnerable/Modells/TimeSlice.cs index 4606d67..2b492aa 100644 --- a/code/AmIVulnerable/Modells/TimeSlice.cs +++ b/code/AmIVulnerable/Modells/TimeSlice.cs @@ -11,12 +11,13 @@ public class TimeSlice { public int CountDirectDependencies { get; set; } public int CountTransitiveDependencies { get; set; } public int CountUniqueTransitiveDependencies { get; set; } - public int CountKnownDirectVulnerabilities { get; set; } - public int CountKnownTransitiveVulnerabilities { get; set; } - public int CountKnownUniqueTransitiveVulnerabilities { get; set; } - public int CountToDateDirectVulnerabilities { get; set; } - public int CountToDateTransitiveVulnerabilities { get; set; } - public int CountToDateUniqueTransitiveVulnerabilities { get; set; } + public int CountKnownDirectVulnerableDependencies { get; set; } + public int CountKnownTransitiveVulnerableDependencies { get; set; } + public int CountKnownUniqueTransitiveVulnerableDependencies { get; set; } + public int CountToDateDirectVulnerableDependencies { get; set; } + public int CountToDateTransitiveVulnerableDependencies { get; set; } + public int CountToDateUniqueTransitiveVulnerableDependencies { get; set; } public int CountTotalFoundVulnerabilities { get; set; } + public bool InstallSuccessful { get; set; } = false; } } diff --git a/code/AmIVulnerable/Modells/Yarn/YarnTree.cs b/code/AmIVulnerable/Modells/Yarn/YarnTree.cs deleted file mode 100644 index c489f62..0000000 --- a/code/AmIVulnerable/Modells/Yarn/YarnTree.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Newtonsoft.Json; -using System.Text.Json.Serialization; - -namespace Modells.Yarn { - internal class YarnTree { - [JsonProperty("type")] - [JsonPropertyName("type")] - public string type { get; set; } - - [JsonProperty("data")] - [JsonPropertyName("data")] - public Data data { get; set; } - } - - public class Child { - [JsonProperty("name")] - [JsonPropertyName("name")] - public string name { get; set; } - public string version { get; set; } = string.Empty; - - [JsonProperty("color")] - [JsonPropertyName("color")] - public string color { get; set; } - - [JsonProperty("shadow")] - [JsonPropertyName("shadow")] - public bool shadow { get; set; } - - [JsonProperty("children")] - [JsonPropertyName("children")] - public List children { get; set; } - - [JsonProperty("hint")] - [JsonPropertyName("hint")] - public object hint { get; set; } - - [JsonProperty("depth")] - [JsonPropertyName("depth")] - public int? depth { get; set; } - } - - public class Data { - [JsonProperty("type")] - [JsonPropertyName("type")] - public string type { get; set; } - - [JsonProperty("trees")] - [JsonPropertyName("trees")] - public List children { get; set; } - } -} From 49538e1379634fc235fc12ebfc20181cc842c3ad Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Sun, 15 Sep 2024 19:37:16 +0200 Subject: [PATCH 28/45] report fixed, now supports maven projects. cannot analyse private dependencies --- .../Controllers/ReportsController.cs | 45 +++++++++++-------- .../Modells/OsvResult/OsvResult.cs | 1 - code/AmIVulnerable/Modells/Project.cs | 2 +- code/AmIVulnerable/Modells/TimeSlice.cs | 9 +--- 4 files changed, 30 insertions(+), 27 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index afd8918..cddc5c8 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -30,9 +30,9 @@ public ReportsController(IConfiguration configuration) { #region Endpoints /// - /// Generate a SimpleReport for a list of Projects + /// Generate TimeLine of project vulnerabilties /// - /// + /// /// [HttpPost] [Route("vulnerabilityTimeLine")] @@ -63,15 +63,14 @@ public async Task VulnerabilityTimeLine([FromBody] List /// Starts a process that runs a command. /// @@ -127,30 +126,29 @@ private TimeSlice MakeTimeSlice(MP project, DateTime timestamp, string tagName = timeSlice.TagName = tagName; timeSlice.Timestamp = timestamp; - string gitStatus = F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/status.txt"); - if (gitStatus.Contains("package-lock.json")) { - timeSlice.InstallSuccessful = true; - } + timeSlice.ProjectEcosystem = project.ProjectType; timeSlice.CountDirectDependencies = project.Packages.Count; // Count all Vulnerabilities found in osv scan int vulnerabilityCount = 0; - foreach (Packages osvPackage in osvResult.results[0].packages) { - vulnerabilityCount += osvPackage.vulnerabilities.Count; + if (osvResult.results.Count() != 0) { + foreach (Packages osvPackage in osvResult.results[0].packages) { + vulnerabilityCount += osvPackage.vulnerabilities.Count; + } } timeSlice.CountTotalFoundVulnerabilities = vulnerabilityCount; - if (project.ProjectType == MP.ProjectTypeEnum.npm) { - // Make list of all transitive dependencies - List allTransitiveDependencies = new List(); - foreach (MPP package in project.Packages) { - allTransitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); - } - timeSlice.CountTransitiveDependencies = allTransitiveDependencies.Count; + // Make list of all transitive dependencies + List allTransitiveDependencies = new List(); + foreach (MPP package in project.Packages) { + allTransitiveDependencies.AddRange(TransitiveDependencies(package.Dependencies)); + } + timeSlice.CountTransitiveDependencies = allTransitiveDependencies.Count; - timeSlice.CountUniqueTransitiveDependencies = GetUniquePackagesFromList(allTransitiveDependencies).Count; + timeSlice.CountUniqueTransitiveDependencies = GetUniquePackagesFromList(allTransitiveDependencies).Count; + if(timeSlice.CountTotalFoundVulnerabilities > 0) { // Make list of direct vulnerabilities (Known and ToDate) List allKnownDirectVulnerabilities = new List(); List allToDateDirectVulnerabilities = new List(); @@ -166,7 +164,13 @@ private TimeSlice MakeTimeSlice(MP project, DateTime timestamp, string tagName = } timeSlice.CountKnownDirectVulnerableDependencies = allKnownDirectVulnerabilities.Count; timeSlice.CountToDateDirectVulnerableDependencies = allToDateDirectVulnerabilities.Count; + } else { + + timeSlice.CountKnownDirectVulnerableDependencies = 0; + timeSlice.CountToDateDirectVulnerableDependencies = 0; + } + if(timeSlice.CountTotalFoundVulnerabilities > 0) { // Use List of all transitive Packages from "CountTransitiveDependencies" List allKnownTransitiveVulnerabilities = new List(); List allToDateTransitiveVulnerabilities = new List(); @@ -185,6 +189,11 @@ private TimeSlice MakeTimeSlice(MP project, DateTime timestamp, string tagName = timeSlice.CountKnownUniqueTransitiveVulnerableDependencies = GetUniquePackagesFromList(allKnownTransitiveVulnerabilities).Count; timeSlice.CountToDateUniqueTransitiveVulnerableDependencies = GetUniquePackagesFromList(allToDateTransitiveVulnerabilities).Count; + } else { + timeSlice.CountKnownTransitiveVulnerableDependencies = 0; + timeSlice.CountToDateTransitiveVulnerableDependencies = 0; + timeSlice.CountKnownUniqueTransitiveVulnerableDependencies = 0; + timeSlice.CountToDateUniqueTransitiveVulnerableDependencies = 0; } return timeSlice; diff --git a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs index c49fca8..e6e6c21 100644 --- a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs +++ b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs @@ -1,6 +1,5 @@ using Newtonsoft.Json; using System.Diagnostics; -using System.Net.Http.Headers; using System.Text.Json.Serialization; using F = System.IO.File; diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index 2bf8a43..9b8c578 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -1,4 +1,5 @@ using System.Diagnostics; +using System.Runtime.Intrinsics; using System.Text.Json; using System.Text.Json.Serialization; using Modells.Packages; @@ -113,7 +114,6 @@ public void SetTags() { ExecuteCommand("git", "tag > tags.txt", DirGuid); Tags = F.ReadAllLines(AppDomain.CurrentDomain.BaseDirectory + DirGuid + "/tags.txt").ToList(); Tags.Reverse(); - Console.WriteLine(Tags); } private async Task Clone() { diff --git a/code/AmIVulnerable/Modells/TimeSlice.cs b/code/AmIVulnerable/Modells/TimeSlice.cs index 2b492aa..c3e6f7d 100644 --- a/code/AmIVulnerable/Modells/TimeSlice.cs +++ b/code/AmIVulnerable/Modells/TimeSlice.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - +using MP = Modells.Project; namespace Modells { public class TimeSlice { public string TagName { get; set; } = "No tag or latest!"; @@ -18,6 +13,6 @@ public class TimeSlice { public int CountToDateTransitiveVulnerableDependencies { get; set; } public int CountToDateUniqueTransitiveVulnerableDependencies { get; set; } public int CountTotalFoundVulnerabilities { get; set; } - public bool InstallSuccessful { get; set; } = false; + public MP.ProjectTypeEnum ProjectEcosystem { get; set; } } } From 4c81d411cba3e4f6706b5628a574ec6a95e193d2 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Mon, 16 Sep 2024 18:18:43 +0200 Subject: [PATCH 29/45] custom osv-scanner.json for maven to better scan private repos --- .../Controllers/MetricController.cs | 4 +- .../Controllers/ReportsController.cs | 2 +- code/AmIVulnerable/Modells/CustomOsvLock.cs | 31 +++++++++++++++ .../Modells/OsvResult/OsvResult.cs | 39 +++++++++++++++++-- code/AmIVulnerable/Modells/Project.cs | 13 +++---- 5 files changed, 75 insertions(+), 14 deletions(-) create mode 100644 code/AmIVulnerable/Modells/CustomOsvLock.cs diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index 402548d..7cd9f1c 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -105,7 +105,7 @@ public IActionResult Vulnerablilty([FromBody] List projectsDto) { /// private MP.Tag MakeDependencyResultEntry(MP project, string tagName) { OsvResult osvResult = new OsvResult(); - osvResult = osvResult.OsvExtractVulnerabilities(project.DirGuid); + osvResult = osvResult.OsvExtractVulnerabilities(project); MP.Tag tagWithEntries = new MP.Tag(); tagWithEntries.TagName = tagName; if (osvResult.results.Count == 0) { @@ -133,7 +133,7 @@ private MP.Tag MakeDependencyResultEntry(MP project, string tagName) { private MP.Tag MakeVulnerabilityResultEntry(MP project, string tagName) { OsvResult osvResult = new OsvResult(); - osvResult = osvResult.OsvExtractVulnerabilities(project.DirGuid); + osvResult = osvResult.OsvExtractVulnerabilities(project); MP.Tag tagWithEntries = new MP.Tag(); tagWithEntries.TagName = tagName; if (osvResult.results.Count == 0) { diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index cddc5c8..e10d77d 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -121,7 +121,7 @@ private DateTime GetTagDateTime(string dir) { private TimeSlice MakeTimeSlice(MP project, DateTime timestamp, string tagName = "master") { TimeSlice timeSlice = new TimeSlice(); OsvResult osvResult = new OsvResult(); - osvResult = osvResult.OsvExtractVulnerabilities(project.DirGuid); + osvResult = osvResult.OsvExtractVulnerabilities(project); timeSlice.TagName = tagName; timeSlice.Timestamp = timestamp; diff --git a/code/AmIVulnerable/Modells/CustomOsvLock.cs b/code/AmIVulnerable/Modells/CustomOsvLock.cs new file mode 100644 index 0000000..66e863b --- /dev/null +++ b/code/AmIVulnerable/Modells/CustomOsvLock.cs @@ -0,0 +1,31 @@ +namespace Modells { + public class CustomOsvLock { + public List results = []; + } + public class CustomResult { + public List packages = []; + public CustomResult(List _packages) { + List customPackageWrappers = new List(); + foreach(CustomPackage _package in _packages) { + customPackageWrappers.Add(new CustomPackageWrapper(_package)); + } + packages = customPackageWrappers; + } + } + public class CustomPackageWrapper { + public CustomPackageWrapper(CustomPackage _package) { + package = _package; + } + public CustomPackage package; + } + public class CustomPackage { + public CustomPackage(string _name, string _version, string _ecosystem) { + name = _name; + version = _version; + ecosystem = _ecosystem; + } + public string name { get; set; } + public string version { get; set; } + public string ecosystem { get; set; } + } +} diff --git a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs index e6e6c21..66d133b 100644 --- a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs +++ b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs @@ -1,7 +1,10 @@ -using Newtonsoft.Json; +using Modells.DTO; +using Modells.Packages; +using Newtonsoft.Json; using System.Diagnostics; using System.Text.Json.Serialization; using F = System.IO.File; +using MPP = Modells.Packages.Package; namespace Modells.OsvResult { public class OsvResult { @@ -15,9 +18,37 @@ public class OsvResult { private readonly static string CLI = "cmd"; - public OsvResult OsvExtractVulnerabilities(string dir) { - ExecuteCommand("osv-scanner", " --format json . > osv.json", dir); - return JsonConvert.DeserializeObject(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + dir + "/osv.json")) ?? new OsvResult(); + public OsvResult OsvExtractVulnerabilities(Project project) { + if(project.ProjectType == Project.ProjectTypeEnum.npm) { + ExecuteCommand("osv-scanner", " --format json . > osv.json", project.DirGuid); + } + else { + MakeCustomOsvLock(project); + } + return JsonConvert.DeserializeObject(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/osv.json")) ?? new OsvResult(); + } + private void MakeCustomOsvLock(Project project) { + List packages = GetAllPackages(project.Packages); + List customPackages = new List(); + foreach (MPP package in packages) { + //Maven is sadly hardcoded rn + customPackages.Add(new CustomPackage(package.Name, package.Version, "Maven")); + } + CustomOsvLock customOsvLock = new CustomOsvLock(); + customOsvLock.results.Add(new CustomResult(customPackages)); + F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/custom-osv-scanner.json", JsonConvert.SerializeObject(customOsvLock)); + Console.WriteLine("Made custom lockfile"); + ExecuteCommand("osv-scanner", " --format json --lockfile osv-scanner:custom-osv-scanner.json > osv.json", project.DirGuid); + } + private List GetAllPackages(List packages) { + List packagesResult = new List(); + foreach (MPP package in packages) { + packagesResult.Add(package); + if (package.Dependencies != null) { + packagesResult.AddRange(GetAllPackages(package.Dependencies)); + } + } + return packagesResult; } private void ExecuteCommand(string prog, string command, string dir) { ProcessStartInfo process = new ProcessStartInfo { diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index 9b8c578..9178050 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -1,9 +1,8 @@ using System.Diagnostics; -using System.Runtime.Intrinsics; using System.Text.Json; using System.Text.Json.Serialization; -using Modells.Packages; using F = System.IO.File; +using Modells.Packages; namespace Modells { public class Project { @@ -41,7 +40,7 @@ public Rootdependency(string name, List vulnerabilities) { } public enum ProjectTypeEnum { - maven = 0, + Maven = 0, npm = 1, } @@ -58,7 +57,7 @@ public async Task MakeDependencyTreeCloneAsync() { } // If is Maven Project if (F.Exists(AppDomain.CurrentDomain.BaseDirectory + DirGuid + "/pom.xml")) { - ProjectType = ProjectTypeEnum.maven; + ProjectType = ProjectTypeEnum.Maven; } @@ -183,7 +182,7 @@ private string MakeTree(string dirGuid) { return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; } // If is Maven Project - if(ProjectType == ProjectTypeEnum.maven) { + if(ProjectType == ProjectTypeEnum.Maven) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); ExecuteCommand("mvn", "org.apache.maven.plugins:maven-dependency-plugin:3.8.0:tree -DoutputFile=tree.json -DoutputType=json", dirGuid); return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; @@ -209,7 +208,7 @@ private List ExtractTree(string filePath) { } } } - if(ProjectType == ProjectTypeEnum.maven) { + if(ProjectType == ProjectTypeEnum.Maven) { if (jsonDocument.RootElement.TryGetProperty("children", out JsonElement dependenciesElement) && dependenciesElement.ValueKind == JsonValueKind.Array) { foreach (JsonElement dependency in dependenciesElement.EnumerateArray()) { @@ -249,7 +248,7 @@ private Package ExtractDependencyInfoFromProperty(JsonProperty dependencyPropert private Package ExtractDependencyInfoFromElement(JsonElement dependencyElement) { Package package = new Package(); - if (ProjectType == ProjectTypeEnum.maven) { + if (ProjectType == ProjectTypeEnum.Maven) { package.Name = dependencyElement.GetProperty("groupId").ToString() + ":" + dependencyElement.GetProperty("artifactId").ToString(); if (dependencyElement.TryGetProperty("version", out JsonElement version) && version.ValueKind == JsonValueKind.String) { package.Version = version.ToString(); From 895c5f3f96adee70c1519f778140f0f227367d75 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Mon, 16 Sep 2024 22:02:26 +0200 Subject: [PATCH 30/45] added custom osv support --- .../AmIVulnerable/Controllers/ReportsController.cs | 13 +++++++++---- code/AmIVulnerable/Modells/Project.cs | 8 ++++++++ code/AmIVulnerable/Modells/TimeSlice.cs | 2 ++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index e10d77d..de45e5b 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -50,7 +50,9 @@ public async Task VulnerabilityTimeLine([FromBody] List VulnerabilityTimeLine([FromBody] List + /// Deletes Project folder + /// + public void Delete() { + RemoveReadOnlyAttribute(AppDomain.CurrentDomain.BaseDirectory + DirGuid); + Directory.Delete(AppDomain.CurrentDomain.BaseDirectory + DirGuid, true); + } + private async Task Clone() { if (ProjectUrl is null) { this.DirGuid = "Err"; diff --git a/code/AmIVulnerable/Modells/TimeSlice.cs b/code/AmIVulnerable/Modells/TimeSlice.cs index c3e6f7d..837f43a 100644 --- a/code/AmIVulnerable/Modells/TimeSlice.cs +++ b/code/AmIVulnerable/Modells/TimeSlice.cs @@ -1,4 +1,5 @@ using MP = Modells.Project; +using System.Text.Json.Serialization; namespace Modells { public class TimeSlice { public string TagName { get; set; } = "No tag or latest!"; @@ -13,6 +14,7 @@ public class TimeSlice { public int CountToDateTransitiveVulnerableDependencies { get; set; } public int CountToDateUniqueTransitiveVulnerableDependencies { get; set; } public int CountTotalFoundVulnerabilities { get; set; } + [JsonIgnore] public MP.ProjectTypeEnum ProjectEcosystem { get; set; } } } From d3ca8b30ec5a42bf1a42d5f5079bee7522c1becd Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Mon, 30 Sep 2024 18:37:02 +0200 Subject: [PATCH 31/45] new version for linear timeline analysis --- .../Controllers/ReportsController.cs | 22 ++++++++++++++++++- .../Modells/OsvResult/OsvResult.cs | 4 ++-- code/AmIVulnerable/Modells/Project.cs | 5 +++-- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index de45e5b..af51264 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -68,8 +68,9 @@ public async Task VulnerabilityTimeLine([FromBody] List osv.json", project.DirGuid); + ExecuteCommand("osv-scanner", " --no-ignore --format json . > osv.json", project.DirGuid); } else { MakeCustomOsvLock(project); @@ -38,7 +38,7 @@ private void MakeCustomOsvLock(Project project) { customOsvLock.results.Add(new CustomResult(customPackages)); F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/custom-osv-scanner.json", JsonConvert.SerializeObject(customOsvLock)); Console.WriteLine("Made custom lockfile"); - ExecuteCommand("osv-scanner", " --format json --lockfile osv-scanner:custom-osv-scanner.json > osv.json", project.DirGuid); + ExecuteCommand("osv-scanner", " --no-ignore --format json --lockfile osv-scanner:custom-osv-scanner.json > osv.json", project.DirGuid); } private List GetAllPackages(List packages) { List packagesResult = new List(); diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index 747b5fe..3de2f18 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -110,9 +110,10 @@ public bool Checkout (string tag) { } public void SetTags() { - ExecuteCommand("git", "tag > tags.txt", DirGuid); + ExecuteCommand("git", "for-each-ref --sort=creatordate --format %(refname:short) refs/tags > tags.txt", DirGuid); Tags = F.ReadAllLines(AppDomain.CurrentDomain.BaseDirectory + DirGuid + "/tags.txt").ToList(); Tags.Reverse(); + Console.WriteLine(Tags); } /// @@ -186,7 +187,7 @@ private string MakeTree(string dirGuid) { // If is npm project if(ProjectType == ProjectTypeEnum.npm) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("npm", "list --all --json > tree.json", dirGuid); + ExecuteCommand("npm", "list --all --omit=dev --json > tree.json", dirGuid); return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; } // If is Maven Project From 4ef97499e924702eb2c8ea2c8a3a8a6bf9c10bfe Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Tue, 1 Oct 2024 15:25:04 +0200 Subject: [PATCH 32/45] changes --- .../AmIVulnerable/Controllers/ReportsController.cs | 6 +++++- code/AmIVulnerable/Modells/Project.cs | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs index af51264..ad6d649 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ReportsController.cs @@ -221,7 +221,11 @@ private static void RemoveReadOnlyAttribute(string path) { } foreach (DirectoryInfo subDirectory in directoryInfo.GetDirectories()) { - RemoveReadOnlyAttribute(subDirectory.FullName); + try { + RemoveReadOnlyAttribute(subDirectory.FullName); + } catch { + return; + } } } private MPP ExtractDependencyInfoNpm(JsonProperty dependency) { diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index 3de2f18..b2ffe27 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -193,7 +193,7 @@ private string MakeTree(string dirGuid) { // If is Maven Project if(ProjectType == ProjectTypeEnum.Maven) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("mvn", "org.apache.maven.plugins:maven-dependency-plugin:3.8.0:tree -DoutputFile=tree.json -DoutputType=json", dirGuid); + ExecuteCommand("mvn", "org.apache.maven.plugins:maven-dependency-plugin:3.8.0:tree -DoutputFile=tree.json -DoutputType=json -Dscope=\"compile provided runtime system import\"", dirGuid); return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; } return "NO_VALID_PROJECT"; From 1cfb70e2e0f6416751b6edbcf36dfa91fc759017 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Sat, 5 Oct 2024 16:01:47 +0200 Subject: [PATCH 33/45] vuln metric update --- .../Controllers/MetricController.cs | 55 ++++++++++++++++--- 1 file changed, 46 insertions(+), 9 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index 7cd9f1c..7a18236 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -10,6 +10,8 @@ using F = System.IO.File; using Modells.DTO; using Newtonsoft.Json; +using System.Security.Cryptography.X509Certificates; +using Modells.Packages; namespace AmIVulnerable.Controllers { @@ -96,8 +98,47 @@ public IActionResult Vulnerablilty([FromBody] List projectsDto) { } return Ok(projects); } + + [HttpPost] + [Route("directDependency")] + public IActionResult DirectDependecyMetric([FromBody] List projectsDto) { + List projects = new List(); + foreach (ProjectDto projectDto in projectsDto) { + projects.Add(new MP(projectDto.ProjectUrl)); + } + List directVulnerableDependencyMetrics = new List(); + foreach (MP project in projects) { + Console.WriteLine("Now analysing: " + project.ProjectUrl); + if (project.MakeDependencyTreeCloneAsync().Result == "FAILED") { + Console.WriteLine("Could not clone or install project"); + directVulnerableDependencyMetrics.AddRange(GetPackageMetrics(project)); + continue; + } + } + return Ok(); + } #endregion + private List GetPackageMetrics(MP project) { + List packageMetrics = new List(); + OsvResult osvResult = new OsvResult(); + osvResult = osvResult.OsvExtractVulnerabilities(project); + if (osvResult.results.Count == 0) { + return []; + } + foreach (PP directDependency in project.Packages) { + packageMetrics.Add(MakePackageMetric(directDependency, osvResult)); + } + return packageMetrics; + } + + private PackageMetric MakePackageMetric(PP dependency, OsvResult osvResult) { + PackageMetric packageMetric = new PackageMetric(); + packageMetric.version = dependency.Version; + packageMetric.name = dependency.Name; + return packageMetric; + } + /// /// /// @@ -164,26 +205,22 @@ private List GetVulnerablePackages(List osvPackages, List proj List vulnerablePackages = new List(); foreach(Packages osvPackage in osvPackages) { foreach(PP package in projectPackages) { - PP vulnerablePackage = FindVulnerablePackage(osvPackage, package); - if (vulnerablePackage.Name != "" && vulnerablePackage.Version != "") { - vulnerablePackages.Add(vulnerablePackage); - } + vulnerablePackages.AddRange(FindVulnerablePackages(osvPackage, package)); } } return vulnerablePackages; } - private PP FindVulnerablePackage(Packages osvPackage, PP package) { - PP result = new PP(); - //If current package is vulnerable + private List FindVulnerablePackages(Packages osvPackage, PP package) { + List result = new List(); if (package.Name == osvPackage.package.name && package.Version == osvPackage.package.version) { - return package; + result.Add(package); //Search deeper } else { foreach(PP dependency in package.Dependencies) { - result = FindVulnerablePackage(osvPackage, dependency); + result.AddRange(FindVulnerablePackages(osvPackage, dependency)); } } return result; From b1e2e40d9ffbeedf632e3400854c9eb128d507db Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Sat, 5 Oct 2024 17:51:41 +0200 Subject: [PATCH 34/45] package metric --- code/AmIVulnerable/Modells/Packages/PackageMetric.cs | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 code/AmIVulnerable/Modells/Packages/PackageMetric.cs diff --git a/code/AmIVulnerable/Modells/Packages/PackageMetric.cs b/code/AmIVulnerable/Modells/Packages/PackageMetric.cs new file mode 100644 index 0000000..526c260 --- /dev/null +++ b/code/AmIVulnerable/Modells/Packages/PackageMetric.cs @@ -0,0 +1,7 @@ +namespace Modells.Packages { + public class PackageMetric { + public string name { get; set; } = ""; + public string version { get; set; } = ""; + public double calculatedSeverity { get; set; } = -1; + } +} From 8950ed6a76607125c1385c69887ce3c5bda53122 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Fri, 11 Oct 2024 00:48:35 +0200 Subject: [PATCH 35/45] Changed scope of maven repos to compile and runtime --- code/AmIVulnerable/Modells/Project.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index b2ffe27..9056fd6 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -193,7 +193,7 @@ private string MakeTree(string dirGuid) { // If is Maven Project if(ProjectType == ProjectTypeEnum.Maven) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("mvn", "org.apache.maven.plugins:maven-dependency-plugin:3.8.0:tree -DoutputFile=tree.json -DoutputType=json -Dscope=\"compile provided runtime system import\"", dirGuid); + ExecuteCommand("mvn", "org.apache.maven.plugins:maven-dependency-plugin:3.8.0:tree -DoutputFile=tree.json -DoutputType=json -Dscope=\"compile runtime\"", dirGuid); return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; } return "NO_VALID_PROJECT"; From 0cd9df737b034b5318a2374bea9c6e545aa862c4 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Fri, 11 Oct 2024 10:03:44 +0200 Subject: [PATCH 36/45] only runtime scope for maven projects --- code/AmIVulnerable/Modells/Project.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index 9056fd6..f90e764 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -193,7 +193,8 @@ private string MakeTree(string dirGuid) { // If is Maven Project if(ProjectType == ProjectTypeEnum.Maven) { ExecuteCommand(CLI_RM, "tree.json", dirGuid); - ExecuteCommand("mvn", "org.apache.maven.plugins:maven-dependency-plugin:3.8.0:tree -DoutputFile=tree.json -DoutputType=json -Dscope=\"compile runtime\"", dirGuid); + string outputPath = AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; + ExecuteCommand("mvn", $"org.apache.maven.plugins:maven-dependency-plugin:3.8.0:tree -DoutputFile={outputPath} -DoutputType=json -Dscope=runtime", dirGuid); return AppDomain.CurrentDomain.BaseDirectory + dirGuid + "/tree.json"; } return "NO_VALID_PROJECT"; From 766c8459ff6f84b05ae594c2d4f80ea0309ef0d9 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Sun, 13 Oct 2024 18:49:29 +0200 Subject: [PATCH 37/45] changes --- code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index 7a18236..283ee80 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -10,7 +10,6 @@ using F = System.IO.File; using Modells.DTO; using Newtonsoft.Json; -using System.Security.Cryptography.X509Certificates; using Modells.Packages; namespace AmIVulnerable.Controllers { From 84bfaf365948361ab2d98408814a1696f0b27b85 Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Tue, 15 Oct 2024 17:57:23 +0200 Subject: [PATCH 38/45] new local caches --- .../Controllers/MetricController.cs | 28 ++++++++++++++++++- .../Modells/OsvResult/OsvResult.cs | 12 ++++++-- code/AmIVulnerable/Modells/Project.cs | 8 +++--- 3 files changed, 40 insertions(+), 8 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index 283ee80..0e639e4 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -61,7 +61,8 @@ public IActionResult Dependency([FromBody] List projectsDto) { } project.Results.Add(MakeDependencyResultEntry(project, tag)); } - F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "cache.json", JsonConvert.SerializeObject(projects)); + DeleteLocalFiles(project); + F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "/dependencyCache.json", JsonConvert.SerializeObject(projects)); } //Return list of enriched projects return Ok(projects); @@ -94,6 +95,8 @@ public IActionResult Vulnerablilty([FromBody] List projectsDto) { } project.Results.Add(MakeVulnerabilityResultEntry(project, tag)); } + DeleteLocalFiles(project); + F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + "/vulnerabilityCache.json", JsonConvert.SerializeObject(projects)); } return Ok(projects); } @@ -131,6 +134,29 @@ private List GetPackageMetrics(MP project) { return packageMetrics; } + private void DeleteLocalFiles(MP project) { + RemoveReadOnlyAttribute(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid); + F.Delete(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/osv.json"); + F.Delete(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/tree.json"); + F.Delete(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/tags.txt"); + F.Delete(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/status.txt"); + } + private static void RemoveReadOnlyAttribute(string path) { + DirectoryInfo directoryInfo = new DirectoryInfo(path); + + foreach (FileInfo file in directoryInfo.GetFiles()) { + file.Attributes &= ~FileAttributes.ReadOnly; + } + + foreach (DirectoryInfo subDirectory in directoryInfo.GetDirectories()) { + try { + RemoveReadOnlyAttribute(subDirectory.FullName); + } + catch { + return; + } + } + } private PackageMetric MakePackageMetric(PP dependency, OsvResult osvResult) { PackageMetric packageMetric = new PackageMetric(); packageMetric.version = dependency.Version; diff --git a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs index 6bf959a..8a71e8d 100644 --- a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs +++ b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs @@ -10,7 +10,7 @@ namespace Modells.OsvResult { public class OsvResult { [JsonProperty("results")] [JsonPropertyName("results")] - public List results { get; set; } + public List results { get; set; } = []; [JsonProperty("experimental_config")] [JsonPropertyName("experimental_config")] @@ -23,13 +23,18 @@ public OsvResult OsvExtractVulnerabilities(Project project) { ExecuteCommand("osv-scanner", " --no-ignore --format json . > osv.json", project.DirGuid); } else { - MakeCustomOsvLock(project); + if(!MakeCustomOsvLock(project)) { + return new OsvResult(); + } } return JsonConvert.DeserializeObject(F.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/osv.json")) ?? new OsvResult(); } - private void MakeCustomOsvLock(Project project) { + private bool MakeCustomOsvLock(Project project) { List packages = GetAllPackages(project.Packages); List customPackages = new List(); + if(packages.Count() == 0) { + return false; + } foreach (MPP package in packages) { //Maven is sadly hardcoded rn customPackages.Add(new CustomPackage(package.Name, package.Version, "Maven")); @@ -39,6 +44,7 @@ private void MakeCustomOsvLock(Project project) { F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/custom-osv-scanner.json", JsonConvert.SerializeObject(customOsvLock)); Console.WriteLine("Made custom lockfile"); ExecuteCommand("osv-scanner", " --no-ignore --format json --lockfile osv-scanner:custom-osv-scanner.json > osv.json", project.DirGuid); + return true; } private List GetAllPackages(List packages) { List packagesResult = new List(); diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index f90e764..4f1bfbf 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -8,14 +8,14 @@ namespace Modells { public class Project { public string ProjectUrl { get; set; } = ""; public List Results { get; set; } = []; - [JsonIgnore] + [JsonIgnore, Newtonsoft.Json.JsonIgnore] public List Tags { get; set; } = []; - [JsonIgnore] + [JsonIgnore, Newtonsoft.Json.JsonIgnore] public List Packages { get; set; } = []; - [JsonIgnore] + [JsonIgnore, Newtonsoft.Json.JsonIgnore] public string DirGuid { get; set; } = ""; - [JsonIgnore] + [JsonIgnore, Newtonsoft.Json.JsonIgnore] public ProjectTypeEnum ProjectType { get; set; } private readonly static string CLI = "cmd"; private readonly string CLI_RM = CLI == "cmd" ? "del" : "rm"; From d49c5a29b134a6d25845f758beacfbf3de26ada2 Mon Sep 17 00:00:00 2001 From: blechsko Date: Mon, 21 Oct 2024 13:57:36 +0200 Subject: [PATCH 39/45] new VulnerabilityMetric --- .../Controllers/MetricController.cs | 44 +++++++++---------- .../Modells/Packages/PackageMetric.cs | 7 --- code/AmIVulnerable/Modells/Project.cs | 1 + .../Modells/ProjectMetricResult.cs | 7 --- 4 files changed, 23 insertions(+), 36 deletions(-) delete mode 100644 code/AmIVulnerable/Modells/Packages/PackageMetric.cs diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index 283ee80..6c90dd9 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -99,18 +99,18 @@ public IActionResult Vulnerablilty([FromBody] List projectsDto) { } [HttpPost] - [Route("directDependency")] + [Route("management/vulnerabilities")] public IActionResult DirectDependecyMetric([FromBody] List projectsDto) { List projects = new List(); foreach (ProjectDto projectDto in projectsDto) { projects.Add(new MP(projectDto.ProjectUrl)); } - List directVulnerableDependencyMetrics = new List(); + List directVulnerableDependencyMetrics = new List(); foreach (MP project in projects) { Console.WriteLine("Now analysing: " + project.ProjectUrl); if (project.MakeDependencyTreeCloneAsync().Result == "FAILED") { Console.WriteLine("Could not clone or install project"); - directVulnerableDependencyMetrics.AddRange(GetPackageMetrics(project)); + //directVulnerableDependencyMetrics.AddRange(GetPackageMetrics(project)); continue; } } @@ -118,25 +118,25 @@ public IActionResult DirectDependecyMetric([FromBody] List projectsD } #endregion - private List GetPackageMetrics(MP project) { - List packageMetrics = new List(); - OsvResult osvResult = new OsvResult(); - osvResult = osvResult.OsvExtractVulnerabilities(project); - if (osvResult.results.Count == 0) { - return []; - } - foreach (PP directDependency in project.Packages) { - packageMetrics.Add(MakePackageMetric(directDependency, osvResult)); - } - return packageMetrics; - } - - private PackageMetric MakePackageMetric(PP dependency, OsvResult osvResult) { - PackageMetric packageMetric = new PackageMetric(); - packageMetric.version = dependency.Version; - packageMetric.name = dependency.Name; - return packageMetric; - } + //private List GetPackageMetrics(MP project) { + // List packageMetrics = new List(); + // OsvResult osvResult = new OsvResult(); + // osvResult = osvResult.OsvExtractVulnerabilities(project); + // if (osvResult.results.Count == 0) { + // return []; + // } + // foreach (PP directDependency in project.Packages) { + // packageMetrics.Add(MakePackageMetric(directDependency, osvResult)); + // } + // return packageMetrics; + //} + + //private Modells.Packages.VulnerabilityMetric MakePackageMetric(PP dependency, OsvResult osvResult) { + // Modells.Packages.VulnerabilityMetric packageMetric = new Modells.Packages.VulnerabilityMetric(); + // packageMetric.version = dependency.Version; + // packageMetric.name = dependency.Name; + // return packageMetric; + //} /// /// diff --git a/code/AmIVulnerable/Modells/Packages/PackageMetric.cs b/code/AmIVulnerable/Modells/Packages/PackageMetric.cs deleted file mode 100644 index 526c260..0000000 --- a/code/AmIVulnerable/Modells/Packages/PackageMetric.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Modells.Packages { - public class PackageMetric { - public string name { get; set; } = ""; - public string version { get; set; } = ""; - public double calculatedSeverity { get; set; } = -1; - } -} diff --git a/code/AmIVulnerable/Modells/Project.cs b/code/AmIVulnerable/Modells/Project.cs index f90e764..2ac8b3b 100644 --- a/code/AmIVulnerable/Modells/Project.cs +++ b/code/AmIVulnerable/Modells/Project.cs @@ -3,6 +3,7 @@ using System.Text.Json.Serialization; using F = System.IO.File; using Modells.Packages; +using System.IO; namespace Modells { public class Project { diff --git a/code/AmIVulnerable/Modells/ProjectMetricResult.cs b/code/AmIVulnerable/Modells/ProjectMetricResult.cs index 2d63b09..398b917 100644 --- a/code/AmIVulnerable/Modells/ProjectMetricResult.cs +++ b/code/AmIVulnerable/Modells/ProjectMetricResult.cs @@ -1,12 +1,5 @@ using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations.Schema; -using System.Diagnostics.Contracts; -using System.Linq; -using System.Text; using System.Text.Json.Serialization; -using System.Threading.Tasks; namespace Modells { public class ProjectMetricResult { From 25571267eb6731b6e4838bfd2f59c81def5a0769 Mon Sep 17 00:00:00 2001 From: blechsko Date: Mon, 21 Oct 2024 16:44:15 +0200 Subject: [PATCH 40/45] implemented new endpoint for vulnerabilities --- .../Controllers/MetricController.cs | 100 ++++++++++++++++-- .../Modells/OsvResult/OsvResult.cs | 8 +- .../Modells/Packages/VulnerabilityMetric.cs | 21 ---- 3 files changed, 95 insertions(+), 34 deletions(-) delete mode 100644 code/AmIVulnerable/Modells/Packages/VulnerabilityMetric.cs diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index 0a57c7e..194cb8f 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -108,19 +108,72 @@ public IActionResult DirectDependecyMetric([FromBody] List projectsD foreach (ProjectDto projectDto in projectsDto) { projects.Add(new MP(projectDto.ProjectUrl)); } - List directVulnerableDependencyMetrics = new List(); + List projectVulnerabilityResultMetricReturnTypes = new List(); foreach (MP project in projects) { + List vulnerabilityResultMetrics = new List(); Console.WriteLine("Now analysing: " + project.ProjectUrl); if (project.MakeDependencyTreeCloneAsync().Result == "FAILED") { Console.WriteLine("Could not clone or install project"); - //directVulnerableDependencyMetrics.AddRange(GetPackageMetrics(project)); continue; } + vulnerabilityResultMetrics.AddRange(MakeVulnerabilityResultMetrics(project)); + projectVulnerabilityResultMetricReturnTypes.Add(new ProjectVulnerabilityResultMetricReturnType(project.ProjectUrl, vulnerabilityResultMetrics)); } - return Ok(); + if(projectVulnerabilityResultMetricReturnTypes.Count == 0) { + return StatusCode(500, new { + error = new { + code = 500, + message = "Internal Server Error", + details = "Could not clone or install any projects" + } + }); + } + return Ok(projectVulnerabilityResultMetricReturnTypes); } #endregion + private List MakeVulnerabilityResultMetrics(MP project) { + List vulnerabilityResultMetrics = new List(); + OsvResult osvResult = new OsvResult(); + osvResult = osvResult.OsvExtractVulnerabilities(project); + if (osvResult.results.Count == 0) { + return []; + } + foreach (Packages osvPackage in osvResult.results[0].packages) { + foreach (OSVV osvPackageVulnerability in osvPackage.vulnerabilities) { + VulnerabilityResultMetric v = new VulnerabilityResultMetric(); + foreach (PP package in project.Packages) { + v.packageDependencyPaths.AddRange(GetDependencyPaths(osvPackage, package)); + v.packageTransitiveDepths.AddRange(GetDepths(osvPackage, package)); + } + //if there is no path to the package in all prod-dependencies it is of no value to prod environments + //also no path means no way to the dependency --> no way to fix it! + if(v.packageDependencyPaths.Count == 0) { + continue; + } + if (osvPackageVulnerability.severity.Count != 0) { + v.vulnerabilityVectorString = osvPackageVulnerability.severity[0].score; + v.vulnerabilityVector = MakeVector(osvPackageVulnerability.severity[0].score); + v.vulnerabilitySeverity = v.vulnerabilityVector.BaseScore(); + } + v.vulnerabilityPublished = osvPackageVulnerability.published; + v.vulnerabilityAliases = osvPackageVulnerability.aliases; + v.vulnerabilitySummary = osvPackageVulnerability.summary; + v.vulnerabilityDetails = osvPackageVulnerability.details; + v.vulnerabilityReferences = osvPackageVulnerability.references; + v.vulnerabilityDatabaseSpecific = osvPackageVulnerability.database_specific; + foreach (Modells.OsvResult.Affected affected in osvPackageVulnerability.affected) { + v.vulnerabilityRanges.AddRange(affected.ranges); + } + v.packageName = osvPackage.package.name; + v.packageVersion = osvPackage.package.version; + v.packageSubPackagesNumber = GetSubPackagesCount(GetProjectPackage(osvPackage, project.Packages)); + vulnerabilityResultMetrics.Add(v); + } + } + return vulnerabilityResultMetrics; + } + private void DeleteLocalFiles(MP project) { RemoveReadOnlyAttribute(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid); F.Delete(AppDomain.CurrentDomain.BaseDirectory + project.DirGuid + "/osv.json"); @@ -144,12 +197,6 @@ private static void RemoveReadOnlyAttribute(string path) { } } } - private PackageMetric MakePackageMetric(PP dependency, OsvResult osvResult) { - PackageMetric packageMetric = new PackageMetric(); - packageMetric.version = dependency.Version; - packageMetric.name = dependency.Name; - return packageMetric; - } /// /// @@ -261,6 +308,14 @@ private decimal GetHighestSeverity(List osvPackageVulnerabilities) { return severity; } + private int GetSubPackagesCount(PP dependency, int packageCount = 0) { + packageCount += dependency.Dependencies.Count; + foreach (PP subDependency in dependency.Dependencies) { + packageCount += GetSubPackagesCount(subDependency, packageCount); + } + return packageCount; + } + /// /// Get Depth a single osvPackage is in deptree /// @@ -302,6 +357,19 @@ private List GetTransitiveDepths(Packages osvPackage, PP package, int depth return savedDepths; } + private PP GetProjectPackage(Packages osvPackage, List projectPackages) { + foreach (PP projectPackage in projectPackages) { + if (osvPackage.package.name == projectPackage.Name && + osvPackage.package.version == projectPackage.Version) { + return projectPackage; + } + foreach (PP dependencyPackage in projectPackage.Dependencies) { + return GetProjectPackage(osvPackage, dependencyPackage.Dependencies); + } + } + return new PP(); + } + private int ExtractDependencyDepth(Packages osvPackage, JsonProperty dependency, int depth) { depth += 1; //When finding the correct Package return a depth @@ -320,6 +388,20 @@ private int ExtractDependencyDepth(Packages osvPackage, JsonProperty dependency, return -1; } + private List GetDependencyPaths(Packages osvPackage, PP package, string path = "-> ") { + List savedPaths = new List(); + if (package.Name == osvPackage.package.name && + package.Version == osvPackage.package.version) { + savedPaths.Add(path + package.Name); + } + path += package.Name + " -> "; + foreach (PP dependencyPackage in package.Dependencies) { + //path += dependencyPackage.Name + " -> "; + savedPaths.AddRange(GetDependencyPaths(osvPackage, dependencyPackage, path)); + } + return savedPaths; + } + //Make string vector to element of Vector class private Vector MakeVector(string vectorString) { Vector vector = new Vector(); diff --git a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs index 8a71e8d..3ac10b9 100644 --- a/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs +++ b/code/AmIVulnerable/Modells/OsvResult/OsvResult.cs @@ -255,7 +255,7 @@ public class Vulnerability { [JsonProperty("aliases")] [JsonPropertyName("aliases")] - public List aliases { get; set; } + public List aliases { get; set; } = []; [JsonProperty("summary")] [JsonPropertyName("summary")] @@ -267,15 +267,15 @@ public class Vulnerability { [JsonProperty("affected")] [JsonPropertyName("affected")] - public List affected { get; set; } + public List affected { get; set; } = []; [JsonProperty("severity")] [JsonPropertyName("severity")] - public List severity { get; set; } + public List severity { get; set; } = []; [JsonProperty("references")] [JsonPropertyName("references")] - public List references { get; set; } + public List references { get; set; } = []; [JsonProperty("database_specific")] [JsonPropertyName("database_specific")] diff --git a/code/AmIVulnerable/Modells/Packages/VulnerabilityMetric.cs b/code/AmIVulnerable/Modells/Packages/VulnerabilityMetric.cs deleted file mode 100644 index 7f89ea5..0000000 --- a/code/AmIVulnerable/Modells/Packages/VulnerabilityMetric.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Modells.OsvResult; -using ORR = Modells.OsvResult.Range; - -namespace Modells.Packages { - public class VulnerabilityMetric { - public double vulnerabilitySeverity { get; set; } = -1; - public Vector vulnerabilityVector { get; set; } = new Vector(); - public string vulnerabilityPublished { get; set; } = "now"; - public List vulnerabilityAliases{ get; set; } = []; - public string vulnerabilitySummary { get; set; } = ""; - public string vulnerabilityDetails { get; set; } = ""; - public List vulnerabilityReferences { get; set; } = []; - public DatabaseSpecific vulnerabilityDatabaseSpecific { get; set; } = new DatabaseSpecific(); - public List vulnerabilityRanges { get; set; } = []; - public string packageName { get; set; } = ""; - public string packageVersion { get; set; } = ""; - public int packageTransitiveDepth { get; set; } = 0; - public int packageSubPackagesNumber { get; set; } = 0; - public string packageDependencyPath { get; set; } = "->"; - } -} From c107c19a5e97fd30266e06eb85db44d6c0a833db Mon Sep 17 00:00:00 2001 From: blechsko Date: Tue, 22 Oct 2024 14:19:26 +0200 Subject: [PATCH 41/45] new stuff --- .../AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index 194cb8f..8d5fd8b 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -102,7 +102,7 @@ public IActionResult Vulnerablilty([FromBody] List projectsDto) { } [HttpPost] - [Route("management/vulnerabilities")] + [Route("management/vulnerability")] public IActionResult DirectDependecyMetric([FromBody] List projectsDto) { List projects = new List(); foreach (ProjectDto projectDto in projectsDto) { From cd1021099a7ba0992cd8ad7401cf3dfd07a34ddf Mon Sep 17 00:00:00 2001 From: blechsko Date: Wed, 23 Oct 2024 17:05:54 +0200 Subject: [PATCH 42/45] new class --- .../Packages/VulnerabilityResultMetric.cs | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 code/AmIVulnerable/Modells/Packages/VulnerabilityResultMetric.cs diff --git a/code/AmIVulnerable/Modells/Packages/VulnerabilityResultMetric.cs b/code/AmIVulnerable/Modells/Packages/VulnerabilityResultMetric.cs new file mode 100644 index 0000000..e635d30 --- /dev/null +++ b/code/AmIVulnerable/Modells/Packages/VulnerabilityResultMetric.cs @@ -0,0 +1,32 @@ +using Modells.OsvResult; +using ORR = Modells.OsvResult.Range; +using ORRef = Modells.OsvResult.Reference; + +namespace Modells.Packages { + public class VulnerabilityResultMetric { + public decimal vulnerabilitySeverity { get; set; } = -1; + public string vulnerabilityVectorString { get; set; } = "No Vector Provided"; + public Vector vulnerabilityVector { get; set; } = new Vector(); + public DateTime vulnerabilityPublished { get; set; } = DateTime.Now; + public List vulnerabilityAliases { get; set; } = []; + public string vulnerabilitySummary { get; set; } = "No Summary Provided"; + public string vulnerabilityDetails { get; set; } = "No Details Provided"; + public List vulnerabilityReferences { get; set; } = []; + public DatabaseSpecific vulnerabilityDatabaseSpecific { get; set; } = new DatabaseSpecific(); + public List vulnerabilityRanges { get; set; } = []; + public string packageName { get; set; } = "No Package Name Provided"; + public string packageVersion { get; set; } = "No Package Version Provided"; + public List packageTransitiveDepths { get; set; } = []; + public int packageSubPackagesNumber { get; set; } = 0; + public List packageDependencyPaths { get; set; } = []; + } + public class ProjectVulnerabilityResultMetricReturnType { + public string projectName { get; set; } = ""; + public DateTime analysisTime { get; set; } = DateTime.Now; + public List vulnerabilityResultMetrics { get; set; } = []; + public ProjectVulnerabilityResultMetricReturnType(string _projectName, List _vulnerabilityResultMetrics) { + projectName = _projectName; + vulnerabilityResultMetrics = _vulnerabilityResultMetrics; + } + } +} From 8c49ca8decc7e409cbdca7a18c2509665691b144 Mon Sep 17 00:00:00 2001 From: blechsko Date: Wed, 23 Oct 2024 18:49:36 +0200 Subject: [PATCH 43/45] code/. --- .../Controllers/MetricController.cs | 324 ++++++++++-------- .../AmIVulnerable/Modells/Packages/Package.cs | 9 +- .../Packages/VulnerabilityResultMetric.cs | 24 +- 3 files changed, 195 insertions(+), 162 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs index 8d5fd8b..3b0b550 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MetricController.cs @@ -146,9 +146,10 @@ private List MakeVulnerabilityResultMetrics(MP projec v.packageDependencyPaths.AddRange(GetDependencyPaths(osvPackage, package)); v.packageTransitiveDepths.AddRange(GetDepths(osvPackage, package)); } + v.packageTransitiveDepthsPackages.AddRange(GetDepthPackages(v.packageDependencyPaths)); //if there is no path to the package in all prod-dependencies it is of no value to prod environments //also no path means no way to the dependency --> no way to fix it! - if(v.packageDependencyPaths.Count == 0) { + if (v.packageDependencyPaths.Count == 0) { continue; } if (osvPackageVulnerability.severity.Count != 0) { @@ -156,7 +157,6 @@ private List MakeVulnerabilityResultMetrics(MP projec v.vulnerabilityVector = MakeVector(osvPackageVulnerability.severity[0].score); v.vulnerabilitySeverity = v.vulnerabilityVector.BaseScore(); } - v.vulnerabilityPublished = osvPackageVulnerability.published; v.vulnerabilityAliases = osvPackageVulnerability.aliases; v.vulnerabilitySummary = osvPackageVulnerability.summary; v.vulnerabilityDetails = osvPackageVulnerability.details; @@ -388,7 +388,7 @@ private int ExtractDependencyDepth(Packages osvPackage, JsonProperty dependency, return -1; } - private List GetDependencyPaths(Packages osvPackage, PP package, string path = "-> ") { + private List GetDependencyPaths(Packages osvPackage, PP package, string path = " -> ") { List savedPaths = new List(); if (package.Name == osvPackage.package.name && package.Version == osvPackage.package.version) { @@ -401,163 +401,189 @@ private List GetDependencyPaths(Packages osvPackage, PP package, string } return savedPaths; } + private List GetDepthPackages(List pathStrings) { + List depthPackages = new List(); + foreach (string pathString in pathStrings) { + List subs = pathString.Split(" -> ").ToList(); + subs.Remove(subs.First()); + PP package = new PP(); + package.Name = subs.First(); + subs.Remove(subs.First()); + if(subs.Count != 0) { + package.Dependencies.Add(MakePackageFromStrings(subs)); + } + depthPackages.Add(package); + } + return depthPackages; + } + + private PP MakePackageFromStrings(List subs) { + PP newPackage = new PP(); + newPackage.Name = subs.First(); + subs.Remove(subs.First()); + if (subs.Count == 0) { + return newPackage; + } + newPackage.Dependencies.Add(MakePackageFromStrings(subs)); + return newPackage; + } //Make string vector to element of Vector class private Vector MakeVector(string vectorString) { - Vector vector = new Vector(); + Vector vector = new Vector(); - Match attackVector = Regex.Match(vectorString, @"/AV:+\w{1}/"); - switch (attackVector.Groups[0].Value) { - case "/AV:N/": { - vector.AttackVector = AttackVector.Network; - break; - } - case "/AV:A/": { - vector.AttackVector = AttackVector.Adjacent_Network; - break; - } - case "/AV:L/": { - vector.AttackVector = AttackVector.Local; - break; - } - case "/AV:P/": { - vector.AttackVector = AttackVector.Physial; - break; - } - default: { - vector.AttackVector = AttackVector.Not_Available; - break; - } - } + Match attackVector = Regex.Match(vectorString, @"/AV:+\w{1}/"); + switch (attackVector.Groups[0].Value) { + case "/AV:N/": { + vector.AttackVector = AttackVector.Network; + break; + } + case "/AV:A/": { + vector.AttackVector = AttackVector.Adjacent_Network; + break; + } + case "/AV:L/": { + vector.AttackVector = AttackVector.Local; + break; + } + case "/AV:P/": { + vector.AttackVector = AttackVector.Physial; + break; + } + default: { + vector.AttackVector = AttackVector.Not_Available; + break; + } + } - Match attackComplexity = Regex.Match(vectorString, @"/AC:+\w{1}/"); - switch (attackComplexity.Groups[0].Value) { - case "/AC:L/": { - vector.AttackComplexity = AttackComplexity.Low; - break; - } - case "/AC:H/": { - vector.AttackComplexity = AttackComplexity.High; - break; - } - default: { - vector.AttackComplexity = AttackComplexity.Not_Available; - break; - } - } + Match attackComplexity = Regex.Match(vectorString, @"/AC:+\w{1}/"); + switch (attackComplexity.Groups[0].Value) { + case "/AC:L/": { + vector.AttackComplexity = AttackComplexity.Low; + break; + } + case "/AC:H/": { + vector.AttackComplexity = AttackComplexity.High; + break; + } + default: { + vector.AttackComplexity = AttackComplexity.Not_Available; + break; + } + } - Match privilegesRequired = Regex.Match(vectorString, @"/PR:+\w{1}/"); - switch (privilegesRequired.Groups[0].Value) { - case "/PR:N/": { - vector.PrivilegesRequired = PrivilegesRequired.None; - break; - } - case "/PR:L/": { - vector.PrivilegesRequired = PrivilegesRequired.Low; - break; - } - case "/PR:H/": { - vector.PrivilegesRequired = PrivilegesRequired.High; - break; - } - default: { - vector.PrivilegesRequired = PrivilegesRequired.Not_Available; - break; - } - } + Match privilegesRequired = Regex.Match(vectorString, @"/PR:+\w{1}/"); + switch (privilegesRequired.Groups[0].Value) { + case "/PR:N/": { + vector.PrivilegesRequired = PrivilegesRequired.None; + break; + } + case "/PR:L/": { + vector.PrivilegesRequired = PrivilegesRequired.Low; + break; + } + case "/PR:H/": { + vector.PrivilegesRequired = PrivilegesRequired.High; + break; + } + default: { + vector.PrivilegesRequired = PrivilegesRequired.Not_Available; + break; + } + } - Match userInteraction = Regex.Match(vectorString, @"/UI:+\w{1}/"); - switch (userInteraction.Groups[0].Value) { - case "/UI:N/": { - vector.UserInteraction = UserInteraction.None; - break; - } - case "/UI:R/": { - vector.UserInteraction = UserInteraction.Required; - break; - } - default: { - vector.UserInteraction = UserInteraction.Not_Available; - break; - } - } + Match userInteraction = Regex.Match(vectorString, @"/UI:+\w{1}/"); + switch (userInteraction.Groups[0].Value) { + case "/UI:N/": { + vector.UserInteraction = UserInteraction.None; + break; + } + case "/UI:R/": { + vector.UserInteraction = UserInteraction.Required; + break; + } + default: { + vector.UserInteraction = UserInteraction.Not_Available; + break; + } + } - Match scope = Regex.Match(vectorString, @"/S:+\w{1}/"); - switch (scope.Groups[0].Value) { - case "/S:U/": { - vector.Scope = Scope.Unchanged; - break; - } - case "/S:C/": { - vector.Scope = Scope.Changed; - break; - } - default: { - vector.Scope = Scope.Not_Available; - break; - } - } + Match scope = Regex.Match(vectorString, @"/S:+\w{1}/"); + switch (scope.Groups[0].Value) { + case "/S:U/": { + vector.Scope = Scope.Unchanged; + break; + } + case "/S:C/": { + vector.Scope = Scope.Changed; + break; + } + default: { + vector.Scope = Scope.Not_Available; + break; + } + } - Match confidentialityImpact = Regex.Match(vectorString, @"/C:+\w{1}/"); - switch (confidentialityImpact.Groups[0].Value) { - case "/C:N/": { - vector.ConfidentialityImpact = BaseScoreMetric.None; - break; - } - case "/C:L/": { - vector.ConfidentialityImpact = BaseScoreMetric.Low; - break; - } - case "/C:H/": { - vector.ConfidentialityImpact = BaseScoreMetric.High; - break; - } - default: { - vector.ConfidentialityImpact = BaseScoreMetric.Not_Available; - break; - } - } + Match confidentialityImpact = Regex.Match(vectorString, @"/C:+\w{1}/"); + switch (confidentialityImpact.Groups[0].Value) { + case "/C:N/": { + vector.ConfidentialityImpact = BaseScoreMetric.None; + break; + } + case "/C:L/": { + vector.ConfidentialityImpact = BaseScoreMetric.Low; + break; + } + case "/C:H/": { + vector.ConfidentialityImpact = BaseScoreMetric.High; + break; + } + default: { + vector.ConfidentialityImpact = BaseScoreMetric.Not_Available; + break; + } + } - Match integrityImpact = Regex.Match(vectorString, @"/I:+\w{1}/"); - switch (integrityImpact.Groups[0].Value) { - case "/I:N/": { - vector.IntegrityImpact = BaseScoreMetric.None; - break; - } - case "/I:L/": { - vector.IntegrityImpact = BaseScoreMetric.Low; - break; - } - case "/I:H/": { - vector.IntegrityImpact = BaseScoreMetric.High; - break; - } - default: { - vector.IntegrityImpact = BaseScoreMetric.Not_Available; - break; - } - } + Match integrityImpact = Regex.Match(vectorString, @"/I:+\w{1}/"); + switch (integrityImpact.Groups[0].Value) { + case "/I:N/": { + vector.IntegrityImpact = BaseScoreMetric.None; + break; + } + case "/I:L/": { + vector.IntegrityImpact = BaseScoreMetric.Low; + break; + } + case "/I:H/": { + vector.IntegrityImpact = BaseScoreMetric.High; + break; + } + default: { + vector.IntegrityImpact = BaseScoreMetric.Not_Available; + break; + } + } - Match availabilityImpact = Regex.Match(vectorString, @"/A:+\w{1}/{0,1}"); - switch (availabilityImpact.Groups[0].Value) { - case "/A:N": { - vector.AvailabilityImpact = BaseScoreMetric.None; - break; - } - case "/A:L": { - vector.AvailabilityImpact = BaseScoreMetric.Low; - break; - } - case "/A:H": { - vector.AvailabilityImpact = BaseScoreMetric.High; - break; - } - default: { - vector.AvailabilityImpact = BaseScoreMetric.Not_Available; - break; - } - } - return vector; + Match availabilityImpact = Regex.Match(vectorString, @"/A:+\w{1}/{0,1}"); + switch (availabilityImpact.Groups[0].Value) { + case "/A:N": { + vector.AvailabilityImpact = BaseScoreMetric.None; + break; + } + case "/A:L": { + vector.AvailabilityImpact = BaseScoreMetric.Low; + break; + } + case "/A:H": { + vector.AvailabilityImpact = BaseScoreMetric.High; + break; + } + default: { + vector.AvailabilityImpact = BaseScoreMetric.Not_Available; + break; + } + } + return vector; } #endregion } diff --git a/code/AmIVulnerable/Modells/Packages/Package.cs b/code/AmIVulnerable/Modells/Packages/Package.cs index 9f7bb8f..41cd115 100644 --- a/code/AmIVulnerable/Modells/Packages/Package.cs +++ b/code/AmIVulnerable/Modells/Packages/Package.cs @@ -1,11 +1,18 @@ +using System.Text.Json.Serialization; + namespace Modells.Packages { public class Package { - public string Name { get; set; } = ""; + + [JsonIgnore, Newtonsoft.Json.JsonIgnore] public string Version { get; set; } = ""; public List Dependencies { get; set; } = []; + + [JsonIgnore, Newtonsoft.Json.JsonIgnore] public Description Description { get; set; } = new Description(); + + [JsonIgnore, Newtonsoft.Json.JsonIgnore] public CvssV31 CvssV31 { get; set; } = new CvssV31(); /// Empty ctor diff --git a/code/AmIVulnerable/Modells/Packages/VulnerabilityResultMetric.cs b/code/AmIVulnerable/Modells/Packages/VulnerabilityResultMetric.cs index e635d30..b2f0be0 100644 --- a/code/AmIVulnerable/Modells/Packages/VulnerabilityResultMetric.cs +++ b/code/AmIVulnerable/Modells/Packages/VulnerabilityResultMetric.cs @@ -1,24 +1,24 @@ using Modells.OsvResult; using ORR = Modells.OsvResult.Range; -using ORRef = Modells.OsvResult.Reference; - -namespace Modells.Packages { - public class VulnerabilityResultMetric { +using ORRef = Modells.OsvResult.Reference; + +namespace Modells.Packages { + public class VulnerabilityResultMetric { + public string packageName { get; set; } = "No Package Name Provided"; + public string packageVersion { get; set; } = "No Package Version Provided"; + public List packageDependencyPaths { get; set; } = []; + public List packageTransitiveDepthsPackages { get; set; } = []; + public string vulnerabilitySummary { get; set; } = "No Summary Provided"; + public string vulnerabilityDetails { get; set; } = "No Details Provided"; + public List vulnerabilityRanges { get; set; } = []; public decimal vulnerabilitySeverity { get; set; } = -1; public string vulnerabilityVectorString { get; set; } = "No Vector Provided"; public Vector vulnerabilityVector { get; set; } = new Vector(); - public DateTime vulnerabilityPublished { get; set; } = DateTime.Now; public List vulnerabilityAliases { get; set; } = []; - public string vulnerabilitySummary { get; set; } = "No Summary Provided"; - public string vulnerabilityDetails { get; set; } = "No Details Provided"; public List vulnerabilityReferences { get; set; } = []; public DatabaseSpecific vulnerabilityDatabaseSpecific { get; set; } = new DatabaseSpecific(); - public List vulnerabilityRanges { get; set; } = []; - public string packageName { get; set; } = "No Package Name Provided"; - public string packageVersion { get; set; } = "No Package Version Provided"; public List packageTransitiveDepths { get; set; } = []; public int packageSubPackagesNumber { get; set; } = 0; - public List packageDependencyPaths { get; set; } = []; } public class ProjectVulnerabilityResultMetricReturnType { public string projectName { get; set; } = ""; @@ -29,4 +29,4 @@ public ProjectVulnerabilityResultMetricReturnType(string _projectName, List Date: Wed, 6 Nov 2024 14:03:06 +0100 Subject: [PATCH 44/45] preparation for version 2 --- .../AmIVulnerable/Controllers/DbController.cs | 812 +++++++++--------- .../Controllers/DependeciesController.cs | 576 ++++++------- .../Controllers/GitController.cs | 708 +++++++-------- .../Controllers/MySqlConnectionController.cs | 82 +- .../Controllers/ViewController.cs | 58 +- code/AmIVulnerable/AmIVulnerable/Program.cs | 9 +- 6 files changed, 1126 insertions(+), 1119 deletions(-) diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/DbController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/DbController.cs index 3eaa9c0..35d1211 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/DbController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/DbController.cs @@ -1,408 +1,408 @@ -using Microsoft.AspNetCore.Mvc; -using Microsoft.CodeAnalysis; -using Modells; -using MySql.Data.MySqlClient; -using Newtonsoft.Json; -using SerilogTimings; -using System.Data; -using System.Diagnostics; -using System.Text.RegularExpressions; -using CM = System.Configuration.ConfigurationManager; - -namespace AmIVulnerable.Controllers { - - /// Interact direct with the database, like create the cve-table or request packages. - [Route("api/[controller]")] - [ApiController] - public class DbController : ControllerBase { - - #region Config - private readonly IConfiguration Configuration; - - public DbController(IConfiguration configuration) { - Configuration = configuration; - } - #endregion - - #region Controller - - /// Update the Database, if it exists already. - /// - [HttpPost] - [Route("update")] - public IActionResult UpdateCveDatabase() { - using (Operation.Time("UpdateCveDatabase")) { - try { - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - - MySqlCommand cmdTestIfTableExist = new MySqlCommand($"" + - $"SELECT COUNT(*) " + - $"FROM information_schema.TABLES " + - $"WHERE (TABLE_SCHEMA = 'cve') AND (TABLE_NAME = 'cve');", connection); +//using Microsoft.AspNetCore.Mvc; +//using Microsoft.CodeAnalysis; +//using Modells; +//using MySql.Data.MySqlClient; +//using Newtonsoft.Json; +//using SerilogTimings; +//using System.Data; +//using System.Diagnostics; +//using System.Text.RegularExpressions; +//using CM = System.Configuration.ConfigurationManager; + +//namespace AmIVulnerable.Controllers { + +// /// Interact direct with the database, like create the cve-table or request packages. +// //[Route("api/[controller]")] +// //[ApiController] +// public class DbController : ControllerBase { + +// #region Config +// private readonly IConfiguration Configuration; + +// public DbController(IConfiguration configuration) { +// Configuration = configuration; +// } +// #endregion + +// #region Controller + +// /// Update the Database, if it exists already. +// /// +// //[HttpPost] +// //[Route("update")] +// public IActionResult UpdateCveDatabase() { +// using (Operation.Time("UpdateCveDatabase")) { +// try { +// // MySql Connection +// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + +// MySqlCommand cmdTestIfTableExist = new MySqlCommand($"" + +// $"SELECT COUNT(*) " + +// $"FROM information_schema.TABLES " + +// $"WHERE (TABLE_SCHEMA = 'cve') AND (TABLE_NAME = 'cve');", connection); - connection.Open(); - int count = cmdTestIfTableExist.ExecuteNonQuery(); - connection.Close(); - - if (count == 0) { - return BadRequest("Table does not exist!\nPlease download cve data and create the database before trying to update it using the update route!"); - } - - //start update process - try { - ProcessStartInfo process = new ProcessStartInfo { - FileName = "bash", - RedirectStandardInput = true, - WorkingDirectory = $"", - }; - - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"git " + - $"clone {CM.AppSettings["StandardCveUrlPlusTag"]!} " + // git url - $"raw"); // target dir - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); - } - catch (Exception ex) { - return BadRequest(ex.StackTrace); - } - - //read the file List - List fileList = new List(); - List indexToDelete = new List(); - string path = "raw"; - ExploreFolder(path, fileList); - - //filter for json files - foreach (int i in Enumerable.Range(0, fileList.Count)) { - if (!Regex.IsMatch(fileList[i], @"CVE-[-\S]+.json")) { - indexToDelete.Add(i); - } - } - foreach (int i in Enumerable.Range(0, indexToDelete.Count)) { - fileList.RemoveAt(indexToDelete[i] - i); - } - - // Drop Index for faster insert - MySqlCommand cmdIndexDrop = new MySqlCommand("CALL drop_index_on_designation_if_exists();", connection); +// connection.Open(); +// int count = cmdTestIfTableExist.ExecuteNonQuery(); +// connection.Close(); + +// if (count == 0) { +// return BadRequest("Table does not exist!\nPlease download cve data and create the database before trying to update it using the update route!"); +// } + +// //start update process +// try { +// ProcessStartInfo process = new ProcessStartInfo { +// FileName = "bash", +// RedirectStandardInput = true, +// WorkingDirectory = $"", +// }; + +// Process runProcess = Process.Start(process)!; +// runProcess.StandardInput.WriteLine($"git " + +// $"clone {CM.AppSettings["StandardCveUrlPlusTag"]!} " + // git url +// $"raw"); // target dir +// runProcess.StandardInput.WriteLine($"exit"); +// runProcess.WaitForExit(); +// } +// catch (Exception ex) { +// return BadRequest(ex.StackTrace); +// } + +// //read the file List +// List fileList = new List(); +// List indexToDelete = new List(); +// string path = "raw"; +// ExploreFolder(path, fileList); + +// //filter for json files +// foreach (int i in Enumerable.Range(0, fileList.Count)) { +// if (!Regex.IsMatch(fileList[i], @"CVE-[-\S]+.json")) { +// indexToDelete.Add(i); +// } +// } +// foreach (int i in Enumerable.Range(0, indexToDelete.Count)) { +// fileList.RemoveAt(indexToDelete[i] - i); +// } + +// // Drop Index for faster insert +// MySqlCommand cmdIndexDrop = new MySqlCommand("CALL drop_index_on_designation_if_exists();", connection); - connection.Open(); - cmdIndexDrop.ExecuteNonQuery(); - connection.Close(); - - //start insert/update in MySQL - int insertAndUpdateIndex = 0; - foreach (string x in fileList) { - string insertIntoString = "INSERT INTO cve(cve_number, designation, version_affected, full_text) " + - "VALUES(@cve, @des, @ver, @ful) " + - "ON DUPLICATE KEY UPDATE " + - "version_affected = @ver, " + - "full_text = @ful;" ; - MySqlCommand cmdInsert = new MySqlCommand(insertIntoString, connection); - - string json = System.IO.File.ReadAllText(x); - CVEcomp cve = JsonConvert.DeserializeObject(json)!; - - string affected = ""; - foreach (Affected y in cve.containers.cna.affected) { - foreach (Modells.Version z in y.versions) { - affected += z.version + $"({z.status}) |"; - } - } - if (affected.Length > 25_000) { - affected = "to long -> view full_text"; - } - string product = "| "; - try { - foreach (Affected singleProduct in cve.containers.cna.affected) { - product += singleProduct.product + " | "; - } - if (product.Length > 1000) { - product = product[0..1000]; - } - if (product.Equals("| ")) { - product = "n/a"; - } - } - catch { - product = "n/a"; - } - cmdInsert.Parameters.AddWithValue("@cve", cve.cveMetadata.cveId); - cmdInsert.Parameters.AddWithValue("@des", product); - cmdInsert.Parameters.AddWithValue("@ver", affected); - cmdInsert.Parameters.AddWithValue("@ful", JsonConvert.SerializeObject(cve, Formatting.None)); - - connection.Open(); - insertAndUpdateIndex += cmdInsert.ExecuteNonQuery(); - connection.Close(); - } - - //connection.Open(); - //MySqlCommand cmdIndexCreated = new MySqlCommand("CREATE INDEX idx_designation ON cve (designation);", connection); - //cmdIndexCreated.ExecuteNonQuery(); - //connection.Close(); - - return Ok(insertAndUpdateIndex); - } - catch (Exception ex) { - return BadRequest(ex.StackTrace + "\n\n" + ex.Message); - } - } - } - - /// Return the full text of a cve, when it is requested. - /// - /// - [HttpGet] - [Route("getFullTextFromCveNumber")] - public IActionResult GetFullTextCve([FromQuery] string? cve_number) { - if (!(this.Request.Headers.Accept.Equals("application/json") || this.Request.Headers.Accept.Equals("*/*"))) { - return StatusCode(406); - } - using (Operation.Time("GetFullTextCve")) { - if (cve_number is null) { - return BadRequest("Empty cve_number"); - } - try { - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - - connection.Open(); - MySqlCommand cmdIndexCreated = new MySqlCommand($"" + - $"SELECT full_text " + - $"FROM cve.cve " + - $"WHERE cve_number = '{cve_number}';", connection); - MySqlDataReader reader = cmdIndexCreated.ExecuteReader(); - DataTable resDataTable = new DataTable(); - resDataTable.Load(reader); - connection.Close(); - - if (resDataTable.Rows.Count == 0) { - return NoContent(); - } - - CVEcomp? cVEcomp = JsonConvert.DeserializeObject(resDataTable.Rows[0]["full_text"].ToString()!); - - return Ok(cVEcomp); - } - catch (Exception ex) { - return BadRequest(ex.StackTrace + "\n\n" + ex.Message); - - } - } - } - - /// Check for an cve entry of a package with all its versions - /// Name of package to search - /// true: search db, false: search raw-json - /// Version of package to search - /// Ok with result. NoContent if empty. - [HttpGet] - [Route("checkSinglePackage")] - public IActionResult CheckSinglePackage([FromQuery] string PackageName, - [FromQuery] string? PackageVersion) { - if (!(this.Request.Headers.Accept.Equals("application/json") || this.Request.Headers.Accept.Equals("*/*"))) { - return StatusCode(406); - } - using (Operation.Time($"Complete Time for Query-SingleSearch after Package \"{PackageName}\"")) { - List results = []; - DataTable dtResult = SearchInMySql(PackageName); - // convert the result - foreach (DataRow x in dtResult.Rows) { - CveResult y = new CveResult() { - CveNumber = x["cve_number"].ToString() ?? "", - Designation = x["designation"].ToString() ?? "", - Version = x["version_affected"].ToString() ?? "" - }; - CVEcomp temp = JsonConvert.DeserializeObject(x["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); - try { - if (temp.containers.cna.metrics.Count != 0) { - y.CvssV31 = temp.containers.cna.metrics[0].cvssV3_1; - } - if (temp.containers.cna.descriptions.Count != 0) { - y.Description = temp.containers.cna.descriptions[0]; - } - } - finally { - results.Add(y); - } - } - // return's - if (results.Count > 0) { - JsonLdObject resultAsJsonLd = new JsonLdObject() { - Context = "https://localhost:7203/views/cveResult", - Data = results - }; - return Ok(resultAsJsonLd); - } - else { - return NoContent(); - } - } - } - - /// - /// Search for a list of packages. - /// Not useable in swagger because of body - but curl works fine. - /// - /// List of tuple: package, version - /// OK, if exists. OK, if no package list searched. NoContent if not found. - [HttpGet] - [Route("checkPackageList")] - public async Task CheckPackageListAsync([FromBody] List packages) { - if (!(this.Request.Headers.Accept.Equals("application/json") || this.Request.Headers.Accept.Equals("*/*"))) { - return StatusCode(406); - } - List results = []; - using (Operation.Time($"Complete Time for Query-Search after List of Packages")) { - foreach (PackageForApi x in packages) { - DataTable dtResult = SearchInMySql(x.PackageName); - // convert the result - foreach (DataRow y in dtResult.Rows) { - CveResult z = new CveResult() { - CveNumber = y["cve_number"].ToString() ?? "", - Designation = y["designation"].ToString() ?? "", - Version = y["version_affected"].ToString() ?? "" - }; - CVEcomp temp = JsonConvert.DeserializeObject(y["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); - try { - if (temp.containers.cna.metrics.Count != 0) { - z.CvssV31 = temp.containers.cna.metrics[0].cvssV3_1; - } - if (temp.containers.cna.descriptions.Count != 0) { - z.Description = temp.containers.cna.descriptions[0]; - } - } - finally { - results.Add(z); - } - } - } - } - - JsonLdObject resultAsJsonLd = new JsonLdObject() { - Context = "https://localhost:7203/views/cveResult", - Data = results - }; - return Ok(results.Count == 0 ? "No result" : resultAsJsonLd); - } - - [HttpGet] - [Route("checkGuid")] - public IActionResult CheckDownloadedProjectWithGuid([FromQuery] Guid projectGuid) { - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - - MySqlCommand cmd = new MySqlCommand($"" + - $"SELECT * " + - $"FROM repositories " + - $"WHERE guid='{projectGuid}';", connection); - - DataTable dataTable = new DataTable(); - connection.Open(); - MySqlDataReader reader = cmd.ExecuteReader(); - dataTable.Load(reader); - connection.Close(); - - if (dataTable.Rows.Count == 1) { - object res = new { - guid = dataTable.Rows[0]["guid"].ToString(), - repoUrl = dataTable.Rows[0]["repoUrl"].ToString(), - repoOwner = dataTable.Rows[0]["repoOwner"].ToString(), - repoDesignation = dataTable.Rows[0]["repoDesignation"].ToString(), - tag = dataTable.Rows[0]["tag"].ToString() - }; - return Ok(res); - } - else { - return NotFound("Not found"); - } - } - #endregion - - #region Internal function(s) - /// - /// Adds file names of all files of a folder and its subfolders to a list - /// - /// path to target folder - /// list of files - private static void ExploreFolder(string folderPath, List fileList) { - try { - fileList.AddRange(Directory.GetFiles(folderPath)); - - foreach (string subfolder in Directory.GetDirectories(folderPath)) { - ExploreFolder(subfolder, fileList); - } - } - catch (Exception ex) { - Console.WriteLine($"{ex.Message}"); - } - } - - /// Search package in raw-json data - /// Name of package to search - /// List of CveResults - private List SearchInJson(string packageName) { - List fileList = new List(); - List indexToDelete = new List(); - string path = $"{AppDomain.CurrentDomain.BaseDirectory}raw"; - ExploreFolder(path, fileList); - - foreach (int i in Enumerable.Range(0, fileList.Count)) { - if (!Regex.IsMatch(fileList[i], @"CVE-[-\S]+.json")) { - indexToDelete.Add(i); - } - } - foreach (int i in Enumerable.Range(0, indexToDelete.Count)) { - fileList.RemoveAt(indexToDelete[i] - i); - } - // search in the files - List results = []; - using (Operation.Time($"Package \"{packageName}\"")) { - int start = 0; - foreach (int i in Enumerable.Range(start, fileList.Count - start)) { - CVEcomp item = JsonConvert.DeserializeObject(System.IO.File.ReadAllText(fileList[i]))!; - if (i % 100 == 0) { - Console.WriteLine(fileList[i] + " - " + i); - } - if (item.containers.cna.affected is null || item.containers.cna.affected.Any(x => x.product is null)) { - continue; - } - if (item.containers.cna.affected.Any(y => y.product.Equals(packageName))) { - foreach (int j in Enumerable.Range(0, item.containers.cna.affected.Count)) { - foreach (Modells.Version version in item.containers.cna.affected[j].versions) { - results.Add(new CveResult() { - CveNumber = item.cveMetadata.cveId, - Version = version.version, - }); - } - } - } - } - } - return results; - } - - private DataTable SearchInMySql(string packageName) { - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - - MySqlCommand cmd = new MySqlCommand($"" + - $"SELECT cve_number, designation, version_affected, full_text " + - $"FROM cve.cve " + - $"WHERE designation='{packageName}';", connection); - - DataTable dataTable = new DataTable(); - using (Operation.Time($"Query-Time for Package \"{packageName}\"")) { - // read the result - connection.Open(); - MySqlDataReader reader = cmd.ExecuteReader(); - dataTable.Load(reader); - connection.Close(); - } - return dataTable; - } - #endregion - } -} +// connection.Open(); +// cmdIndexDrop.ExecuteNonQuery(); +// connection.Close(); + +// //start insert/update in MySQL +// int insertAndUpdateIndex = 0; +// foreach (string x in fileList) { +// string insertIntoString = "INSERT INTO cve(cve_number, designation, version_affected, full_text) " + +// "VALUES(@cve, @des, @ver, @ful) " + +// "ON DUPLICATE KEY UPDATE " + +// "version_affected = @ver, " + +// "full_text = @ful;" ; +// MySqlCommand cmdInsert = new MySqlCommand(insertIntoString, connection); + +// string json = System.IO.File.ReadAllText(x); +// CVEcomp cve = JsonConvert.DeserializeObject(json)!; + +// string affected = ""; +// foreach (Affected y in cve.containers.cna.affected) { +// foreach (Modells.Version z in y.versions) { +// affected += z.version + $"({z.status}) |"; +// } +// } +// if (affected.Length > 25_000) { +// affected = "to long -> view full_text"; +// } +// string product = "| "; +// try { +// foreach (Affected singleProduct in cve.containers.cna.affected) { +// product += singleProduct.product + " | "; +// } +// if (product.Length > 1000) { +// product = product[0..1000]; +// } +// if (product.Equals("| ")) { +// product = "n/a"; +// } +// } +// catch { +// product = "n/a"; +// } +// cmdInsert.Parameters.AddWithValue("@cve", cve.cveMetadata.cveId); +// cmdInsert.Parameters.AddWithValue("@des", product); +// cmdInsert.Parameters.AddWithValue("@ver", affected); +// cmdInsert.Parameters.AddWithValue("@ful", JsonConvert.SerializeObject(cve, Formatting.None)); + +// connection.Open(); +// insertAndUpdateIndex += cmdInsert.ExecuteNonQuery(); +// connection.Close(); +// } + +// //connection.Open(); +// //MySqlCommand cmdIndexCreated = new MySqlCommand("CREATE INDEX idx_designation ON cve (designation);", connection); +// //cmdIndexCreated.ExecuteNonQuery(); +// //connection.Close(); + +// return Ok(insertAndUpdateIndex); +// } +// catch (Exception ex) { +// return BadRequest(ex.StackTrace + "\n\n" + ex.Message); +// } +// } +// } + +// /// Return the full text of a cve, when it is requested. +// /// +// /// +// //[HttpGet] +// //[Route("getFullTextFromCveNumber")] +// public IActionResult GetFullTextCve([FromQuery] string? cve_number) { +// if (!(this.Request.Headers.Accept.Equals("application/json") || this.Request.Headers.Accept.Equals("*/*"))) { +// return StatusCode(406); +// } +// using (Operation.Time("GetFullTextCve")) { +// if (cve_number is null) { +// return BadRequest("Empty cve_number"); +// } +// try { +// // MySql Connection +// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + +// connection.Open(); +// MySqlCommand cmdIndexCreated = new MySqlCommand($"" + +// $"SELECT full_text " + +// $"FROM cve.cve " + +// $"WHERE cve_number = '{cve_number}';", connection); +// MySqlDataReader reader = cmdIndexCreated.ExecuteReader(); +// DataTable resDataTable = new DataTable(); +// resDataTable.Load(reader); +// connection.Close(); + +// if (resDataTable.Rows.Count == 0) { +// return NoContent(); +// } + +// CVEcomp? cVEcomp = JsonConvert.DeserializeObject(resDataTable.Rows[0]["full_text"].ToString()!); + +// return Ok(cVEcomp); +// } +// catch (Exception ex) { +// return BadRequest(ex.StackTrace + "\n\n" + ex.Message); + +// } +// } +// } + +// /// Check for an cve entry of a package with all its versions +// /// Name of package to search +// /// true: search db, false: search raw-json +// /// Version of package to search +// /// Ok with result. NoContent if empty. +// //[HttpGet] +// //[Route("checkSinglePackage")] +// public IActionResult CheckSinglePackage([FromQuery] string PackageName, +// [FromQuery] string? PackageVersion) { +// if (!(this.Request.Headers.Accept.Equals("application/json") || this.Request.Headers.Accept.Equals("*/*"))) { +// return StatusCode(406); +// } +// using (Operation.Time($"Complete Time for Query-SingleSearch after Package \"{PackageName}\"")) { +// List results = []; +// DataTable dtResult = SearchInMySql(PackageName); +// // convert the result +// foreach (DataRow x in dtResult.Rows) { +// CveResult y = new CveResult() { +// CveNumber = x["cve_number"].ToString() ?? "", +// Designation = x["designation"].ToString() ?? "", +// Version = x["version_affected"].ToString() ?? "" +// }; +// CVEcomp temp = JsonConvert.DeserializeObject(x["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); +// try { +// if (temp.containers.cna.metrics.Count != 0) { +// y.CvssV31 = temp.containers.cna.metrics[0].cvssV3_1; +// } +// if (temp.containers.cna.descriptions.Count != 0) { +// y.Description = temp.containers.cna.descriptions[0]; +// } +// } +// finally { +// results.Add(y); +// } +// } +// // return's +// if (results.Count > 0) { +// JsonLdObject resultAsJsonLd = new JsonLdObject() { +// Context = "https://localhost:7203/views/cveResult", +// Data = results +// }; +// return Ok(resultAsJsonLd); +// } +// else { +// return NoContent(); +// } +// } +// } + +// /// +// /// Search for a list of packages. +// /// Not useable in swagger because of body - but curl works fine. +// /// +// /// List of tuple: package, version +// /// OK, if exists. OK, if no package list searched. NoContent if not found. +// //[HttpGet] +// //[Route("checkPackageList")] +// public async Task CheckPackageListAsync([FromBody] List packages) { +// if (!(this.Request.Headers.Accept.Equals("application/json") || this.Request.Headers.Accept.Equals("*/*"))) { +// return StatusCode(406); +// } +// List results = []; +// using (Operation.Time($"Complete Time for Query-Search after List of Packages")) { +// foreach (PackageForApi x in packages) { +// DataTable dtResult = SearchInMySql(x.PackageName); +// // convert the result +// foreach (DataRow y in dtResult.Rows) { +// CveResult z = new CveResult() { +// CveNumber = y["cve_number"].ToString() ?? "", +// Designation = y["designation"].ToString() ?? "", +// Version = y["version_affected"].ToString() ?? "" +// }; +// CVEcomp temp = JsonConvert.DeserializeObject(y["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); +// try { +// if (temp.containers.cna.metrics.Count != 0) { +// z.CvssV31 = temp.containers.cna.metrics[0].cvssV3_1; +// } +// if (temp.containers.cna.descriptions.Count != 0) { +// z.Description = temp.containers.cna.descriptions[0]; +// } +// } +// finally { +// results.Add(z); +// } +// } +// } +// } + +// JsonLdObject resultAsJsonLd = new JsonLdObject() { +// Context = "https://localhost:7203/views/cveResult", +// Data = results +// }; +// return Ok(results.Count == 0 ? "No result" : resultAsJsonLd); +// } + +// //[HttpGet] +// //[Route("checkGuid")] +// public IActionResult CheckDownloadedProjectWithGuid([FromQuery] Guid projectGuid) { +// // MySql Connection +// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + +// MySqlCommand cmd = new MySqlCommand($"" + +// $"SELECT * " + +// $"FROM repositories " + +// $"WHERE guid='{projectGuid}';", connection); + +// DataTable dataTable = new DataTable(); +// connection.Open(); +// MySqlDataReader reader = cmd.ExecuteReader(); +// dataTable.Load(reader); +// connection.Close(); + +// if (dataTable.Rows.Count == 1) { +// object res = new { +// guid = dataTable.Rows[0]["guid"].ToString(), +// repoUrl = dataTable.Rows[0]["repoUrl"].ToString(), +// repoOwner = dataTable.Rows[0]["repoOwner"].ToString(), +// repoDesignation = dataTable.Rows[0]["repoDesignation"].ToString(), +// tag = dataTable.Rows[0]["tag"].ToString() +// }; +// return Ok(res); +// } +// else { +// return NotFound("Not found"); +// } +// } +// #endregion + +// #region Internal function(s) +// /// +// /// Adds file names of all files of a folder and its subfolders to a list +// /// +// /// path to target folder +// /// list of files +// private static void ExploreFolder(string folderPath, List fileList) { +// try { +// fileList.AddRange(Directory.GetFiles(folderPath)); + +// foreach (string subfolder in Directory.GetDirectories(folderPath)) { +// ExploreFolder(subfolder, fileList); +// } +// } +// catch (Exception ex) { +// Console.WriteLine($"{ex.Message}"); +// } +// } + +// /// Search package in raw-json data +// /// Name of package to search +// /// List of CveResults +// private List SearchInJson(string packageName) { +// List fileList = new List(); +// List indexToDelete = new List(); +// string path = $"{AppDomain.CurrentDomain.BaseDirectory}raw"; +// ExploreFolder(path, fileList); + +// foreach (int i in Enumerable.Range(0, fileList.Count)) { +// if (!Regex.IsMatch(fileList[i], @"CVE-[-\S]+.json")) { +// indexToDelete.Add(i); +// } +// } +// foreach (int i in Enumerable.Range(0, indexToDelete.Count)) { +// fileList.RemoveAt(indexToDelete[i] - i); +// } +// // search in the files +// List results = []; +// using (Operation.Time($"Package \"{packageName}\"")) { +// int start = 0; +// foreach (int i in Enumerable.Range(start, fileList.Count - start)) { +// CVEcomp item = JsonConvert.DeserializeObject(System.IO.File.ReadAllText(fileList[i]))!; +// if (i % 100 == 0) { +// Console.WriteLine(fileList[i] + " - " + i); +// } +// if (item.containers.cna.affected is null || item.containers.cna.affected.Any(x => x.product is null)) { +// continue; +// } +// if (item.containers.cna.affected.Any(y => y.product.Equals(packageName))) { +// foreach (int j in Enumerable.Range(0, item.containers.cna.affected.Count)) { +// foreach (Modells.Version version in item.containers.cna.affected[j].versions) { +// results.Add(new CveResult() { +// CveNumber = item.cveMetadata.cveId, +// Version = version.version, +// }); +// } +// } +// } +// } +// } +// return results; +// } + +// private DataTable SearchInMySql(string packageName) { +// // MySql Connection +// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + +// MySqlCommand cmd = new MySqlCommand($"" + +// $"SELECT cve_number, designation, version_affected, full_text " + +// $"FROM cve.cve " + +// $"WHERE designation='{packageName}';", connection); + +// DataTable dataTable = new DataTable(); +// using (Operation.Time($"Query-Time for Package \"{packageName}\"")) { +// // read the result +// connection.Open(); +// MySqlDataReader reader = cmd.ExecuteReader(); +// dataTable.Load(reader); +// connection.Close(); +// } +// return dataTable; +// } +// #endregion +// } +//} diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/DependeciesController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/DependeciesController.cs index 81bec8c..ff51634 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/DependeciesController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/DependeciesController.cs @@ -1,310 +1,310 @@ -using Microsoft.AspNetCore.Mvc; -using Modells; -using Modells.Packages; -using MySql.Data.MySqlClient; -using Newtonsoft.Json; -using SerilogTimings; -using System.Data; -using System.Diagnostics; -using System.Text.Json; -using F = System.IO.File; +//using Microsoft.AspNetCore.Mvc; +//using Modells; +//using Modells.Packages; +//using MySql.Data.MySqlClient; +//using Newtonsoft.Json; +//using SerilogTimings; +//using System.Data; +//using System.Diagnostics; +//using System.Text.Json; +//using F = System.IO.File; -namespace AmIVulnerable.Controllers { +//namespace AmIVulnerable.Controllers { - [Route("api/[controller]")] - [ApiController] +// //[Route("api/[controller]")] +// //[ApiController] - public class DependeciesController : ControllerBase { +// public class DependeciesController : ControllerBase { - #region Config - private readonly IConfiguration Configuration; +// #region Config +// private readonly IConfiguration Configuration; - public DependeciesController(IConfiguration configuration) { - Configuration = configuration; - } - #endregion +// public DependeciesController(IConfiguration configuration) { +// Configuration = configuration; +// } +// #endregion - /// - /// Extract dependecies of different project types as json - /// - /// Type of project to extract dependencies from - /// OK if known project type. BadRequest if unknown project type. - [HttpPost] - [Route("extractTree")] - public IActionResult ExtractDependencies([FromQuery] ProjectType projectType, - [FromQuery] Guid projectGuid) { - if (!(this.Request.Headers.Accept.Equals("application/json") || this.Request.Headers.Accept.Equals("*/*"))) { - return StatusCode(406); - } - if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString())) { - return BadRequest("ProjectGuid does not exist."); - } - switch (projectType) { - case ProjectType.NodeJs: { - ExecuteCommand("npm", "install", projectGuid.ToString()); - ExecuteCommand("rm", "tree.json", projectGuid.ToString()); - ExecuteCommand("npm", "list --all --json >> tree.json", projectGuid.ToString()); - List resTree = ExtractTree(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/tree.json"); - F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/depTree.json", JsonConvert.SerializeObject(resTree)); +// /// +// /// Extract dependecies of different project types as json +// /// +// /// Type of project to extract dependencies from +// /// OK if known project type. BadRequest if unknown project type. +// //[HttpPost] +// //[Route("extractTree")] +// public IActionResult ExtractDependencies([FromQuery] ProjectType projectType, +// [FromQuery] Guid projectGuid) { +// if (!(this.Request.Headers.Accept.Equals("application/json") || this.Request.Headers.Accept.Equals("*/*"))) { +// return StatusCode(406); +// } +// if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString())) { +// return BadRequest("ProjectGuid does not exist."); +// } +// switch (projectType) { +// case ProjectType.NodeJs: { +// ExecuteCommand("npm", "install", projectGuid.ToString()); +// ExecuteCommand("rm", "tree.json", projectGuid.ToString()); +// ExecuteCommand("npm", "list --all --json >> tree.json", projectGuid.ToString()); +// List resTree = ExtractTree(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/tree.json"); +// F.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/depTree.json", JsonConvert.SerializeObject(resTree)); - JsonLdObject resultAsJsonLd = new JsonLdObject() { - Context = "https://localhost:7203/views/nodePackageResult", - Data = resTree - }; - return Ok(resultAsJsonLd); - } - default: { - return BadRequest(); - } - } - } +// JsonLdObject resultAsJsonLd = new JsonLdObject() { +// Context = "https://localhost:7203/views/nodePackageResult", +// Data = resTree +// }; +// return Ok(resultAsJsonLd); +// } +// default: { +// return BadRequest(); +// } +// } +// } - /// - /// Extract dependecies of different project types as json and extract resulting dependency trees of vulnerabilities - /// - /// Type of project to extract dependencies from - /// OK if vulnerability found. 299 if no vulnerability found. BadRequest if unknown project type is searched. - [HttpPost] - [Route("extractAndAnalyzeTree")] - public async Task ExtractAndAnalyzeTreeAsync([FromQuery] ProjectType projectType, - [FromQuery] Guid projectGuid) { - if (!(this.Request.Headers.Accept.Equals("application/json") || this.Request.Headers.Accept.Equals("*/*"))) { - return StatusCode(406); - } - using (Operation.Time($"ExtractAndAnalyzeTreeAsync called with procjectType {projectType}")) { - if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString())) { - return BadRequest("ProjectGuid does not exist."); - } - switch (projectType) { - case ProjectType.NodeJs: { - ExecuteCommand("npm", "install", projectGuid.ToString()); - ExecuteCommand("rm", "tree.json", projectGuid.ToString()); - ExecuteCommand("npm", "list --all --json >> tree.json", projectGuid.ToString()); - List depTree = ExtractTree(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/tree.json"); - List resTree = await AnalyzeTreeAsync(depTree) ?? []; - if (resTree.Count != 0) { - JsonLdObject resultAsJsonLd = new JsonLdObject() { - Context = "https://localhost:7203/views/nodePackageResult", - Data = resTree - }; - return Ok(resultAsJsonLd); - } - else { - return StatusCode(299, "Keine Schwachstelle gefunden."); - } - } - default: { - return BadRequest(); - } - } - } - } +// /// +// /// Extract dependecies of different project types as json and extract resulting dependency trees of vulnerabilities +// /// +// /// Type of project to extract dependencies from +// /// OK if vulnerability found. 299 if no vulnerability found. BadRequest if unknown project type is searched. +// //[HttpPost] +// //[Route("extractAndAnalyzeTree")] +// public async Task ExtractAndAnalyzeTreeAsync([FromQuery] ProjectType projectType, +// [FromQuery] Guid projectGuid) { +// if (!(this.Request.Headers.Accept.Equals("application/json") || this.Request.Headers.Accept.Equals("*/*"))) { +// return StatusCode(406); +// } +// using (Operation.Time($"ExtractAndAnalyzeTreeAsync called with procjectType {projectType}")) { +// if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString())) { +// return BadRequest("ProjectGuid does not exist."); +// } +// switch (projectType) { +// case ProjectType.NodeJs: { +// ExecuteCommand("npm", "install", projectGuid.ToString()); +// ExecuteCommand("rm", "tree.json", projectGuid.ToString()); +// ExecuteCommand("npm", "list --all --json >> tree.json", projectGuid.ToString()); +// List depTree = ExtractTree(AppDomain.CurrentDomain.BaseDirectory + projectGuid.ToString() + "/tree.json"); +// List resTree = await AnalyzeTreeAsync(depTree) ?? []; +// if (resTree.Count != 0) { +// JsonLdObject resultAsJsonLd = new JsonLdObject() { +// Context = "https://localhost:7203/views/nodePackageResult", +// Data = resTree +// }; +// return Ok(resultAsJsonLd); +// } +// else { +// return StatusCode(299, "Keine Schwachstelle gefunden."); +// } +// } +// default: { +// return BadRequest(); +// } +// } +// } +// } - /// - /// Starts a process that runs a command. - /// - /// Programm used for commands - /// Command used for programm - private void ExecuteCommand(string prog, string command, string dir) { - ProcessStartInfo process = new ProcessStartInfo { - FileName = "cmd", - RedirectStandardInput = true, - WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, - }; - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"{prog} {command}"); - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); - } +// /// +// /// Starts a process that runs a command. +// /// +// /// Programm used for commands +// /// Command used for programm +// private void ExecuteCommand(string prog, string command, string dir) { +// ProcessStartInfo process = new ProcessStartInfo { +// FileName = "cmd", +// RedirectStandardInput = true, +// WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + dir, +// }; +// Process runProcess = Process.Start(process)!; +// runProcess.StandardInput.WriteLine($"{prog} {command}"); +// runProcess.StandardInput.WriteLine($"exit"); +// runProcess.WaitForExit(); +// } - /// - /// Extracts a tree from node project - /// - /// File path to rawAnalyze/tree.json - /// List of vulnerable packages. - private List ExtractTree(string filePath) { - List packages = []; - using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(filePath))) { - if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && - dependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { - Package nodePackage = ExtractDependencyInfo(dependency); +// /// +// /// Extracts a tree from node project +// /// +// /// File path to rawAnalyze/tree.json +// /// List of vulnerable packages. +// private List ExtractTree(string filePath) { +// List packages = []; +// using (JsonDocument jsonDocument = JsonDocument.Parse(F.ReadAllText(filePath))) { +// if (jsonDocument.RootElement.TryGetProperty("dependencies", out JsonElement dependenciesElement) && +// dependenciesElement.ValueKind == JsonValueKind.Object) { +// foreach (JsonProperty dependency in dependenciesElement.EnumerateObject()) { +// Package nodePackage = ExtractDependencyInfo(dependency); - packages.Add(nodePackage); - } - } - } - return packages; - } +// packages.Add(nodePackage); +// } +// } +// } +// return packages; +// } - /// - /// Extracts dependencies of a single dependency. - /// - /// Dependency that is searched for sundependencies and versions. - /// NodePackage with all found dependencies and versions. - private Package ExtractDependencyInfo(JsonProperty dependency) { - Package nodePackage = new Package { - Name = dependency.Name - }; - if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && - versionElement.ValueKind == JsonValueKind.String) { - nodePackage.Version = versionElement.GetString() ?? ""; - } - if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && - subDependenciesElement.ValueKind == JsonValueKind.Object) { - foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { - Package subNodePackage = ExtractDependencyInfo(subDependency); - nodePackage.Dependencies.Add(subNodePackage); - } - } +// /// +// /// Extracts dependencies of a single dependency. +// /// +// /// Dependency that is searched for sundependencies and versions. +// /// NodePackage with all found dependencies and versions. +// private Package ExtractDependencyInfo(JsonProperty dependency) { +// Package nodePackage = new Package { +// Name = dependency.Name +// }; +// if (dependency.Value.TryGetProperty("version", out JsonElement versionElement) && +// versionElement.ValueKind == JsonValueKind.String) { +// nodePackage.Version = versionElement.GetString() ?? ""; +// } +// if (dependency.Value.TryGetProperty("dependencies", out JsonElement subDependenciesElement) && +// subDependenciesElement.ValueKind == JsonValueKind.Object) { +// foreach (JsonProperty subDependency in subDependenciesElement.EnumerateObject()) { +// Package subNodePackage = ExtractDependencyInfo(subDependency); +// nodePackage.Dependencies.Add(subNodePackage); +// } +// } - return nodePackage; - } +// return nodePackage; +// } - /// - /// Analyse list of node packages, compare dependencies of each with cve and return list of NodePackageResult - /// - /// List of all top level node packages. - /// List of NodePackageResult. - private async Task> AnalyzeTreeAsync(List depTree) { - List> nodePackages = []; - // preperation list - foreach (Package x in depTree) { - List y = AnalyzeSubtree(x); - foreach (Package z in y) { - Tuple tuple = new Tuple(z.Name, z.Version); - if (!nodePackages.Contains(tuple)) { - nodePackages.Add(tuple); - } - } - } +// /// +// /// Analyse list of node packages, compare dependencies of each with cve and return list of NodePackageResult +// /// +// /// List of all top level node packages. +// /// List of NodePackageResult. +// private async Task> AnalyzeTreeAsync(List depTree) { +// List> nodePackages = []; +// // preperation list +// foreach (Package x in depTree) { +// List y = AnalyzeSubtree(x); +// foreach (Package z in y) { +// Tuple tuple = new Tuple(z.Name, z.Version); +// if (!nodePackages.Contains(tuple)) { +// nodePackages.Add(tuple); +// } +// } +// } - // analyze list - List cveResults = []; - foreach (Tuple x in nodePackages) { - DataTable dtResult = SearchInMySql(x.Item1); - // convert the result - foreach (DataRow y in dtResult.Rows) { - CveResult z = new CveResult() { - CveNumber = y["cve_number"].ToString() ?? "", - Designation = y["designation"].ToString() ?? "", - Version = y["version_affected"].ToString() ?? "" - }; - CVEcomp temp = JsonConvert.DeserializeObject(y["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); - try { - if (temp.containers.cna.metrics.Count != 0) { - z.CvssV31 = temp.containers.cna.metrics[0].cvssV3_1; - } - if (temp.containers.cna.descriptions.Count != 0) { - z.Description = temp.containers.cna.descriptions[0]; - } - } - finally { - cveResults.Add(z); - } - } - } +// // analyze list +// List cveResults = []; +// foreach (Tuple x in nodePackages) { +// DataTable dtResult = SearchInMySql(x.Item1); +// // convert the result +// foreach (DataRow y in dtResult.Rows) { +// CveResult z = new CveResult() { +// CveNumber = y["cve_number"].ToString() ?? "", +// Designation = y["designation"].ToString() ?? "", +// Version = y["version_affected"].ToString() ?? "" +// }; +// CVEcomp temp = JsonConvert.DeserializeObject(y["full_text"].ToString() ?? string.Empty) ?? new CVEcomp(); +// try { +// if (temp.containers.cna.metrics.Count != 0) { +// z.CvssV31 = temp.containers.cna.metrics[0].cvssV3_1; +// } +// if (temp.containers.cna.descriptions.Count != 0) { +// z.Description = temp.containers.cna.descriptions[0]; +// } +// } +// finally { +// cveResults.Add(z); +// } +// } +// } - // find the critical points - if (cveResults.Count == 0) { - return null; - } - List resulstList = []; - foreach (Package x in depTree) { - PackageResult? temp = CheckVulnerabilities(x, cveResults); - if (temp is not null) { - resulstList.Add(temp); - } - } - return resulstList; - } +// // find the critical points +// if (cveResults.Count == 0) { +// return null; +// } +// List resulstList = []; +// foreach (Package x in depTree) { +// PackageResult? temp = CheckVulnerabilities(x, cveResults); +// if (temp is not null) { +// resulstList.Add(temp); +// } +// } +// return resulstList; +// } - /// - /// Searches for all node package dependencies of a single node package. - /// - /// Node package to search - /// List of all node package dependencies of a single node package. - private List AnalyzeSubtree(Package nodePackage) { - List res = []; - foreach (Package x in nodePackage.Dependencies) { - res.AddRange(AnalyzeSubtree(x)); - } - res.Add(nodePackage); - return res; - } +// /// +// /// Searches for all node package dependencies of a single node package. +// /// +// /// Node package to search +// /// List of all node package dependencies of a single node package. +// private List AnalyzeSubtree(Package nodePackage) { +// List res = []; +// foreach (Package x in nodePackage.Dependencies) { +// res.AddRange(AnalyzeSubtree(x)); +// } +// res.Add(nodePackage); +// return res; +// } - /// - /// Compares node package dependencies with cve data. - /// - /// Package to search for cve tracked dependencies. - /// List of CveResult data. - /// NodePackageResult with all dependencies and status if it is a cve tracked dependency. - private PackageResult? CheckVulnerabilities(Package package, List cveData) { - PackageResult r = new PackageResult() { - Name = "", - isCveTracked = false - }; - foreach (Package x in package.Dependencies) { - PackageResult? temp = CheckVulnerabilities(x, cveData); - if (temp is not null) { - r.Dependencies.Add(temp); - } - } - foreach (CveResult x in cveData) { // check - if (x.Designation.Equals(package.Name)) { - r.isCveTracked = true; - r.CvssV31 = x.CvssV31; - r.Description = x.Description; - } - } - if (r.isCveTracked == false && !DepCheck(r)) { - return null; - } - r.Name = package.Name; - r.Version = package.Version; - return r; - } +// /// +// /// Compares node package dependencies with cve data. +// /// +// /// Package to search for cve tracked dependencies. +// /// List of CveResult data. +// /// NodePackageResult with all dependencies and status if it is a cve tracked dependency. +// private PackageResult? CheckVulnerabilities(Package package, List cveData) { +// PackageResult r = new PackageResult() { +// Name = "", +// isCveTracked = false +// }; +// foreach (Package x in package.Dependencies) { +// PackageResult? temp = CheckVulnerabilities(x, cveData); +// if (temp is not null) { +// r.Dependencies.Add(temp); +// } +// } +// foreach (CveResult x in cveData) { // check +// if (x.Designation.Equals(package.Name)) { +// r.isCveTracked = true; +// r.CvssV31 = x.CvssV31; +// r.Description = x.Description; +// } +// } +// if (r.isCveTracked == false && !DepCheck(r)) { +// return null; +// } +// r.Name = package.Name; +// r.Version = package.Version; +// return r; +// } - /// - /// If Package is cve tracked, return true. Check all dependencies recursively. - /// - /// - /// True if any dependency is tracked. False if no dependencies are tracked. - private bool DepCheck(PackageResult package) { - foreach (PackageResult x in package.Dependencies) { - bool isTracked = DepCheck(x); - if (isTracked) { - goto isTrue; - } - } - if (package.isCveTracked) { - return true; - } - else { - return false; - } - isTrue: - return true; - } +// /// +// /// If Package is cve tracked, return true. Check all dependencies recursively. +// /// +// /// +// /// True if any dependency is tracked. False if no dependencies are tracked. +// private bool DepCheck(PackageResult package) { +// foreach (PackageResult x in package.Dependencies) { +// bool isTracked = DepCheck(x); +// if (isTracked) { +// goto isTrue; +// } +// } +// if (package.isCveTracked) { +// return true; +// } +// else { +// return false; +// } +// isTrue: +// return true; +// } - private DataTable SearchInMySql(string packageName) { - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); +// private DataTable SearchInMySql(string packageName) { +// // MySql Connection +// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - MySqlCommand cmd = new MySqlCommand($"" + - $"SELECT cve_number, designation, version_affected, full_text " + - $"FROM cve.cve " + - $"WHERE designation='{packageName}';", connection); +// MySqlCommand cmd = new MySqlCommand($"" + +// $"SELECT cve_number, designation, version_affected, full_text " + +// $"FROM cve.cve " + +// $"WHERE designation='{packageName}';", connection); - DataTable dataTable = new DataTable(); - using (Operation.Time($"Query-Time for Package \"{packageName}\"")) { - // read the result - connection.Open(); - MySqlDataReader reader = cmd.ExecuteReader(); - dataTable.Load(reader); - connection.Close(); - } - return dataTable; - } - } -} +// DataTable dataTable = new DataTable(); +// using (Operation.Time($"Query-Time for Package \"{packageName}\"")) { +// // read the result +// connection.Open(); +// MySqlDataReader reader = cmd.ExecuteReader(); +// dataTable.Load(reader); +// connection.Close(); +// } +// return dataTable; +// } +// } +//} diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/GitController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/GitController.cs index 0de5408..6282c42 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/GitController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/GitController.cs @@ -1,354 +1,354 @@ -using Microsoft.AspNetCore.Mvc; -using Modells; -using MySql.Data.MySqlClient; -using Newtonsoft.Json; -using SerilogTimings; -using System.Data; -using System.Diagnostics; -using System.Net.Http.Headers; -using System.Text.RegularExpressions; -using CM = System.Configuration.ConfigurationManager; - -namespace AmIVulnerable.Controllers { - - [Route("api/[controller]")] - [ApiController] - public class GitController : ControllerBase { - - #region Config - /// - private readonly IConfiguration Configuration; - - /// - /// - public GitController(IConfiguration configuration) { - Configuration = configuration; - } - #endregion - - #region Controller - - /// - /// - /// - [HttpPost] - [Route("repository")] - public async Task CloneRepoToAnalyze([FromBody] RepoObject repoObject) { - if (repoObject.RepoUrl is null) { - return BadRequest(); - } - - // check if repo already cloned - DataTable tempTable = ExecuteMySqlCommand($"" + - $"SELECT * " + - $"FROM cve.repositories " + - $"WHERE repoUrl='{repoObject.RepoUrl}' AND tag='{repoObject.RepoTag}';"); - - if (tempTable.Rows.Count > 0) { - return Ok(tempTable.Rows[0]["guid"]); - } - else { // clone the repo - Guid repoId = Guid.NewGuid(); - string trimmedUrl = repoObject.RepoUrl[(repoObject.RepoUrl.IndexOf("//") + 2)..(repoObject.RepoUrl.Length)]; - trimmedUrl = trimmedUrl[(trimmedUrl.IndexOf('/') + 1)..(trimmedUrl.Length)]; - string owner = trimmedUrl[0..trimmedUrl.IndexOf('/', 1)]; - string designation = trimmedUrl[(owner.Length + 1)..trimmedUrl.Length]; - if (designation.Contains('/')) { - designation = designation[0..trimmedUrl.IndexOf('/', owner.Length + 1)]; - } - - ExecuteMySqlCommand($"" + - $"INSERT INTO cve.repositories (guid, repoUrl, repoOwner, repoDesignation, tag) " + - $"VALUES (" + - $"'{repoId}'," + - $"'{repoObject.RepoUrl}'," + - $"'{owner}'," + - $"'{designation}'," + - $"'{repoObject.RepoTag ?? ""}');"); - - await Clone(repoObject.RepoUrl, repoObject.RepoTag ?? "", repoId.ToString()); - - return Ok(repoId); - } - } - - /// Gets guid, tag, ... of all Repositories that have been cloned - /// Return all data of repos - [HttpGet] - [Route("allrepositories")] - public async Task GetRepositories() { - DataTable repositoryQuery = ExecuteMySqlCommand($"" + - $"SELECT * " + - $"FROM cve.repositories;"); - - if (repositoryQuery.Rows.Count == 0) { - return NoContent(); - } - - List list = []; - foreach (DataRow row in repositoryQuery.Rows) { - list.Add(new { - guid = row["guid"], - repoUrl = row["repoUrl"], - repoOwner = row["repoOwner"], - repoDesignation = row["repoDesignation"], - tag = row["tag"] - }); - } - - return Ok(list); - } - - /// - /// - [HttpPost] - [Route("pullCveAndConvert")] - public IActionResult pullCveAndConvert() { - try { - ProcessStartInfo process = new ProcessStartInfo { - FileName = "bash", - RedirectStandardInput = true, - WorkingDirectory = $"", - }; - - Process runProcess = Process.Start(process)!; - runProcess.StandardInput.WriteLine($"git " + - $"clone {CM.AppSettings["StandardCveUrlPlusTag"]!} " + // git url - $"--branch cve_2023-12-31_at_end_of_day " + // tag - $"raw"); // target dir - runProcess.StandardInput.WriteLine($"exit"); - runProcess.WaitForExit(); - - #region - using (Operation.Time("ConvertRawCveToDb")) { - List fileList = new List(); - List indexToDelete = new List(); - string path = "raw"; - ExploreFolder(path, fileList); - - //filter for json files - foreach (int i in Enumerable.Range(0, fileList.Count)) { - if (!Regex.IsMatch(fileList[i], @"CVE-[-\S]+.json")) { - indexToDelete.Add(i); - } - } - foreach (int i in Enumerable.Range(0, indexToDelete.Count)) { - fileList.RemoveAt(indexToDelete[i] - i); - } - - try { - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - - // Create the Table cve.cve if it is not already there. - MySqlCommand cmdTable = new MySqlCommand("" + - "CREATE TABLE IF NOT EXISTS cve.cve(" + - "cve_number VARCHAR(20) PRIMARY KEY NOT NULL," + - "designation VARCHAR(1000) NOT NULL," + - "version_affected TEXT NOT NULL," + - "full_text MEDIUMTEXT NOT NULL" + - ")", connection); - connection.Open(); - cmdTable.ExecuteNonQuery(); - connection.Close(); - - int insertIndex = 0; - foreach (string x in fileList) { - string insertIntoString = "INSERT INTO cve(cve_number, designation, version_affected, full_text) VALUES(@cve, @des, @ver, @ful)"; - MySqlCommand cmdInsert = new MySqlCommand(insertIntoString, connection); - - string json = System.IO.File.ReadAllText(x); - CVEcomp cve = JsonConvert.DeserializeObject(json)!; - - string affected = ""; - foreach (Affected y in cve.containers.cna.affected) { - foreach (Modells.Version z in y.versions) { - affected += z.version + $"({z.status}) |"; - } - } - if (affected.Length > 25_000) { - affected = "to long -> view full_text"; - } - string product = "| "; - try { - foreach (Affected singleProduct in cve.containers.cna.affected) { - product += singleProduct.product + " | "; - } - if (product.Length > 1000) { - product = product[0..1000]; - } - if (product.Equals("| ")) { - product = "n/a"; - } - } - catch { - product = "n/a"; - } - cmdInsert.Parameters.AddWithValue("@cve", cve.cveMetadata.cveId); - cmdInsert.Parameters.AddWithValue("@des", product); - cmdInsert.Parameters.AddWithValue("@ver", affected); - cmdInsert.Parameters.AddWithValue("@ful", JsonConvert.SerializeObject(cve, Formatting.None)); - - connection.Open(); - insertIndex += cmdInsert.ExecuteNonQuery(); - connection.Close(); - } - - //connection.Open(); - //MySqlCommand cmdIndexCreated = new MySqlCommand("CREATE INDEX idx_designation ON cve (designation);", connection); - //cmdIndexCreated.ExecuteNonQuery(); - //connection.Close(); - - return Ok(insertIndex); - } - catch (Exception ex) { - return BadRequest(ex.StackTrace + "\n\n" + ex.Message); - } - } - #endregion - } - catch (Exception ex) { - return BadRequest(ex.Message); - } - } - #endregion - - #region Internal function(s) - /// - /// Adds file names of all files of a folder and its subfolders to a list - /// - /// path to target folder - /// list of files - private static void ExploreFolder(string folderPath, List fileList) { - try { - fileList.AddRange(Directory.GetFiles(folderPath)); - - foreach (string subfolder in Directory.GetDirectories(folderPath)) { - ExploreFolder(subfolder, fileList); - } - } - catch (Exception ex) { - Console.WriteLine($"{ex.Message}"); - } - } - - /// Search package in raw-json data - /// Name of package to search - /// List of CveResults - private List SearchInJson(string packageName) { - List fileList = new List(); - List indexToDelete = new List(); - string path = $"{AppDomain.CurrentDomain.BaseDirectory}raw"; - ExploreFolder(path, fileList); - - foreach (int i in Enumerable.Range(0, fileList.Count)) { - if (!Regex.IsMatch(fileList[i], @"CVE-[-\S]+.json")) { - indexToDelete.Add(i); - } - } - foreach (int i in Enumerable.Range(0, indexToDelete.Count)) { - fileList.RemoveAt(indexToDelete[i] - i); - } - // search in the files - List results = []; - using (Operation.Time($"Package \"{packageName}\"")) { - int start = 0; - foreach (int i in Enumerable.Range(start, fileList.Count - start)) { - CVEcomp item = JsonConvert.DeserializeObject(System.IO.File.ReadAllText(fileList[i]))!; - if (i % 100 == 0) { - Console.WriteLine(fileList[i] + " - " + i); - } - if (item.containers.cna.affected is null || item.containers.cna.affected.Any(x => x.product is null)) { - continue; - } - if (item.containers.cna.affected.Any(y => y.product.Equals(packageName))) { - foreach (int j in Enumerable.Range(0, item.containers.cna.affected.Count)) { - foreach (Modells.Version version in item.containers.cna.affected[j].versions) { - results.Add(new CveResult() { - CveNumber = item.cveMetadata.cveId, - Version = version.version, - }); - } - } - } - } - } - return results; - } - - /// - /// Clone a git repository. - /// - /// URL of git project to clone. - /// Tag of git project. - /// Directory where to clone project into. - /// - private static async Task Clone(string url, string tag, string dir) { - try { - await Task.Run(() => { - if (Directory.Exists(dir)) { - RemoveReadOnlyAttribute(dir); - Directory.Delete(dir, true); - } - if (tag.Equals("")) { - Process.Start("git", $"clone {url} {dir}"); - } - else { - try { - Process.Start("git", $"clone {url} --branch {tag} {AppDomain.CurrentDomain.BaseDirectory}{dir}"); - } - catch (Exception ex) { - Console.WriteLine("Error with clone, tag?\n" + ex.Message); - return; // leave CloneFinished false - } - } - #region For Reminder - //if (s) { - // Repository.Clone(url, AppDomain.CurrentDomain.BaseDirectory + "raw", new CloneOptions { - // BranchName = "cve_2023-12-31_at_end_of_day", - // IsBare = true, - // }); - //} - //else { - // Repository.Clone(url, AppDomain.CurrentDomain.BaseDirectory + "raw"); - //} - #endregion - }); - } - catch (Exception ex) { - await Console.Out.WriteLineAsync(ex.StackTrace); - } - } - - /// - /// Removes read only access of files. - /// - /// File path to folder where all read only attributes of files need to be removed. - private static void RemoveReadOnlyAttribute(string path) { - DirectoryInfo directoryInfo = new DirectoryInfo(path); - - foreach (FileInfo file in directoryInfo.GetFiles()) { - file.Attributes &= ~FileAttributes.ReadOnly; - } - - foreach (DirectoryInfo subDirectory in directoryInfo.GetDirectories()) { - RemoveReadOnlyAttribute(subDirectory.FullName); - } - } - - private DataTable ExecuteMySqlCommand(string command) { - // MySql Connection - MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - - MySqlCommand cmd = new MySqlCommand(command, connection); - - DataTable dataTable = new DataTable(); - connection.Open(); - MySqlDataReader reader = cmd.ExecuteReader(); - dataTable.Load(reader); - connection.Close(); - return dataTable; - } - #endregion - } -} +//using Microsoft.AspNetCore.Mvc; +//using Modells; +//using MySql.Data.MySqlClient; +//using Newtonsoft.Json; +//using SerilogTimings; +//using System.Data; +//using System.Diagnostics; +//using System.Net.Http.Headers; +//using System.Text.RegularExpressions; +//using CM = System.Configuration.ConfigurationManager; + +//namespace AmIVulnerable.Controllers { + +// //[Route("api/[controller]")] +// //[ApiController] +// public class GitController : ControllerBase { + +// #region Config +// /// +// private readonly IConfiguration Configuration; + +// /// +// /// +// public GitController(IConfiguration configuration) { +// Configuration = configuration; +// } +// #endregion + +// #region Controller + +// /// +// /// +// /// +// //[HttpPost] +// //[Route("repository")] +// public async Task CloneRepoToAnalyze([FromBody] RepoObject repoObject) { +// if (repoObject.RepoUrl is null) { +// return BadRequest(); +// } + +// // check if repo already cloned +// DataTable tempTable = ExecuteMySqlCommand($"" + +// $"SELECT * " + +// $"FROM cve.repositories " + +// $"WHERE repoUrl='{repoObject.RepoUrl}' AND tag='{repoObject.RepoTag}';"); + +// if (tempTable.Rows.Count > 0) { +// return Ok(tempTable.Rows[0]["guid"]); +// } +// else { // clone the repo +// Guid repoId = Guid.NewGuid(); +// string trimmedUrl = repoObject.RepoUrl[(repoObject.RepoUrl.IndexOf("//") + 2)..(repoObject.RepoUrl.Length)]; +// trimmedUrl = trimmedUrl[(trimmedUrl.IndexOf('/') + 1)..(trimmedUrl.Length)]; +// string owner = trimmedUrl[0..trimmedUrl.IndexOf('/', 1)]; +// string designation = trimmedUrl[(owner.Length + 1)..trimmedUrl.Length]; +// if (designation.Contains('/')) { +// designation = designation[0..trimmedUrl.IndexOf('/', owner.Length + 1)]; +// } + +// ExecuteMySqlCommand($"" + +// $"INSERT INTO cve.repositories (guid, repoUrl, repoOwner, repoDesignation, tag) " + +// $"VALUES (" + +// $"'{repoId}'," + +// $"'{repoObject.RepoUrl}'," + +// $"'{owner}'," + +// $"'{designation}'," + +// $"'{repoObject.RepoTag ?? ""}');"); + +// await Clone(repoObject.RepoUrl, repoObject.RepoTag ?? "", repoId.ToString()); + +// return Ok(repoId); +// } +// } + +// /// Gets guid, tag, ... of all Repositories that have been cloned +// /// Return all data of repos +// //[HttpGet] +// //[Route("allrepositories")] +// public async Task GetRepositories() { +// DataTable repositoryQuery = ExecuteMySqlCommand($"" + +// $"SELECT * " + +// $"FROM cve.repositories;"); + +// if (repositoryQuery.Rows.Count == 0) { +// return NoContent(); +// } + +// List list = []; +// foreach (DataRow row in repositoryQuery.Rows) { +// list.Add(new { +// guid = row["guid"], +// repoUrl = row["repoUrl"], +// repoOwner = row["repoOwner"], +// repoDesignation = row["repoDesignation"], +// tag = row["tag"] +// }); +// } + +// return Ok(list); +// } + +// /// +// /// +// //[HttpPost] +// //[Route("pullCveAndConvert")] +// public IActionResult pullCveAndConvert() { +// try { +// ProcessStartInfo process = new ProcessStartInfo { +// FileName = "bash", +// RedirectStandardInput = true, +// WorkingDirectory = $"", +// }; + +// Process runProcess = Process.Start(process)!; +// runProcess.StandardInput.WriteLine($"git " + +// $"clone {CM.AppSettings["StandardCveUrlPlusTag"]!} " + // git url +// $"--branch cve_2023-12-31_at_end_of_day " + // tag +// $"raw"); // target dir +// runProcess.StandardInput.WriteLine($"exit"); +// runProcess.WaitForExit(); + +// #region +// using (Operation.Time("ConvertRawCveToDb")) { +// List fileList = new List(); +// List indexToDelete = new List(); +// string path = "raw"; +// ExploreFolder(path, fileList); + +// //filter for json files +// foreach (int i in Enumerable.Range(0, fileList.Count)) { +// if (!Regex.IsMatch(fileList[i], @"CVE-[-\S]+.json")) { +// indexToDelete.Add(i); +// } +// } +// foreach (int i in Enumerable.Range(0, indexToDelete.Count)) { +// fileList.RemoveAt(indexToDelete[i] - i); +// } + +// try { +// // MySql Connection +// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + +// // Create the Table cve.cve if it is not already there. +// MySqlCommand cmdTable = new MySqlCommand("" + +// "CREATE TABLE IF NOT EXISTS cve.cve(" + +// "cve_number VARCHAR(20) PRIMARY KEY NOT NULL," + +// "designation VARCHAR(1000) NOT NULL," + +// "version_affected TEXT NOT NULL," + +// "full_text MEDIUMTEXT NOT NULL" + +// ")", connection); +// connection.Open(); +// cmdTable.ExecuteNonQuery(); +// connection.Close(); + +// int insertIndex = 0; +// foreach (string x in fileList) { +// string insertIntoString = "INSERT INTO cve(cve_number, designation, version_affected, full_text) VALUES(@cve, @des, @ver, @ful)"; +// MySqlCommand cmdInsert = new MySqlCommand(insertIntoString, connection); + +// string json = System.IO.File.ReadAllText(x); +// CVEcomp cve = JsonConvert.DeserializeObject(json)!; + +// string affected = ""; +// foreach (Affected y in cve.containers.cna.affected) { +// foreach (Modells.Version z in y.versions) { +// affected += z.version + $"({z.status}) |"; +// } +// } +// if (affected.Length > 25_000) { +// affected = "to long -> view full_text"; +// } +// string product = "| "; +// try { +// foreach (Affected singleProduct in cve.containers.cna.affected) { +// product += singleProduct.product + " | "; +// } +// if (product.Length > 1000) { +// product = product[0..1000]; +// } +// if (product.Equals("| ")) { +// product = "n/a"; +// } +// } +// catch { +// product = "n/a"; +// } +// cmdInsert.Parameters.AddWithValue("@cve", cve.cveMetadata.cveId); +// cmdInsert.Parameters.AddWithValue("@des", product); +// cmdInsert.Parameters.AddWithValue("@ver", affected); +// cmdInsert.Parameters.AddWithValue("@ful", JsonConvert.SerializeObject(cve, Formatting.None)); + +// connection.Open(); +// insertIndex += cmdInsert.ExecuteNonQuery(); +// connection.Close(); +// } + +// //connection.Open(); +// //MySqlCommand cmdIndexCreated = new MySqlCommand("CREATE INDEX idx_designation ON cve (designation);", connection); +// //cmdIndexCreated.ExecuteNonQuery(); +// //connection.Close(); + +// return Ok(insertIndex); +// } +// catch (Exception ex) { +// return BadRequest(ex.StackTrace + "\n\n" + ex.Message); +// } +// } +// #endregion +// } +// catch (Exception ex) { +// return BadRequest(ex.Message); +// } +// } +// #endregion + +// #region Internal function(s) +// /// +// /// Adds file names of all files of a folder and its subfolders to a list +// /// +// /// path to target folder +// /// list of files +// private static void ExploreFolder(string folderPath, List fileList) { +// try { +// fileList.AddRange(Directory.GetFiles(folderPath)); + +// foreach (string subfolder in Directory.GetDirectories(folderPath)) { +// ExploreFolder(subfolder, fileList); +// } +// } +// catch (Exception ex) { +// Console.WriteLine($"{ex.Message}"); +// } +// } + +// /// Search package in raw-json data +// /// Name of package to search +// /// List of CveResults +// private List SearchInJson(string packageName) { +// List fileList = new List(); +// List indexToDelete = new List(); +// string path = $"{AppDomain.CurrentDomain.BaseDirectory}raw"; +// ExploreFolder(path, fileList); + +// foreach (int i in Enumerable.Range(0, fileList.Count)) { +// if (!Regex.IsMatch(fileList[i], @"CVE-[-\S]+.json")) { +// indexToDelete.Add(i); +// } +// } +// foreach (int i in Enumerable.Range(0, indexToDelete.Count)) { +// fileList.RemoveAt(indexToDelete[i] - i); +// } +// // search in the files +// List results = []; +// using (Operation.Time($"Package \"{packageName}\"")) { +// int start = 0; +// foreach (int i in Enumerable.Range(start, fileList.Count - start)) { +// CVEcomp item = JsonConvert.DeserializeObject(System.IO.File.ReadAllText(fileList[i]))!; +// if (i % 100 == 0) { +// Console.WriteLine(fileList[i] + " - " + i); +// } +// if (item.containers.cna.affected is null || item.containers.cna.affected.Any(x => x.product is null)) { +// continue; +// } +// if (item.containers.cna.affected.Any(y => y.product.Equals(packageName))) { +// foreach (int j in Enumerable.Range(0, item.containers.cna.affected.Count)) { +// foreach (Modells.Version version in item.containers.cna.affected[j].versions) { +// results.Add(new CveResult() { +// CveNumber = item.cveMetadata.cveId, +// Version = version.version, +// }); +// } +// } +// } +// } +// } +// return results; +// } + +// /// +// /// Clone a git repository. +// /// +// /// URL of git project to clone. +// /// Tag of git project. +// /// Directory where to clone project into. +// /// +// private static async Task Clone(string url, string tag, string dir) { +// try { +// await Task.Run(() => { +// if (Directory.Exists(dir)) { +// RemoveReadOnlyAttribute(dir); +// Directory.Delete(dir, true); +// } +// if (tag.Equals("")) { +// Process.Start("git", $"clone {url} {dir}"); +// } +// else { +// try { +// Process.Start("git", $"clone {url} --branch {tag} {AppDomain.CurrentDomain.BaseDirectory}{dir}"); +// } +// catch (Exception ex) { +// Console.WriteLine("Error with clone, tag?\n" + ex.Message); +// return; // leave CloneFinished false +// } +// } +// #region For Reminder +// //if (s) { +// // Repository.Clone(url, AppDomain.CurrentDomain.BaseDirectory + "raw", new CloneOptions { +// // BranchName = "cve_2023-12-31_at_end_of_day", +// // IsBare = true, +// // }); +// //} +// //else { +// // Repository.Clone(url, AppDomain.CurrentDomain.BaseDirectory + "raw"); +// //} +// #endregion +// }); +// } +// catch (Exception ex) { +// await Console.Out.WriteLineAsync(ex.StackTrace); +// } +// } + +// /// +// /// Removes read only access of files. +// /// +// /// File path to folder where all read only attributes of files need to be removed. +// private static void RemoveReadOnlyAttribute(string path) { +// DirectoryInfo directoryInfo = new DirectoryInfo(path); + +// foreach (FileInfo file in directoryInfo.GetFiles()) { +// file.Attributes &= ~FileAttributes.ReadOnly; +// } + +// foreach (DirectoryInfo subDirectory in directoryInfo.GetDirectories()) { +// RemoveReadOnlyAttribute(subDirectory.FullName); +// } +// } + +// private DataTable ExecuteMySqlCommand(string command) { +// // MySql Connection +// MySqlConnection connection = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + +// MySqlCommand cmd = new MySqlCommand(command, connection); + +// DataTable dataTable = new DataTable(); +// connection.Open(); +// MySqlDataReader reader = cmd.ExecuteReader(); +// dataTable.Load(reader); +// connection.Close(); +// return dataTable; +// } +// #endregion +// } +//} diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/MySqlConnectionController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/MySqlConnectionController.cs index 762d862..09b6501 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/MySqlConnectionController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/MySqlConnectionController.cs @@ -1,41 +1,41 @@ -using Microsoft.AspNetCore.Mvc; -using MySql.Data.MySqlClient; -using SerilogTimings; -using System.Data; - -namespace AmIVulnerable.Controllers { - - [Route("api/[controller]")] - [ApiController] - public class MySqlConnectionController : ControllerBase { - - private readonly IConfiguration Configuration; - - public MySqlConnectionController(IConfiguration configuration) { - Configuration = configuration; - } - - [HttpGet, Route("checkReachable")] - public IActionResult PingWithDb() { - using (Operation.Time("TaskDuration")) { - try { - MySqlConnection c = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); - - MySqlCommand cmd = new MySqlCommand("SELECT cve_number, designation FROM cve.cve", c); - - c.Open(); - MySqlDataReader reader = cmd.ExecuteReader(); - DataTable dataTable = new DataTable(); - dataTable.Load(reader); - reader.Close(); - c.Close(); - - return Ok(); - } - catch (Exception ex) { - return BadRequest(ex.StackTrace!.ToString()); - } - } - } - } -} +//using Microsoft.AspNetCore.Mvc; +//using MySql.Data.MySqlClient; +//using SerilogTimings; +//using System.Data; + +//namespace AmIVulnerable.Controllers { + +// //[Route("api/[controller]")] +// //[ApiController] +// public class MySqlConnectionController : ControllerBase { + +// private readonly IConfiguration Configuration; + +// public MySqlConnectionController(IConfiguration configuration) { +// Configuration = configuration; +// } + +// //[HttpGet, Route("checkReachable")] +// public IActionResult PingWithDb() { +// using (Operation.Time("TaskDuration")) { +// try { +// MySqlConnection c = new MySqlConnection(Configuration["ConnectionStrings:cvedb"]); + +// MySqlCommand cmd = new MySqlCommand("SELECT cve_number, designation FROM cve.cve", c); + +// c.Open(); +// MySqlDataReader reader = cmd.ExecuteReader(); +// DataTable dataTable = new DataTable(); +// dataTable.Load(reader); +// reader.Close(); +// c.Close(); + +// return Ok(); +// } +// catch (Exception ex) { +// return BadRequest(ex.StackTrace!.ToString()); +// } +// } +// } +// } +//} diff --git a/code/AmIVulnerable/AmIVulnerable/Controllers/ViewController.cs b/code/AmIVulnerable/AmIVulnerable/Controllers/ViewController.cs index f9d4734..eecca09 100644 --- a/code/AmIVulnerable/AmIVulnerable/Controllers/ViewController.cs +++ b/code/AmIVulnerable/AmIVulnerable/Controllers/ViewController.cs @@ -1,35 +1,35 @@ -using Microsoft.AspNetCore.Mvc; +//using Microsoft.AspNetCore.Mvc; -namespace AmIVulnerable.Controllers { +//namespace AmIVulnerable.Controllers { - [Route("views")] - [Controller] - public class ViewController : Controller { +// //[Route("views")] +// //[Controller] +// public class ViewController : Controller { - [HttpGet] - [Route("cveResult")] - public IActionResult CveResultLdGet() { - if (!(this.Request.Headers.Accept.Equals("text/html") || this.Request.Headers.Accept.Equals("*/*"))) { - return StatusCode(406); - } - string path = Path.Combine(Directory.GetCurrentDirectory() + @"/Controllers/Views", "cveResult-ld.html"); +// //[HttpGet] +// //[Route("cveResult")] +// public IActionResult CveResultLdGet() { +// if (!(this.Request.Headers.Accept.Equals("text/html") || this.Request.Headers.Accept.Equals("*/*"))) { +// return StatusCode(406); +// } +// string path = Path.Combine(Directory.GetCurrentDirectory() + @"/Controllers/Views", "cveResult-ld.html"); - return Content(System.IO.File.ReadAllText(path), "text/html"); - } +// return Content(System.IO.File.ReadAllText(path), "text/html"); +// } - /// - /// API-Get request to show json-ld data. - /// - /// Json-ld data as html - [HttpGet] - [Route("nodePackageResult")] - public IActionResult NodePackageResultLdGet() { - if (!(this.Request.Headers.Accept.Equals("text/html") || this.Request.Headers.Accept.Equals("*/*"))) { - return StatusCode(406); - } - string path = Path.Combine(Directory.GetCurrentDirectory() + @"/Controllers/Views", "nodePackageResult-ld.html"); +// /// +// /// API-Get request to show json-ld data. +// /// +// /// Json-ld data as html +// //[HttpGet] +// //[Route("nodePackageResult")] +// public IActionResult NodePackageResultLdGet() { +// if (!(this.Request.Headers.Accept.Equals("text/html") || this.Request.Headers.Accept.Equals("*/*"))) { +// return StatusCode(406); +// } +// string path = Path.Combine(Directory.GetCurrentDirectory() + @"/Controllers/Views", "nodePackageResult-ld.html"); - return Content(System.IO.File.ReadAllText(path), "text/html"); - } - } -} +// return Content(System.IO.File.ReadAllText(path), "text/html"); +// } +// } +//} diff --git a/code/AmIVulnerable/AmIVulnerable/Program.cs b/code/AmIVulnerable/AmIVulnerable/Program.cs index f824dd7..19adbf4 100644 --- a/code/AmIVulnerable/AmIVulnerable/Program.cs +++ b/code/AmIVulnerable/AmIVulnerable/Program.cs @@ -1,3 +1,4 @@ +using Microsoft.OpenApi.Models; using Serilog; using Serilog.Events; @@ -13,7 +14,13 @@ public static void Main (string[] args) { builder.Services.AddControllers(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); - builder.Services.AddSwaggerGen(); + builder.Services.AddSwaggerGen(options => + { + options.SwaggerDoc("v1", new OpenApiInfo { + Version = "v2", + Title = "AmIVulnerable API" + }); + }); WebApplication app = builder.Build(); From 8f62d31d441eac1227e3ca0b85ceccfd3311d96d Mon Sep 17 00:00:00 2001 From: KnYL3R Date: Wed, 6 Nov 2024 18:33:26 +0100 Subject: [PATCH 45/45] delete data dir --- data/questions.txt | 80 - data/result_dep_1.json | 6404 ------------------ data/result_dep_2.json | 13604 -------------------------------------- data/result_vuln_1.json | 2931 -------- data/rxjs.json | 64 - 5 files changed, 23083 deletions(-) delete mode 100644 data/questions.txt delete mode 100644 data/result_dep_1.json delete mode 100644 data/result_dep_2.json delete mode 100644 data/result_vuln_1.json delete mode 100644 data/rxjs.json diff --git a/data/questions.txt b/data/questions.txt deleted file mode 100644 index 99f2e24..0000000 --- a/data/questions.txt +++ /dev/null @@ -1,80 +0,0 @@ -Vorbetrachtung: - Es ist nicht klar ob die Schwachstelle in der Applikation im Code erreichbar ist. - Es ist nicht klar ob die Schwachstelle ein ZeroDay-Exploit ist - Der BaseScore ist zwischen 0.0 und 10.0 festgelegt und wird aus einem Vektor (Komplexität, Angriffstyp, UseInteraction gebraucht?, Privilegien gebraucht?, Welchen Impact?) berechnet. - -Fragen: - 1. - Da die einzige Möglichkeit Schwachstellen durch Abhängigkeiten zu schließen das Anpassen bzw. Ändern von direkten Abhängigkeiten ist, sind Betrachtungen nur auf direkter Abhängigkeitsebene sinnvoll (Schwachstellen selbst, solange diese nicht direkt sondern transitiv sind, sind nicht zu betrachten. Z.B. Wie oft ist diese Schwachstelle eingebunden, ...) (Ja/Nein?) - - 2. - Direkte Schwachstellen sind immer vor transitiven Schwachstellen zu priorisieren (Ja/Nein) - - 3. - Eine direkte Abhängigkeit weist eine Schwachstelle auf, die mit dem BaseScore 7.0 bewertet wurde. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 4.1 - Eine direkte Abhängigkeit weist zwei Schwachstellen auf, die mit BaseScore 6.0 und 5.0 bewertet wurden. Es ist hierbei nicht klar wo sich die Schwachstellen im Vektor unterscheiden. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 4.2 - Eine direkte Abhängigkeit weist zwei Schwachstellen auf, die mit BaseScore 2.0 und 8.0 bewertet wurden. Es ist hierbei nicht klar wo sich die Schwachstellen im Vektor unterscheiden. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 4.3 - Eine direkte Abhängigkeit weist zwei Schwachstellen auf, die mit BaseScore 1.0 und 2.0 bewertet wurden. Es ist hierbei nicht klar wo sich die Schwachstellen im Vektor unterscheiden. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 5.1 - Eine direkte Abhängigkeit weist eine transitive Schwachstelle auf der zweiten ebene auf, die mit dem BaseScore 7.0 bewertet wurde. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 5.2 - Eine direkte Abhängigkeit weist eine transitive Schwachstelle auf der dritten ebene auf (direkt -> X -> X -> Schwachstelle), die mit dem BaseScore 7.0 bewertet wurde. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 5.2 - Eine direkte Abhängigkeit weist eine transitive Schwachstelle auf der vierten ebene auf, die mit dem BaseScore 7.0 bewertet wurde. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 6. - Welche Teile des Vektors sollten Ihrer Meinung nach eine besonders hohe Gewichtung bei der Berechnung eines Scores haben? - Vektor: Attack Vector (Network, Adjacent, Local, Physical), - AttackComplexity (Low, High), - PrivilegesRequired (None, Low, High), - UserInteraction (NotRequired, Required), - ConfidentialityImpact (None, Low, High), - IntegrityImpact (None, Low, High), - AvailabilityImpact (None, Low, High) - - 7. - Ab welcher Transitiven Tiefe ist eine Schwachstelle mit dem BaseScore 4.0 Ihrer Meinung nach nicht mehr zu betrachten (Oder sind immer alle zu betrachten?). - - 8. - Eine direkte Abhängigkeit weist direkt eine Schwachstelle mit dem BaseScore 6.0 auf. Diese ist allerdings schon seit mehr als 3 Monaten bekannt. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 9. - Eine direkte Abhängigkeit weist direkt eine Schwachstelle mit dem BaseScore 6.0 auf. Diese ist allerdings schon seit mehr als 6 Monaten bekannt. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 10. - Eine direkte Abhängigkeit weist direkt eine Schwachstelle mit dem BaseScore 6.0 auf. Diese ist allerdings schon seit mehr als 12 Monaten bekannt. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 11. - Eine direkte Abhängigkeit hat eine Schwachstelle mit dem BaseScore 4.5 und eine transitive Schwachstelle, welche durch eine andere direkte Abhängigkeit eingebunden wurde, weist einen BaseScore von 8.0 auf, wobei sich diese auf den zweiten transitiven Level befindet. - Welche Schwachstelle würden Sie zuerst Priorisieren (basierend auf dem BaseScore)? - - 12. Eine direkte schwachstellenbehaftete Abhängigkeit mit einem BaseScore von 5 hat selbst insgesamt 0 direkte bzw. transitive Abhängigkeiten. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 13. Eine direkte schwachstellenbehaftete Abhängigkeit mit einem BaseScore von 5 hat selbst insgesamt 10 direkte bzw. transitive Abhängigkeiten. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 14. Eine direkte schwachstellenbehaftete Abhängigkeit mit einem BaseScore von 5 hat selbst insgesamt 30 direkte bzw. transitive Abhängigkeiten. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? - - 15. Eine direkte schwachstellenbehaftete Abhängigkeit mit einem BaseScore von 5 hat selbst insgesamt 10 direkte bzw. transitive Abhängigkeiten wobei davon 2 Schwachstellen (3.0, 8.0) aufweisen. - Auf einer Skala von 0.0 (niedrigste Kritikalität) bis 10.0 (höchste Kritikalität) wie würden Sie diese direkte schwachstellenbehaftete Abhängigkeit einschätzen? \ No newline at end of file diff --git a/data/result_dep_1.json b/data/result_dep_1.json deleted file mode 100644 index 8694472..0000000 --- a/data/result_dep_1.json +++ /dev/null @@ -1,6404 +0,0 @@ -[ - { - "projectUrl": "https://github.com/jquery/jquery.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "@prantlf/jsonlint", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "promises-aplus-tests", - "vulnerabilities": [ - { - "name": "debug", - "version": "2.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "diff", - "version": "1.4.0", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "growl", - "version": "1.9.2", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "0.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "0.0.8", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "ms", - "version": "0.7.1", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "release-it", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "5.93.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "5.93.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "4.0.0-beta.2", - "rootDependencies": [ - { - "rootDependencyName": "@prantlf/jsonlint", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "promises-aplus-tests", - "vulnerabilities": [ - { - "name": "debug", - "version": "2.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "diff", - "version": "1.4.0", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "growl", - "version": "1.9.2", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "0.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "0.0.8", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "ms", - "version": "0.7.1", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "release-it", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "requirejs", - "vulnerabilities": [ - { - "name": "requirejs", - "version": "2.3.6", - "baseSeverityScore": 10.7, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "5.92.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "5.92.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "4.0.0-beta", - "rootDependencies": [ - { - "rootDependencyName": "@babel/cli", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "@babel/core", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@prantlf/jsonlint", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "commitplease", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "express", - "vulnerabilities": [ - { - "name": "express", - "version": "4.18.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "grunt-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "grunt", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "jsdom", - "vulnerabilities": [ - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "8.11.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "karma", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "follow-redirects", - "version": "1.15.4", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "ua-parser-js", - "version": "0.7.31", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "ws", - "version": "8.11.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "8.11.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "load-grunt-tasks", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "promises-aplus-tests", - "vulnerabilities": [ - { - "name": "debug", - "version": "2.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "diff", - "version": "1.4.0", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "growl", - "version": "1.9.2", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "0.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "0.0.8", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "ms", - "version": "0.7.1", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "qunit", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "requirejs", - "vulnerabilities": [ - { - "name": "requirejs", - "version": "2.3.6", - "baseSeverityScore": 10.7, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "testswarm", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 1 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "3.7.1", - "rootDependencies": [] - }, - { - "tagName": "3.7.0", - "rootDependencies": [] - }, - { - "tagName": "3.6.4", - "rootDependencies": [] - }, - { - "tagName": "3.6.3", - "rootDependencies": [] - }, - { - "tagName": "3.6.2", - "rootDependencies": [] - }, - { - "tagName": "3.6.1", - "rootDependencies": [] - }, - { - "tagName": "3.5.0", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/chalk/chalk.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "ava", - "vulnerabilities": [ - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "matcha", - "vulnerabilities": [ - { - "name": "electron", - "version": "0.4.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v5.3.0", - "rootDependencies": [ - { - "rootDependencyName": "ava", - "vulnerabilities": [ - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "matcha", - "vulnerabilities": [ - { - "name": "electron", - "version": "0.4.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v5.2.0", - "rootDependencies": [ - { - "rootDependencyName": "ava", - "vulnerabilities": [ - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "matcha", - "vulnerabilities": [ - { - "name": "electron", - "version": "0.4.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v5.1.0", - "rootDependencies": [ - { - "rootDependencyName": "ava", - "vulnerabilities": [ - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "matcha", - "vulnerabilities": [ - { - "name": "electron", - "version": "0.4.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v5.0.0", - "rootDependencies": [ - { - "rootDependencyName": "ava", - "vulnerabilities": [ - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "matcha", - "vulnerabilities": [ - { - "name": "electron", - "version": "0.4.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/tj/commander.js.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v12.1.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v12.0.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v11.1.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-n", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v11.0.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-n", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v10.0.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-n", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.5.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-n", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.20.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.20.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.4.0", - "rootDependencies": [ - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-n", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.18.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.18.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.3.0", - "rootDependencies": [ - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-node", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 7 - }, - { - "name": "ws", - "version": "7.5.6", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.2.0", - "rootDependencies": [ - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-node", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 7 - }, - { - "name": "ws", - "version": "7.5.6", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.1.0", - "rootDependencies": [ - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-node", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 7 - }, - { - "name": "ws", - "version": "7.5.6", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.0.0", - "rootDependencies": [ - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-node", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 7 - }, - { - "name": "ws", - "version": "7.5.6", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/expressjs/express.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "4.19.2", - "rootDependencies": [] - }, - { - "tagName": "4.19.1", - "rootDependencies": [] - }, - { - "tagName": "4.19.0", - "rootDependencies": [] - }, - { - "tagName": "4.18.2", - "rootDependencies": [] - }, - { - "tagName": "4.18.1", - "rootDependencies": [] - }, - { - "tagName": "4.18.0", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/debug-js/debug.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "4.3.6", - "rootDependencies": [] - }, - { - "tagName": "4.3.5", - "rootDependencies": [] - }, - { - "tagName": "4.3.4", - "rootDependencies": [] - }, - { - "tagName": "4.3.3", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/axios/axios.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "@release-it/conventional-changelog", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "auto-changelog", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "coveralls", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 1 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "dtslint", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "2.2.2", - "baseSeverityScore": 8.2, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "express", - "vulnerabilities": [ - { - "name": "express", - "version": "4.18.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "gulp", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - } - ] - }, - { - "rootDependencyName": "istanbul-instrumenter-loader", - "vulnerabilities": [ - { - "name": "ajv", - "version": "5.5.2", - "baseSeverityScore": 5.6, - "transitiveDepth": 2 - }, - { - "name": "babel-traverse", - "version": "6.26.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "babel-traverse", - "version": "6.26.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "karma-rollup-preprocessor", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "karma-sauce-launcher", - "vulnerabilities": [ - { - "name": "got", - "version": "11.8.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "got", - "version": "11.8.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "got", - "version": "8.3.2", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "http-cache-semantics", - "version": "3.8.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver-regex", - "version": "2.0.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "karma", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "engine.io", - "version": "6.2.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "socket.io", - "version": "4.5.0", - "baseSeverityScore": 7.3, - "transitiveDepth": 1 - }, - { - "name": "socket.io-parser", - "version": "4.0.5", - "baseSeverityScore": 7.3, - "transitiveDepth": 2 - }, - { - "name": "ws", - "version": "8.2.3", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "memoizee", - "vulnerabilities": [ - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 1 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 3 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "multer", - "vulnerabilities": [ - { - "name": "dicer", - "version": "0.2.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "release-it", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "ip", - "version": "1.1.8", - "baseSeverityScore": -1, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "vm2", - "version": "3.9.19", - "baseSeverityScore": 9.8, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "rollup-plugin-auto-external", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "terser-webpack-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v1.7.0", - "rootDependencies": [] - }, - { - "tagName": "v1.6.8", - "rootDependencies": [] - }, - { - "tagName": "v1.6.7", - "rootDependencies": [] - }, - { - "tagName": "v1.6.6", - "rootDependencies": [] - }, - { - "tagName": "v1.6.5", - "rootDependencies": [] - }, - { - "tagName": "v1.6.4", - "rootDependencies": [] - }, - { - "tagName": "v1.6.3", - "rootDependencies": [] - }, - { - "tagName": "v1.6.2", - "rootDependencies": [] - }, - { - "tagName": "v1.6.1", - "rootDependencies": [] - }, - { - "tagName": "v1.6.0", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/isaacs/node-mkdirp.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.0.1", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.0.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.6", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.5", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.4", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.3", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.2", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.1", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.0.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/isaacs/node-glob.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v11.0.0", - "rootDependencies": [] - }, - { - "tagName": "v10.4.0", - "rootDependencies": [ - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "ws", - "version": "8.17.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v10.2.0", - "rootDependencies": [ - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "ws", - "version": "8.17.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v10.1.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v10.0.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v9.3.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v9.2.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v9.1.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v9.0.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v8.1.0", - "rootDependencies": [ - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 3 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v8.0.0", - "rootDependencies": [ - { - "rootDependencyName": "mkdirp", - "vulnerabilities": [ - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.16.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 4 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 5 - }, - { - "name": "react-devtools-core", - "version": "4.21.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - } - ] - } - ] \ No newline at end of file diff --git a/data/result_dep_2.json b/data/result_dep_2.json deleted file mode 100644 index ebbe6b0..0000000 --- a/data/result_dep_2.json +++ /dev/null @@ -1,13604 +0,0 @@ -[ - { - "projectUrl": "https://github.com/jquery/jquery.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "@prantlf/jsonlint", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "promises-aplus-tests", - "vulnerabilities": [ - { - "name": "debug", - "version": "2.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "diff", - "version": "1.4.0", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "growl", - "version": "1.9.2", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "0.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "0.0.8", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "ms", - "version": "0.7.1", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "release-it", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "5.93.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "5.93.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "4.0.0-beta.2", - "rootDependencies": [ - { - "rootDependencyName": "@prantlf/jsonlint", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "promises-aplus-tests", - "vulnerabilities": [ - { - "name": "debug", - "version": "2.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "diff", - "version": "1.4.0", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "growl", - "version": "1.9.2", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "0.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "0.0.8", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "ms", - "version": "0.7.1", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "release-it", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "requirejs", - "vulnerabilities": [ - { - "name": "requirejs", - "version": "2.3.6", - "baseSeverityScore": 10.7, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "5.92.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "5.92.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "4.0.0-beta", - "rootDependencies": [ - { - "rootDependencyName": "@babel/cli", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "@babel/core", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@prantlf/jsonlint", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "commitplease", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "express", - "vulnerabilities": [ - { - "name": "express", - "version": "4.18.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "grunt-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "grunt", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "jsdom", - "vulnerabilities": [ - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "8.11.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "karma", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "follow-redirects", - "version": "1.15.4", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "ua-parser-js", - "version": "0.7.31", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "ws", - "version": "8.11.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "8.11.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "load-grunt-tasks", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "promises-aplus-tests", - "vulnerabilities": [ - { - "name": "debug", - "version": "2.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "diff", - "version": "1.4.0", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "growl", - "version": "1.9.2", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "0.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "0.0.8", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "ms", - "version": "0.7.1", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "qunit", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "requirejs", - "vulnerabilities": [ - { - "name": "requirejs", - "version": "2.3.6", - "baseSeverityScore": 10.7, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "testswarm", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 1 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/chalk/chalk.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "ava", - "vulnerabilities": [ - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "matcha", - "vulnerabilities": [ - { - "name": "electron", - "version": "0.4.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v5.3.0", - "rootDependencies": [ - { - "rootDependencyName": "ava", - "vulnerabilities": [ - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "matcha", - "vulnerabilities": [ - { - "name": "electron", - "version": "0.4.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v5.2.0", - "rootDependencies": [ - { - "rootDependencyName": "ava", - "vulnerabilities": [ - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "matcha", - "vulnerabilities": [ - { - "name": "electron", - "version": "0.4.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v5.1.0", - "rootDependencies": [ - { - "rootDependencyName": "ava", - "vulnerabilities": [ - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "matcha", - "vulnerabilities": [ - { - "name": "electron", - "version": "0.4.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v5.0.0", - "rootDependencies": [ - { - "rootDependencyName": "ava", - "vulnerabilities": [ - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "matcha", - "vulnerabilities": [ - { - "name": "electron", - "version": "0.4.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/tj/commander.js.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v12.1.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v12.0.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v11.1.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-n", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v11.0.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-n", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v10.0.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-n", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.5.0", - "rootDependencies": [ - { - "rootDependencyName": "@types/jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-n", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.20.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.20.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.4.0", - "rootDependencies": [ - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-n", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.18.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.18.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.3.0", - "rootDependencies": [ - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-node", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 7 - }, - { - "name": "ws", - "version": "7.5.6", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.2.0", - "rootDependencies": [ - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-node", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 7 - }, - { - "name": "ws", - "version": "7.5.6", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.1.0", - "rootDependencies": [ - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-node", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 7 - }, - { - "name": "ws", - "version": "7.5.6", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v9.0.0", - "rootDependencies": [ - { - "rootDependencyName": "@typescript-eslint/eslint-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@typescript-eslint/parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-node", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 7 - }, - { - "name": "ws", - "version": "7.5.6", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "ts-jest", - "vulnerabilities": [ - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/axios/axios.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "@release-it/conventional-changelog", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "auto-changelog", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "coveralls", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 1 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "dtslint", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "2.2.2", - "baseSeverityScore": 8.2, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "express", - "vulnerabilities": [ - { - "name": "express", - "version": "4.18.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "gulp", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - } - ] - }, - { - "rootDependencyName": "istanbul-instrumenter-loader", - "vulnerabilities": [ - { - "name": "ajv", - "version": "5.5.2", - "baseSeverityScore": 5.6, - "transitiveDepth": 2 - }, - { - "name": "babel-traverse", - "version": "6.26.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "babel-traverse", - "version": "6.26.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "karma-rollup-preprocessor", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "karma-sauce-launcher", - "vulnerabilities": [ - { - "name": "got", - "version": "11.8.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "got", - "version": "11.8.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "got", - "version": "8.3.2", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "http-cache-semantics", - "version": "3.8.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver-regex", - "version": "2.0.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "karma", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "engine.io", - "version": "6.2.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "socket.io", - "version": "4.5.0", - "baseSeverityScore": 7.3, - "transitiveDepth": 1 - }, - { - "name": "socket.io-parser", - "version": "4.0.5", - "baseSeverityScore": 7.3, - "transitiveDepth": 2 - }, - { - "name": "ws", - "version": "8.2.3", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "memoizee", - "vulnerabilities": [ - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 1 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 3 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "es5-ext", - "version": "0.10.61", - "baseSeverityScore": -1, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "multer", - "vulnerabilities": [ - { - "name": "dicer", - "version": "0.2.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "release-it", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "ip", - "version": "1.1.8", - "baseSeverityScore": -1, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "vm2", - "version": "3.9.19", - "baseSeverityScore": 9.8, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "rollup-plugin-auto-external", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "terser-webpack-plugin", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/isaacs/node-mkdirp.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.22.1", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.0.1", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.0.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.6", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.5", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.4", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.3", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.2", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.1", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.1.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.0.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.20.12", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/isaacs/node-glob.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v11.0.0", - "rootDependencies": [] - }, - { - "tagName": "v10.4.0", - "rootDependencies": [ - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "ws", - "version": "8.17.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v10.2.0", - "rootDependencies": [ - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "ws", - "version": "8.17.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v10.1.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v10.0.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v9.3.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v9.2.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v9.1.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v9.0.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "eslint-config-prettier", - "vulnerabilities": [ - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v8.1.0", - "rootDependencies": [ - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.17.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 3 - }, - { - "name": "react-devtools-core", - "version": "4.24.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v8.0.0", - "rootDependencies": [ - { - "rootDependencyName": "mkdirp", - "vulnerabilities": [ - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "tap", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.16.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.16.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.16.3", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.17.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.0", - "baseSeverityScore": 7.1, - "transitiveDepth": 4 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 4 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 5 - }, - { - "name": "react-devtools-core", - "version": "4.21.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "7.5.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/yargs/yargs.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v17.7.2", - "rootDependencies": [] - }, - { - "tagName": "v17.7.1", - "rootDependencies": [] - }, - { - "tagName": "v17.7.0", - "rootDependencies": [] - }, - { - "tagName": "v17.6.2", - "rootDependencies": [] - }, - { - "tagName": "v17.6.1", - "rootDependencies": [] - }, - { - "tagName": "v17.6.0", - "rootDependencies": [] - }, - { - "tagName": "v17.5.1", - "rootDependencies": [] - }, - { - "tagName": "v17.5.0", - "rootDependencies": [] - }, - { - "tagName": "v17.4.1", - "rootDependencies": [] - }, - { - "tagName": "v17.4.0", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/uuidjs/uuid.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "@wdio/browserstack-service", - "vulnerabilities": [ - { - "name": "ws", - "version": "8.13.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "bundlewatch", - "vulnerabilities": [ - { - "name": "axios", - "version": "0.24.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "lint-staged", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "typescript-eslint", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - } - ] - } - ] - }, - { - "tagName": "v10.0.0", - "rootDependencies": [ - { - "rootDependencyName": "@babel/cli", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "@wdio/browserstack-service", - "vulnerabilities": [ - { - "name": "node-fetch", - "version": "2.6.5", - "baseSeverityScore": 8.7, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "8.2.3", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "@wdio/jasmine-framework", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "bundlewatch", - "vulnerabilities": [ - { - "name": "axios", - "version": "0.24.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - }, - { - "name": "follow-redirects", - "version": "1.15.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "lint-staged", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "neostandard", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - } - ] - }, - { - "rootDependencyName": "npm-run-all", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "optional-dev-dependency", - "vulnerabilities": [ - { - "name": "yargs-parser", - "version": "5.0.0-security.0", - "baseSeverityScore": 5.2, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "standard-version", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v9.0.1", - "rootDependencies": [ - { - "rootDependencyName": "@babel/cli", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "@babel/core", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@babel/eslint-parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@babel/preset-env", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.0.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "@commitlint/cli", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "bundlewatch", - "vulnerabilities": [ - { - "name": "axios", - "version": "0.24.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - }, - { - "name": "follow-redirects", - "version": "1.15.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "eslint-config-standard", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-node", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "lint-staged", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "yaml", - "version": "2.1.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "npm-run-all", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "optional-dev-dependency", - "vulnerabilities": [ - { - "name": "yargs-parser", - "version": "5.0.0-security.0", - "baseSeverityScore": 5.2, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "standard-version", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v9.0.0", - "rootDependencies": [ - { - "rootDependencyName": "@babel/cli", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "@babel/core", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@babel/eslint-parser", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@babel/preset-env", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.0.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "@commitlint/cli", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "bundlewatch", - "vulnerabilities": [ - { - "name": "axios", - "version": "0.24.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - }, - { - "name": "follow-redirects", - "version": "1.15.1", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "eslint-config-standard", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-import", - "vulnerabilities": [ - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "eslint-plugin-node", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "eslint", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jest", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.11", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "lint-staged", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "yaml", - "version": "2.1.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "npm-run-all", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "optional-dev-dependency", - "vulnerabilities": [ - { - "name": "yargs-parser", - "version": "5.0.0-security.0", - "baseSeverityScore": 5.2, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "standard-version", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.5", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/JedWatson/classnames.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v2.5.2", - "rootDependencies": [ - { - "rootDependencyName": "http-server", - "vulnerabilities": [ - { - "name": "follow-redirects", - "version": "1.15.3", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v2.5.1", - "rootDependencies": [ - { - "rootDependencyName": "http-server", - "vulnerabilities": [ - { - "name": "follow-redirects", - "version": "1.15.3", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v2.5.0", - "rootDependencies": [ - { - "rootDependencyName": "classnames-benchmarks", - "vulnerabilities": [ - { - "name": "follow-redirects", - "version": "1.15.3", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v2.4.0", - "rootDependencies": [ - { - "rootDependencyName": "classnames-benchmarks", - "vulnerabilities": [ - { - "name": "follow-redirects", - "version": "1.15.3", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tsd", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v2.3.3", - "rootDependencies": [ - { - "rootDependencyName": "browserify", - "vulnerabilities": [ - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "dtslint", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "mocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v2.3.2", - "rootDependencies": [ - { - "rootDependencyName": "browserify", - "vulnerabilities": [ - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "dtslint", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "mocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/expressjs/body-parser.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v2.0.0-beta.2", - "rootDependencies": [] - }, - { - "tagName": "1.20.2", - "rootDependencies": [] - }, - { - "tagName": "1.20.1", - "rootDependencies": [] - }, - { - "tagName": "1.20.0", - "rootDependencies": [] - }, - { - "tagName": "1.19.2", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/jquery/jquery.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "@prantlf/jsonlint", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "promises-aplus-tests", - "vulnerabilities": [ - { - "name": "debug", - "version": "2.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "diff", - "version": "1.4.0", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "growl", - "version": "1.9.2", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "0.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "0.0.8", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "ms", - "version": "0.7.1", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "release-it", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "5.93.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "5.93.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "4.0.0-beta.2", - "rootDependencies": [ - { - "rootDependencyName": "@prantlf/jsonlint", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "promises-aplus-tests", - "vulnerabilities": [ - { - "name": "debug", - "version": "2.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "diff", - "version": "1.4.0", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "growl", - "version": "1.9.2", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "0.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "0.0.8", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "ms", - "version": "0.7.1", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "release-it", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "requirejs", - "vulnerabilities": [ - { - "name": "requirejs", - "version": "2.3.6", - "baseSeverityScore": 10.7, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "5.92.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "5.92.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "4.0.0-beta", - "rootDependencies": [ - { - "rootDependencyName": "@babel/cli", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "@babel/core", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@prantlf/jsonlint", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "commitplease", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "express", - "vulnerabilities": [ - { - "name": "express", - "version": "4.18.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "grunt-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "grunt", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "jsdom", - "vulnerabilities": [ - { - "name": "tough-cookie", - "version": "4.0.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "8.11.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "karma", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "follow-redirects", - "version": "1.15.4", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "ua-parser-js", - "version": "0.7.31", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "ws", - "version": "8.11.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "ws", - "version": "8.11.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "load-grunt-tasks", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "promises-aplus-tests", - "vulnerabilities": [ - { - "name": "debug", - "version": "2.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "diff", - "version": "1.4.0", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "growl", - "version": "1.9.2", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "0.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "0.0.8", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "ms", - "version": "0.7.1", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "qunit", - "vulnerabilities": [ - { - "name": "minimatch", - "version": "3.0.4", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "requirejs", - "vulnerabilities": [ - { - "name": "requirejs", - "version": "2.3.6", - "baseSeverityScore": 10.7, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "testswarm", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 1 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "3.7.1", - "rootDependencies": [] - }, - { - "tagName": "3.7.0", - "rootDependencies": [] - }, - { - "tagName": "3.6.4", - "rootDependencies": [] - }, - { - "tagName": "3.6.3", - "rootDependencies": [] - }, - { - "tagName": "3.6.2", - "rootDependencies": [] - }, - { - "tagName": "3.6.1", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/yeoman/generator.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "cpy-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "esmocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "ip", - "version": "2.0.0", - "baseSeverityScore": -1, - "transitiveDepth": 8 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 7 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v7.3.2", - "rootDependencies": [ - { - "rootDependencyName": "cpy-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "esmocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "ip", - "version": "2.0.0", - "baseSeverityScore": -1, - "transitiveDepth": 8 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 7 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v7.3.1", - "rootDependencies": [ - { - "rootDependencyName": "cpy-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "esmocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "ip", - "version": "2.0.0", - "baseSeverityScore": -1, - "transitiveDepth": 8 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 7 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v7.3.0", - "rootDependencies": [ - { - "rootDependencyName": "cpy-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "esmocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "ip", - "version": "2.0.0", - "baseSeverityScore": -1, - "transitiveDepth": 8 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 7 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v7.2.0", - "rootDependencies": [ - { - "rootDependencyName": "cpy-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "esmocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "ip", - "version": "2.0.0", - "baseSeverityScore": -1, - "transitiveDepth": 8 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 7 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - } - ] - } - ] - }, - { - "tagName": "v7.1.1", - "rootDependencies": [ - { - "rootDependencyName": "cpy-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "ejs", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "esmocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "ip", - "version": "2.0.0", - "baseSeverityScore": -1, - "transitiveDepth": 8 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 7 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-test", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v7.1.0", - "rootDependencies": [ - { - "rootDependencyName": "cpy-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "ejs", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "esmocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "ip", - "version": "2.0.0", - "baseSeverityScore": -1, - "transitiveDepth": 8 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 7 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-test", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v7.0.0", - "rootDependencies": [ - { - "rootDependencyName": "cpy-cli", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "ejs", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "esmocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.89.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "ip", - "version": "2.0.0", - "baseSeverityScore": -1, - "transitiveDepth": 8 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 7 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.2.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - } - ] - }, - { - "rootDependencyName": "yeoman-test", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v6.0.1", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "cpy-cli", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "esmocha", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.21.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.21.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "latest-version", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "read-pkg-up", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.82.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.82.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 4 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 2 - }, - { - "name": "ip", - "version": "2.0.0", - "baseSeverityScore": -1, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "tar", - "version": "6.1.14", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.1.14", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.14", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.1.14", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v6.0.0", - "rootDependencies": [ - { - "rootDependencyName": "c8", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "cpy-cli", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "esmocha", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.21.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 5 - }, - { - "name": "@babel/traverse", - "version": "7.21.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.21.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "latest-version", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "read-pkg-up", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.5.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.82.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.82.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 4 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 2 - }, - { - "name": "ip", - "version": "2.0.0", - "baseSeverityScore": -1, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "tar", - "version": "6.1.14", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.1.14", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.14", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.1.14", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v5.10.0", - "rootDependencies": [ - { - "rootDependencyName": "coveralls", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 1 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jsdoc", - "vulnerabilities": [ - { - "name": "taffydb", - "version": "2.6.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.8", - "baseSeverityScore": 3.9, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "mocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "mockery", - "vulnerabilities": [ - { - "name": "mockery", - "version": "2.1.0", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "nock", - "vulnerabilities": [ - { - "name": "lodash.set", - "version": "4.3.2", - "baseSeverityScore": 7.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "nyc", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.18.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.18.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "pacote", - "vulnerabilities": [ - { - "name": "ip", - "version": "1.1.8", - "baseSeverityScore": -1, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "read-pkg-up", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "decode-uri-component", - "version": "0.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "terser", - "version": "5.14.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "webpack", - "version": "5.72.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.72.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 4 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "yeoman-generator", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v5.9.0", - "rootDependencies": [ - { - "rootDependencyName": "coveralls", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 1 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jsdoc", - "vulnerabilities": [ - { - "name": "taffydb", - "version": "2.6.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.8", - "baseSeverityScore": 3.9, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "mocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "mockery", - "vulnerabilities": [ - { - "name": "mockery", - "version": "2.1.0", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "nock", - "vulnerabilities": [ - { - "name": "lodash.set", - "version": "4.3.2", - "baseSeverityScore": 7.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "nyc", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.18.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.18.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "pacote", - "vulnerabilities": [ - { - "name": "ip", - "version": "1.1.8", - "baseSeverityScore": -1, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "read-pkg-up", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "decode-uri-component", - "version": "0.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "terser", - "version": "5.14.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "webpack", - "version": "5.72.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.72.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 4 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "yeoman-generator", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - }, - { - "tagName": "v5.8.0", - "rootDependencies": [ - { - "rootDependencyName": "coveralls", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 1 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "jsdoc", - "vulnerabilities": [ - { - "name": "taffydb", - "version": "2.6.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "mem-fs-editor", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.8", - "baseSeverityScore": 3.9, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "mocha", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "mockery", - "vulnerabilities": [ - { - "name": "mockery", - "version": "2.1.0", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "nock", - "vulnerabilities": [ - { - "name": "lodash.set", - "version": "4.3.2", - "baseSeverityScore": 7.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "nyc", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.18.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.18.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 4 - }, - { - "name": "@babel/traverse", - "version": "7.18.2", - "baseSeverityScore": 9.2, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "read-pkg-up", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "tui-jsdoc-template", - "vulnerabilities": [ - { - "name": "lodash.pick", - "version": "4.4.0", - "baseSeverityScore": 7.4, - "transitiveDepth": 2 - }, - { - "name": "nth-check", - "version": "1.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "xo", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "decode-uri-component", - "version": "0.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "got", - "version": "9.6.0", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "http-cache-semantics", - "version": "4.1.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "json5", - "version": "1.0.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 3 - }, - { - "name": "json5", - "version": "2.2.1", - "baseSeverityScore": 7.1, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "terser", - "version": "5.14.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "webpack", - "version": "5.72.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "webpack", - "version": "5.72.1", - "baseSeverityScore": 9.8, - "transitiveDepth": 4 - }, - { - "name": "word-wrap", - "version": "1.2.3", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "yeoman-environment", - "vulnerabilities": [ - { - "name": "http-cache-semantics", - "version": "4.1.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "http-cache-semantics", - "version": "4.1.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "ip", - "version": "1.1.8", - "baseSeverityScore": -1, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 4 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 3 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 5 - }, - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "yeoman-generator", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/zloirock/core-js.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.38.1", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.38.0", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.6", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.6", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.37.1", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.37.0", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.36.1", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.36.0", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.35.1", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.35.0", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.34.0", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.33.3", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.33.2", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.33.1", - "rootDependencies": [ - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.33.0", - "rootDependencies": [ - { - "rootDependencyName": "@babel/core", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.23.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.23.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "konan", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.23.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.32.1", - "rootDependencies": [ - { - "rootDependencyName": "@babel/core", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.22.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "konan", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.32.0", - "rootDependencies": [ - { - "rootDependencyName": "@babel/core", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.22.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "konan", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.31.1", - "rootDependencies": [ - { - "rootDependencyName": "@babel/core", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.6", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.22.6", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.22.6", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@babel/plugin-transform-classes", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.6", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "konan", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.6", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - }, - { - "tagName": "v3.31.0", - "rootDependencies": [ - { - "rootDependencyName": "@babel/core", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.22.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - }, - { - "name": "@babel/traverse", - "version": "7.22.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "@babel/plugin-transform-class-properties", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "@babel/plugin-transform-classes", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "@babel/plugin-transform-unicode-regex", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "core-js-builder", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 7 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 2 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 6 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 1 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "konan", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "npm-run-all2", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "zx", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - } - ] - } - ] - } - ] - } - ] \ No newline at end of file diff --git a/data/result_vuln_1.json b/data/result_vuln_1.json deleted file mode 100644 index 0559b79..0000000 --- a/data/result_vuln_1.json +++ /dev/null @@ -1,2931 +0,0 @@ -[ - { - "projectUrl": "https://github.com/jquery/jquery.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "underscore", - "vulnerabilities": [ - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "5.93.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "5.93.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "4.0.0-beta.2", - "rootDependencies": [ - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "requirejs", - "vulnerabilities": [ - { - "name": "requirejs", - "version": "2.3.6", - "baseSeverityScore": 10.7, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "underscore", - "vulnerabilities": [ - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "5.92.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "5.92.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "4.0.0-beta", - "rootDependencies": [ - { - "rootDependencyName": "express", - "vulnerabilities": [ - { - "name": "express", - "version": "4.18.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "request", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "requirejs", - "vulnerabilities": [ - { - "name": "requirejs", - "version": "2.3.6", - "baseSeverityScore": 10.7, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "underscore", - "vulnerabilities": [ - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/chalk/chalk.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v5.3.0", - "rootDependencies": [] - }, - { - "tagName": "v5.2.0", - "rootDependencies": [] - }, - { - "tagName": "v5.1.0", - "rootDependencies": [] - }, - { - "tagName": "v5.0.0", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/tj/commander.js.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v12.1.0", - "rootDependencies": [] - }, - { - "tagName": "v12.0.0", - "rootDependencies": [] - }, - { - "tagName": "v11.1.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v11.0.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v10.0.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v9.5.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v9.4.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v9.3.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v9.2.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v9.1.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v9.0.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/axios/axios.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "express", - "vulnerabilities": [ - { - "name": "express", - "version": "4.18.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "request", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.8", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/isaacs/node-mkdirp.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v3.0.1", - "rootDependencies": [] - }, - { - "tagName": "v3.0.0", - "rootDependencies": [] - }, - { - "tagName": "v2.1.6", - "rootDependencies": [] - }, - { - "tagName": "v2.1.5", - "rootDependencies": [] - }, - { - "tagName": "v2.1.4", - "rootDependencies": [] - }, - { - "tagName": "v2.1.3", - "rootDependencies": [] - }, - { - "tagName": "v2.1.2", - "rootDependencies": [] - }, - { - "tagName": "v2.1.1", - "rootDependencies": [] - }, - { - "tagName": "v2.1.0", - "rootDependencies": [] - }, - { - "tagName": "v2.0.0", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/isaacs/node-glob.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v11.0.0", - "rootDependencies": [] - }, - { - "tagName": "v10.4.0", - "rootDependencies": [] - }, - { - "tagName": "v10.2.0", - "rootDependencies": [] - }, - { - "tagName": "v10.1.0", - "rootDependencies": [] - }, - { - "tagName": "v10.0.0", - "rootDependencies": [] - }, - { - "tagName": "v9.3.0", - "rootDependencies": [] - }, - { - "tagName": "v9.2.0", - "rootDependencies": [] - }, - { - "tagName": "v9.1.0", - "rootDependencies": [] - }, - { - "tagName": "v9.0.0", - "rootDependencies": [] - }, - { - "tagName": "v8.1.0", - "rootDependencies": [] - }, - { - "tagName": "v8.0.0", - "rootDependencies": [ - { - "rootDependencyName": "minimist", - "vulnerabilities": [ - { - "name": "minimist", - "version": "1.2.5", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/yargs/yargs.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v17.7.2", - "rootDependencies": [] - }, - { - "tagName": "v17.7.1", - "rootDependencies": [] - }, - { - "tagName": "v17.7.0", - "rootDependencies": [] - }, - { - "tagName": "v17.6.2", - "rootDependencies": [] - }, - { - "tagName": "v17.6.1", - "rootDependencies": [] - }, - { - "tagName": "v17.6.0", - "rootDependencies": [] - }, - { - "tagName": "v17.5.1", - "rootDependencies": [] - }, - { - "tagName": "v17.5.0", - "rootDependencies": [] - }, - { - "tagName": "v17.4.1", - "rootDependencies": [] - }, - { - "tagName": "v17.4.0", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/uuidjs/uuid.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v10.0.0", - "rootDependencies": [ - { - "rootDependencyName": "yargs-parser", - "vulnerabilities": [ - { - "name": "yargs-parser", - "version": "5.0.0-security.0", - "baseSeverityScore": 5.2, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v9.0.1", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "yaml", - "vulnerabilities": [ - { - "name": "yaml", - "version": "2.1.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "yargs-parser", - "vulnerabilities": [ - { - "name": "yargs-parser", - "version": "5.0.0-security.0", - "baseSeverityScore": 5.2, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v9.0.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "yaml", - "vulnerabilities": [ - { - "name": "yaml", - "version": "2.1.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "yargs-parser", - "vulnerabilities": [ - { - "name": "yargs-parser", - "version": "5.0.0-security.0", - "baseSeverityScore": 5.2, - "transitiveDepth": 0 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/JedWatson/classnames.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v2.5.2", - "rootDependencies": [] - }, - { - "tagName": "v2.5.1", - "rootDependencies": [] - }, - { - "tagName": "v2.5.0", - "rootDependencies": [] - }, - { - "tagName": "v2.4.0", - "rootDependencies": [] - }, - { - "tagName": "v2.3.3", - "rootDependencies": [] - }, - { - "tagName": "v2.3.2", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/expressjs/body-parser.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [] - }, - { - "tagName": "v2.0.0-beta.2", - "rootDependencies": [] - }, - { - "tagName": "1.20.2", - "rootDependencies": [] - }, - { - "tagName": "1.20.1", - "rootDependencies": [] - }, - { - "tagName": "1.20.0", - "rootDependencies": [] - }, - { - "tagName": "1.19.2", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/jquery/jquery.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "underscore", - "vulnerabilities": [ - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "5.93.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "5.93.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "4.0.0-beta.2", - "rootDependencies": [ - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "requirejs", - "vulnerabilities": [ - { - "name": "requirejs", - "version": "2.3.6", - "baseSeverityScore": 10.7, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "underscore", - "vulnerabilities": [ - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "webpack", - "version": "5.92.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "5.92.1", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "4.0.0-beta", - "rootDependencies": [ - { - "rootDependencyName": "express", - "vulnerabilities": [ - { - "name": "express", - "version": "4.18.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "request", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "requirejs", - "vulnerabilities": [ - { - "name": "requirejs", - "version": "2.3.6", - "baseSeverityScore": 10.7, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "underscore", - "vulnerabilities": [ - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "3.7.1", - "rootDependencies": [] - }, - { - "tagName": "3.7.0", - "rootDependencies": [] - }, - { - "tagName": "3.6.4", - "rootDependencies": [] - }, - { - "tagName": "3.6.3", - "rootDependencies": [] - }, - { - "tagName": "3.6.2", - "rootDependencies": [] - }, - { - "tagName": "3.6.1", - "rootDependencies": [] - } - ] - }, - { - "projectUrl": "https://github.com/yeoman/generator.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v7.3.2", - "rootDependencies": [ - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v7.3.1", - "rootDependencies": [ - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v7.3.0", - "rootDependencies": [ - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v7.2.0", - "rootDependencies": [ - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v7.1.1", - "rootDependencies": [ - { - "rootDependencyName": "ejs", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v7.1.0", - "rootDependencies": [ - { - "rootDependencyName": "ejs", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v7.0.0", - "rootDependencies": [ - { - "rootDependencyName": "ejs", - "vulnerabilities": [ - { - "name": "ejs", - "version": "3.1.9", - "baseSeverityScore": 3.9, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "micromatch", - "vulnerabilities": [ - { - "name": "micromatch", - "version": "4.0.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v6.0.1", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v6.0.0", - "rootDependencies": [ - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v5.10.0", - "rootDependencies": [ - { - "rootDependencyName": "mockery", - "vulnerabilities": [ - { - "name": "mockery", - "version": "2.1.0", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "request", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "tar", - "vulnerabilities": [ - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v5.9.0", - "rootDependencies": [ - { - "rootDependencyName": "mockery", - "vulnerabilities": [ - { - "name": "mockery", - "version": "2.1.0", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "request", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "tar", - "vulnerabilities": [ - { - "name": "tar", - "version": "6.1.11", - "baseSeverityScore": 6.4, - "transitiveDepth": 0 - } - ] - } - ] - }, - { - "tagName": "v5.8.0", - "rootDependencies": [ - { - "rootDependencyName": "mockery", - "vulnerabilities": [ - { - "name": "mockery", - "version": "2.1.0", - "baseSeverityScore": 9.8, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "request", - "vulnerabilities": [ - { - "name": "request", - "version": "2.88.2", - "baseSeverityScore": 6, - "transitiveDepth": 0 - }, - { - "name": "tough-cookie", - "version": "2.5.0", - "baseSeverityScore": 6.4, - "transitiveDepth": 1 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.3.7", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - } - ] - } - ] - }, - { - "projectUrl": "https://github.com/zloirock/core-js.git", - "results": [ - { - "tagName": "master", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.38.1", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.38.0", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.6", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.6", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.37.1", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.37.0", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.36.1", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.5", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.36.0", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.35.1", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.35.0", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.34.0", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.33.3", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.33.2", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.33.1", - "rootDependencies": [ - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.33.0", - "rootDependencies": [ - { - "rootDependencyName": "@babel/traverse", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.23.0", - "baseSeverityScore": 9.2, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.47.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.32.1", - "rootDependencies": [ - { - "rootDependencyName": "@babel/traverse", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.10", - "baseSeverityScore": 9.2, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.32.0", - "rootDependencies": [ - { - "rootDependencyName": "@babel/traverse", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.8", - "baseSeverityScore": 9.2, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.31.1", - "rootDependencies": [ - { - "rootDependencyName": "@babel/traverse", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.6", - "baseSeverityScore": 9.2, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - }, - { - "tagName": "v3.31.0", - "rootDependencies": [ - { - "rootDependencyName": "@babel/traverse", - "vulnerabilities": [ - { - "name": "@babel/traverse", - "version": "7.22.5", - "baseSeverityScore": 9.2, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "6.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "semver", - "vulnerabilities": [ - { - "name": "semver", - "version": "7.5.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 0 - } - ] - }, - { - "rootDependencyName": "webpack", - "vulnerabilities": [ - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 6 - }, - { - "name": "braces", - "version": "2.3.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "braces", - "version": "3.0.2", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "browserify-sign", - "version": "4.2.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "elliptic", - "version": "6.5.4", - "baseSeverityScore": 5.3, - "transitiveDepth": 4 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 1 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "micromatch", - "version": "3.1.10", - "baseSeverityScore": 5.3, - "transitiveDepth": 5 - }, - { - "name": "semver", - "version": "5.7.1", - "baseSeverityScore": 7.5, - "transitiveDepth": 4 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 0 - }, - { - "name": "webpack", - "version": "4.46.0", - "baseSeverityScore": 6.3, - "transitiveDepth": 2 - } - ] - } - ] - } - ] - } - ] \ No newline at end of file diff --git a/data/rxjs.json b/data/rxjs.json deleted file mode 100644 index 1e0a767..0000000 --- a/data/rxjs.json +++ /dev/null @@ -1,64 +0,0 @@ -[ - [ - [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": -1, - "transitiveDepth": 2 - } - ], - [ - { - "name": "debug", - "version": "2.2.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 2 - }, - { - "name": "diff", - "version": "1.4.0", - "baseSeverityScore": -1, - "transitiveDepth": 2 - }, - { - "name": "growl", - "version": "1.9.2", - "baseSeverityScore": 9.8, - "transitiveDepth": 2 - }, - { - "name": "minimatch", - "version": "0.3.0", - "baseSeverityScore": 7.5, - "transitiveDepth": 3 - }, - { - "name": "minimist", - "version": "0.0.8", - "baseSeverityScore": 9.8, - "transitiveDepth": 3 - }, - { - "name": "ms", - "version": "0.7.1", - "baseSeverityScore": 5.3, - "transitiveDepth": 3 - }, - { - "name": "underscore", - "version": "1.8.3", - "baseSeverityScore": 9.8, - "transitiveDepth": 1 - } - ], - [ - { - "name": "micromatch", - "version": "4.0.7", - "baseSeverityScore": -1, - "transitiveDepth": 3 - } - ] - ] - ] \ No newline at end of file