Skip to content

feat: upgrade packages to fix compatibility errors - #173

Merged
mpast merged 1 commit into
mainfrom
upgrade-and-fix
Jul 24, 2026
Merged

feat: upgrade packages to fix compatibility errors#173
mpast merged 1 commit into
mainfrom
upgrade-and-fix

Conversation

@mpast

@mpast mpast commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Fixes for #172

Summary

Recent APKs targeting Android 16/API 36 could leave scans frozen at 20% during decompilation. The existing APK toolchain was outdated, JADX execution was unbounded, and decompilation failures were not handled consistently.

This change updates the toolchain and makes the decompilation stage bounded, recoverable, and observable.

What changed

File Change
Dockerfile Upgrades JADX from 1.4.7 to 1.5.5, makes its launchers executable, and creates a writable home directory for the non-root worker user.
requirements.txt Upgrades Androguard from 3.4.0a1 to 4.1.4 and updates drf-yasg for compatibility with the current Django REST Framework version.
app/analysis.py Replaces blocking os.system() execution with controlled subprocess handling, timeout enforcement, process-group termination, partial-output cleanup, output validation, bounded diagnostics, and atomic completion markers.
app/worker/tasks.py Converts Celery exceptions into JSON-safe responses for the scan-state endpoint.
app/tests.py Adds regression coverage for successful, partial, failed, timed-out, and interrupted decompilation paths.

Comment thread app/worker/tasks.py Dismissed
@mpast
mpast merged commit 5b58e6e into main Jul 24, 2026
4 of 5 checks passed
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.

2 participants