Repository navigation
ADscan 3.2.1 — Docker-first release (migrate-docker)
🚀 Major change: Docker is now the default runtime
ADscan now installs and runs inside a Docker container by default to dramatically improve installation reliability across user environments. This reduces dependency issues caused by distro differences, Python tooling, apt repos, PATH contamination, and permissions.
- adscan install now pulls the ADscan Docker image and prepares the BloodHound CE compose stack.
- adscan start now launches ADscan inside the container with host workspaces mounted.
- adscan check validates Docker prerequisites and container readiness (and avoids legacy host dependency checks unless explicitly requested).
🧰 Legacy mode still available (explicit)
For users who still want the previous “install everything on the host” flow:
- Use --legacy (where supported) to run the legacy installer/check path.
🩸 BloodHound CE integration
- Docker-mode includes automatic handling for the BloodHound CE stack (compose-based), ensuring required images/configs are present and containers can be started when needed.
🔧 Reliability improvements
- Robust DNS discovery using dig (with compatibility fallbacks like disabling EDNS/cookies where needed).
- Better handling of transient network/DNS failures during tool installation/pulls with retries and clearer diagnostics.
- Improved handling of permission issues introduced by prior root-based installs (workspaces, tool state directories).
🐳 Container runtime enhancements
- Workspace and log directories are bind-mounted from the host so data persists across runs.
- Container entrypoint handles UID/GID mapping to reduce root-owned files on the host.
- Added Docker runtime detection helpers to prevent Docker-in-Docker pitfalls and keep behavior consistent.
📦 Publishing & versioning
- Release workflow now tags Docker images with the same version as the PyPI release (e.g. adscan/adscan:3.2.1) and updates latest to match.
⚠ Notes / Known behavior changes
- Some host-level operations (e.g., system time sync and privileged actions) are now mediated through container/host helper logic depending on environment and permissions.
- Older Kali/edge environments may still require manual Docker setup; see updated docs.
✅ Upgrade path
- Existing users: run adscan install to pull the latest image and update the BloodHound CE stack.
- For legacy installations, migrate by switching to Docker mode (recommended) or continue using --legacy.