fix: patch peframe tostring() for Python 3.9+ compatibility (#3621)#3625
Merged
mlodic merged 2 commits intointelowlproject:developfrom Apr 8, 2026
Merged
fix: patch peframe tostring() for Python 3.9+ compatibility (#3621)#3625mlodic merged 2 commits intointelowlproject:developfrom
mlodic merged 2 commits intointelowlproject:developfrom
Conversation
Contributor
Author
|
Greetings @mlodic, |
Member
|
please add a comment about this in the dockerfile and also show a working analysis of the analyzer |
Contributor
Author
Member
|
ok but why no analysis from the GUI? |
Contributor
Author
|
Greetings @mlodic, PEframe_Scan ran successfully on a PE file (test_valid.exe) through IntelOwl. The analyzer produced a full report with peinfo, features, yara_plugins, hashes, etc.
|
mlodic
approved these changes
Apr 8, 2026
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.





Closes #3621
Description
The PeFrame analyzer was failing on PE file analysis because
peframe-ds==6.1.0usesarray.array.tostring()in itsfeatures.pymodule, which was removed in Python 3.9+. Since themalware_tools_analyzerscontainer runs Python 3.11, PeFrame crashes withAttributeError: 'array.array' object has no attribute 'tostring'whenever it tries to analyze a valid PE file.The issue is on the analyzer side, not specific to any sample.
Fixed by adding a
sedpatch in the Dockerfile to replace.tostring()with.tobytes()after pip install.Type of change
Checklist
developRun) gave 0 errors. If you have correctly installed pre-commit, it does these checks and adjustments on your behalf.