Send request via gui, using vs code
Table of Contents
The following sequence works when run from a local vs code with the custom codeql plugin.
Connect to vscode-codeql container at http://localhost:9080/?folder=/home/coder
1. Provide settings
The file
/home/coder/.vscode/settings.json
cat > /home/coder/.vscode/settings.json << EOF { "codeQL.runningQueries.numberOfThreads": 2, "codeQL.cli.executablePath": "/opt/codeql/codeql", "codeQL.variantAnalysis.enableGhecDr": true, "github-enterprise.uri": "http://server:8080/" } EOF
2. Provide list of repositories to analyze
ql tab > variant analysis repositories > {}, put this into
databases.json
{
"version": 1,
"databases": {
"variantAnalysis": {
"repositoryLists": [
{
"name": "mrva-list",
"repositories": [
"Serial-Studio/Serial-Studio",
"UEFITool/UEFITool",
"aircrack-ng/aircrack-ng",
"bulk-builder/bulk-builder",
"tesseract/tesseract"
]
}
],
"owners": [],
"repositories": []
}
},
"selected": {
"kind": "variantAnalysisUserDefinedList",
"listName": "mirva-list"
}
}
3. Make the list current
ql tab > variant analysis repositories > 'select' mrva-list
4. Provide a query
Select file qldemo/simple.ql and put Fprintf.ql parallel to it:
cat > /home/coder/qldemo/Fprintf.ql <<eof /** * @name findPrintf * @description find calls to plain fprintf * @kind problem * @id cpp-fprintf-call * @problem.severity warning */ import cpp from FunctionCall fc where fc.getTarget().getName() = "fprintf" select fc, "call of fprintf" eof
/** * @name findPrintf * @description find calls to plain fprintf * @kind problem * @id cpp-fprintf-call * @problem.severity warning */ import cpp from FunctionCall fc where fc.getTarget().getName() = "fprintf" select fc, "call of fprintf"
5. Provide the qlpack specification
Create qlpack.yml for cpp:
cat > /home/coder/qldemo/qlpack.yml <<eof library: false name: codeql-dataflow-ii-cpp version: 0.0.1 dependencies: codeql/cpp-all: 0.5.3 eof
Then
- Delete
qlpack.lockfile In shell,
cd ~/qldemo /opt/codeql/codeql pack install- In GUI, 'install pack dependencies'
- In GUI, 'reload windows'
6. Submit the analysis job
Fprintf.ql > right click > run variant analysis