Skip to content

Commit 042ab54

Browse files
Merge pull request #61 from github/disable_queries
Add a quick way to disable builtin queries
2 parents 476c8a4 + 19faafb commit 042ab54

File tree

3 files changed

+44
-4
lines changed

3 files changed

+44
-4
lines changed

lib/finalize-db.js

Lines changed: 20 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/finalize-db.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/finalize-db.ts

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,27 @@ import * as sharedEnv from './shared-environment';
1111
import * as upload_lib from './upload-lib';
1212
import * as util from './util';
1313

14+
/**
15+
* A list of queries from https://github.com/github/codeql that
16+
* we don't want to run. Disabling them here is a quicker alternative to
17+
* disabling them in the code scanning query suites. Queries should also
18+
* be disabled in the suites, and removed from this list here once the
19+
* bundle is updated to make those suite changes live.
20+
*
21+
* Format is a map from language to an array of path suffixes of .ql files.
22+
*/
23+
const DISABLED_BUILTIN_QUERIES: {[language: string]: string[]} = {
24+
'csharp': [
25+
'ql/src/Security Features/CWE-937/VulnerablePackage.ql',
26+
'ql/src/Security Features/CWE-451/MissingXFrameOptions.ql',
27+
]
28+
};
29+
30+
function queryIsDisabled(language, query): boolean {
31+
return (DISABLED_BUILTIN_QUERIES[language] || [])
32+
.some(disabledQuery => query.endsWith(disabledQuery));
33+
}
34+
1435
function getMemoryFlag(): string {
1536
let memoryToUseMegaBytes: number;
1637
const memoryToUseString = core.getInput("ram");
@@ -125,7 +146,7 @@ async function resolveQueryLanguages(codeqlCmd: string, config: configUtils.Conf
125146
if (res[language] === undefined) {
126147
res[language] = [];
127148
}
128-
res[language].push(...Object.keys(<any>queries));
149+
res[language].push(...Object.keys(queries).filter(q => !queryIsDisabled(language, q)));
129150
}
130151
}
131152

@@ -136,7 +157,7 @@ async function resolveQueryLanguages(codeqlCmd: string, config: configUtils.Conf
136157
if (res[language] === undefined) {
137158
res[language] = [];
138159
}
139-
res[language].push(...Object.keys(<any>queries));
160+
res[language].push(...Object.keys(queries));
140161
}
141162

142163
const noDeclaredLanguage = resolveQueriesOutputObject.noDeclaredLanguage;

0 commit comments

Comments
 (0)