Fix(vulnerability_analytics): Resolve angr execution failures and fix Docker/Poetry setup#8
Open
tdrdnt wants to merge 3 commits into
Open
Fix(vulnerability_analytics): Resolve angr execution failures and fix Docker/Poetry setup#8tdrdnt wants to merge 3 commits into
tdrdnt wants to merge 3 commits into
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose of the PR
This PR fixes the
vulnerability_analyticsmodule, which was failing to run due to issues related to the Docker environment, package versions, and incompatibilities with theangrloader. It also updates theREADME.mdwith the correct setup and execution instructions.Main Changes:
1. angr/Docker Execution Fixes:
ubuntu:latesttoubuntu:20.04to prevent glibc compatibility issues with theangrloader (which caused thesimgr is emptyerror).DockerBuilder.pyto generate an absolute path for the binary in theENTRYPOINTinstruction.2. Docker and Setup Fixes:
python:3.10, fulfilling the requirements specified inpyproject.toml.pip install poetryto avoid environment pathing issues.README.mdto specify that thedocker buildcommand 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:
^) constraints inpyproject.tomland 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).poetry.lockfile.How to Test:
docker buildcommand from the project root according to the updated instructions in the README.poetry run vulnerability_analytics get --binary-path=./test_binary/source.bin --binary-arguments="--string,santa"