Skip to content

Fix(vulnerability_analytics): Resolve angr execution failures and fix Docker/Poetry setup#8

Open
tdrdnt wants to merge 3 commits into
open-crs:masterfrom
tdrdnt:tudor-fix-vuln-analytics
Open

Fix(vulnerability_analytics): Resolve angr execution failures and fix Docker/Poetry setup#8
tdrdnt wants to merge 3 commits into
open-crs:masterfrom
tdrdnt:tudor-fix-vuln-analytics

Conversation

@tdrdnt

@tdrdnt tdrdnt commented Jun 29, 2026

Copy link
Copy Markdown

Purpose of the PR

This PR fixes the vulnerability_analytics module, which was failing to run due to issues related to the Docker environment, package versions, and incompatibilities with the angr loader. It also updates the README.md with the correct setup and execution instructions.

Main Changes:

1. angr/Docker Execution Fixes:

  • Downgraded the base image from ubuntu:latest to ubuntu:20.04 to prevent glibc compatibility issues with the angr loader (which caused the simgr is empty error).
  • Updated DockerBuilder.py to generate an absolute path for the binary in the ENTRYPOINT instruction.

2. Docker and Setup Fixes:

  • Upgraded the Docker image to use python:3.10, fulfilling the requirements specified in pyproject.toml.
  • Replaced the Poetry installation method inside the container with pip install poetry to avoid environment pathing issues.
  • Corrected README.md to specify that the docker build command must be executed from the project root. This ensures that local packages (commons, zeratool_lib) are properly included in the Docker context.

3. Dependency Management:

  • Removed caret (^) constraints in pyproject.toml and replaced them with specific version constraints to prevent unexpected breaking changes during future installations (e.g., Python version is strictly bounded to >=3.10, <3.11).
  • Generated the updated poetry.lock file.

How to Test:

  1. Run the docker build command from the project root according to the updated instructions in the README.
  2. Execute the test runs using the examples provided:
    poetry run vulnerability_analytics get --binary-path=./test_binary/source.bin --binary-arguments="--string,santa"

tdrdnt added 3 commits June 29, 2026 15:15
Replaced the caret (^) operator with specific version constraints
in pyproject.toml to prevent unexpected breaking changes during
future installations.

Restricted the Python version to >=3.10, <3.11 to maintain strict
compatibility with zeratool_lib and the angr module. Also, forced
the generation of a new poetry.lock file to reflect these updates.

Signed-off-by: Tudor Danet <tudor.danet.upb@gmail.com>
Upgraded the Docker environment to use Python 3.10 and replaced the
Poetry curl installation with pip to prevent pathing issues. Fixed
glibc compatibility by downgrading the base image to ubuntu:20.04.

Updated the setup instructions in README.md to ensure the docker build
command is executed from the project root context.

Signed-off-by: Tudor Danet <tudor.danet.upb@gmail.com>
Updated the DockerBuilder.py script to generate an absolute path
for the binary in the ENTRYPOINT instruction. This prevents angr
from failing with the 'simgr is empty' error.

Also updated the README.md file to reflect the new setup instructions
and execution flow, ensuring the docker build command is executed
from the project root context.

Signed-off-by: Tudor Danet <tudor.danet.upb@gmail.com>
@tdrdnt tdrdnt requested a review from razvand June 29, 2026 12:43
@tdrdnt tdrdnt self-assigned this Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant