github / github/codeql-cli-binaries
Running CodeQL within a Flask server silently interrupts connection
- Dominant language
- No language data
- Stars
- 1k
- Forks
- 184
- PR merge metrics
- No merged PRs in 30d
Description
I have extended the [official CodeQL container](https://github.com/microsoft/codeql-container) to run CodeQL analysis during a Python Flask HTTP request.
Throughout the request, three codeql CLI commands are executed:
```
codeql database create
codeql database upgrade
codeql database analyze
```
create and upgrade do not interrupt the connection, but I find that when the analyze command occurs, Flask will respond as normal but the client never receives the response. Leading me to believe something within the analyze command is silently interrupting the connection.
The python code I'm using uses the Python code found in the official CodeQL Docker container. Here is the code I'm running within the request:
```python
database_update_command = f"database upgrade {database_directory}"
database_analyze_command = f"database analyze {database_directory} --threads=0 --format=sarifv2.1.0 --output=output.json {database_lang}-security-and-quality.qls"
run_result = self.codeql.execute_codeql_command(
database_update_command)
run_result = self.codeql.execute_codeql_command(
database_analyze_command)
```
Any help would be appreciated!
Contributor guide
Research direction
Reproduce the Flask request using the three CodeQL CLI commands, especially database analyze, and inspect the Python execute_codeql_command call and its output handling. Compare analyze with database create and database upgrade to isolate why the client receives no response; done means identifying the interruption and documenting or fixing the integration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, flask, python
- Domain
- backend, cli, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100