github / github/codeql-cli-binaries

Running CodeQL within a Flask server silently interrupts connection

Open
#132 2 comments 1 reaction 0 assignees View on GitHub
CLI
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.