diff --git a/CHANGELOG.md b/CHANGELOG.md index 53132e0f19..a7689fa302 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # CodeQL Action and CodeQL Runner Changelog +## 1.0.7 - 21 Jul 2021 + +No user facing changes. + ## 1.0.6 - 19 Jul 2021 - The `init` step of the Action now supports a `source-root` input as a path to the root source-code directory. By default, the path is relative to `$GITHUB_WORKSPACE`. [#607](https://github.com/github/codeql-action/pull/607) diff --git a/lib/analyze.js b/lib/analyze.js index cf3549d1fd..d0cee42705 100644 --- a/lib/analyze.js +++ b/lib/analyze.js @@ -219,12 +219,14 @@ async function runCleanup(config, cleanupLevel, logger) { } exports.runCleanup = runCleanup; async function injectLinesOfCode(sarifFile, language, locPromise) { + var _a; const lineCounts = await locPromise; const idPrefix = count_loc_1.getIdPrefix(language); if (language in lineCounts) { const sarif = JSON.parse(fs.readFileSync(sarifFile, "utf8")); if (Array.isArray(sarif.runs)) { for (const run of sarif.runs) { + // Old style: Baseline is inserted when rule ID has suffix /summary/lines-of-code const ruleId = `${idPrefix}/summary/lines-of-code`; run.properties = run.properties || {}; run.properties.metricResults = run.properties.metricResults || []; @@ -235,6 +237,15 @@ async function injectLinesOfCode(sarifFile, language, locPromise) { if (rule) { rule.baseline = lineCounts[language]; } + // New style: Baseline is inserted when matching rule has tag lines-of-code + for (const metric of run.properties.metricResults) { + if (metric.rule && metric.rule.toolComponent) { + const matchingRule = run.tool.extensions[metric.rule.toolComponent.index].rules[metric.rule.index]; + if ((_a = matchingRule.properties.tags) === null || _a === void 0 ? void 0 : _a.includes("lines-of-code")) { + metric.baseline = lineCounts[language]; + } + } + } } } fs.writeFileSync(sarifFile, JSON.stringify(sarif)); diff --git a/lib/analyze.js.map b/lib/analyze.js.map index a053dce843..324d28a58c 100644 --- a/lib/analyze.js.map +++ b/lib/analyze.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../src/analyze.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/analyze.test.js b/lib/analyze.test.js index 051682ade6..2f84f97ec3 100644 --- a/lib/analyze.test.js +++ b/lib/analyze.test.js @@ -88,6 +88,35 @@ ava_1.default("status report fields and search path setting", async (t) => { ], }, }, + // variant 3 references a rule with the lines-of-code tag + { + tool: { + extensions: [ + { + rules: [ + { + properties: { + tags: ["lines-of-code"], + }, + }, + ], + }, + ], + }, + properties: { + metricResults: [ + { + rule: { + index: 0, + toolComponent: { + index: 0, + }, + }, + value: 123, + }, + ], + }, + }, {}, ], })); @@ -180,8 +209,20 @@ ava_1.default("status report fields and search path setting", async (t) => { baseline: lineCount, }, ]); + t.deepEqual(sarif.runs[2].properties.metricResults, [ + { + rule: { + index: 0, + toolComponent: { + index: 0, + }, + }, + value: 123, + baseline: lineCount, + }, + ]); // when the rule doesn't exist, it should not be added - t.deepEqual(sarif.runs[2].properties.metricResults, []); + t.deepEqual(sarif.runs[3].properties.metricResults, []); } function verifyQuerySuites(tmpDir) { const qlsContent = [ diff --git a/lib/analyze.test.js.map b/lib/analyze.test.js.map index cfb8219b2c..0ed9605676 100644 --- a/lib/analyze.test.js.map +++ b/lib/analyze.test.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze.test.js","sourceRoot":"","sources":["../src/analyze.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"analyze.test.js","sourceRoot":"","sources":["../src/analyze.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/glob-parent/CHANGELOG.md b/node_modules/glob-parent/CHANGELOG.md index 4f1cacbb11..9014c0ed4e 100644 --- a/node_modules/glob-parent/CHANGELOG.md +++ b/node_modules/glob-parent/CHANGELOG.md @@ -4,6 +4,13 @@ - eliminate ReDoS ([#36](https://github.com/gulpjs/glob-parent/issues/36)) ([f923116](https://github.com/gulpjs/glob-parent/commit/f9231168b0041fea3f8f954b3cceb56269fc6366)) +### [6.0.1](https://www.github.com/gulpjs/glob-parent/compare/v6.0.0...v6.0.1) (2021-07-20) + + +### Bug Fixes + +* Resolve ReDoS vulnerability from CVE-2021-35065 ([#49](https://www.github.com/gulpjs/glob-parent/issues/49)) ([3e9f04a](https://www.github.com/gulpjs/glob-parent/commit/3e9f04a3b4349db7e1962d87c9a7398cda51f339)) + ## [6.0.0](https://www.github.com/gulpjs/glob-parent/compare/v5.1.2...v6.0.0) (2021-05-03) ### ⚠ BREAKING CHANGES diff --git a/node_modules/glob-parent/index.js b/node_modules/glob-parent/index.js index f861468f18..292d24f88d 100644 --- a/node_modules/glob-parent/index.js +++ b/node_modules/glob-parent/index.js @@ -6,7 +6,6 @@ var isWin32 = require('os').platform() === 'win32'; var slash = '/'; var backslash = /\\/g; -var enclosure = /[{[].*\/.*[}\]]$/; var globby = /(^|[^\\])([{[]|\([^)]+$)/; var escaped = /\\([!*?|[\](){}])/g; @@ -24,7 +23,7 @@ module.exports = function globParent(str, opts) { } // special case for strings ending in enclosure containing path separator - if (enclosure.test(str)) { + if (isEnclosure(str)) { str += slash; } @@ -39,3 +38,26 @@ module.exports = function globParent(str, opts) { // remove escape chars and return result return str.replace(escaped, '$1'); }; + +function isEnclosure(str) { + var lastChar = str.slice(-1); + + var enclosureStart; + switch (lastChar) { + case '}': + enclosureStart = '{'; + break; + case ']': + enclosureStart = '['; + break; + default: + return false; + } + + var foundIndex = str.indexOf(enclosureStart); + if (foundIndex < 0) { + return false; + } + + return str.slice(foundIndex + 1, -1).includes(slash); +} diff --git a/node_modules/glob-parent/package.json b/node_modules/glob-parent/package.json index a86748c675..c191a73bc3 100644 --- a/node_modules/glob-parent/package.json +++ b/node_modules/glob-parent/package.json @@ -1,6 +1,6 @@ { "name": "glob-parent", - "version": "6.0.0", + "version": "6.0.1", "description": "Extract the non-magic parent path from a glob string.", "author": "Gulp Team (https://gulpjs.com/)", "contributors": [ diff --git a/package-lock.json b/package-lock.json index 6d85b8c091..ad90919565 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "codeql", - "version": "1.0.6", + "version": "1.0.7", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 4151a31b07..83026a73a4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codeql", - "version": "1.0.6", + "version": "1.0.7", "private": true, "description": "CodeQL action", "scripts": { diff --git a/runner/package-lock.json b/runner/package-lock.json index f62f102be1..9034aa1e11 100644 --- a/runner/package-lock.json +++ b/runner/package-lock.json @@ -1,6 +1,6 @@ { "name": "codeql-runner", - "version": "1.0.6", + "version": "1.0.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/runner/package.json b/runner/package.json index 9b3b80e5f6..fcc26e6e1c 100644 --- a/runner/package.json +++ b/runner/package.json @@ -1,6 +1,6 @@ { "name": "codeql-runner", - "version": "1.0.6", + "version": "1.0.7", "private": true, "description": "CodeQL runner", "scripts": { diff --git a/src/analyze.test.ts b/src/analyze.test.ts index 1dca5798f3..ef3957d5e6 100644 --- a/src/analyze.test.ts +++ b/src/analyze.test.ts @@ -94,6 +94,35 @@ test("status report fields and search path setting", async (t) => { ], }, }, + // variant 3 references a rule with the lines-of-code tag + { + tool: { + extensions: [ + { + rules: [ + { + properties: { + tags: ["lines-of-code"], + }, + }, + ], + }, + ], + }, + properties: { + metricResults: [ + { + rule: { + index: 0, + toolComponent: { + index: 0, + }, + }, + value: 123, + }, + ], + }, + }, {}, ], }) @@ -233,8 +262,20 @@ test("status report fields and search path setting", async (t) => { baseline: lineCount, }, ]); + t.deepEqual(sarif.runs[2].properties.metricResults, [ + { + rule: { + index: 0, + toolComponent: { + index: 0, + }, + }, + value: 123, + baseline: lineCount, + }, + ]); // when the rule doesn't exist, it should not be added - t.deepEqual(sarif.runs[2].properties.metricResults, []); + t.deepEqual(sarif.runs[3].properties.metricResults, []); } function verifyQuerySuites(tmpDir: string) { diff --git a/src/analyze.ts b/src/analyze.ts index b84ed65bb7..408b9ab814 100644 --- a/src/analyze.ts +++ b/src/analyze.ts @@ -415,8 +415,10 @@ async function injectLinesOfCode( const idPrefix = getIdPrefix(language); if (language in lineCounts) { const sarif = JSON.parse(fs.readFileSync(sarifFile, "utf8")); + if (Array.isArray(sarif.runs)) { for (const run of sarif.runs) { + // Old style: Baseline is inserted when rule ID has suffix /summary/lines-of-code const ruleId = `${idPrefix}/summary/lines-of-code`; run.properties = run.properties || {}; run.properties.metricResults = run.properties.metricResults || []; @@ -428,8 +430,22 @@ async function injectLinesOfCode( if (rule) { rule.baseline = lineCounts[language]; } + + // New style: Baseline is inserted when matching rule has tag lines-of-code + for (const metric of run.properties.metricResults) { + if (metric.rule && metric.rule.toolComponent) { + const matchingRule = + run.tool.extensions[metric.rule.toolComponent.index].rules[ + metric.rule.index + ]; + if (matchingRule.properties.tags?.includes("lines-of-code")) { + metric.baseline = lineCounts[language]; + } + } + } } } + fs.writeFileSync(sarifFile, JSON.stringify(sarif)); } }