horness (latest)

Published 2026-09-09 21:30:14 +03:00 by pegasko

Installation

docker pull git.pegasko.art/pegasko/horness:latest
sha256:783620a98c33b35c667f843cfc8706b208f29feb8ed5e1acef31e1e0c24157f1

Image Layers

# debian.sh --arch 'amd64' out/ 'trixie' '@1787529600'
ARG DEBIAN_FRONTEND
ARG DEBIAN_FRONTEND GHIDRA_TAG
ARG DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG
ARG DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION
ARG CFR_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION
ARG CFR_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION RADARE2_VERSION
ARG CFR_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION RADARE2_VERSION RIZIN_VERSION
ARG CFR_VERSION CODEX_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION RADARE2_VERSION RIZIN_VERSION
ARG CFR_VERSION CLAUDE_CODE_VERSION CODEX_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION RADARE2_VERSION RIZIN_VERSION
ARG CFR_VERSION CLAUDE_CODE_VERSION CODEX_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION OPENCODE_VERSION RADARE2_VERSION RIZIN_VERSION
ARG CFR_VERSION CLAUDE_CODE_VERSION CODEX_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION OPENCODE_VERSION PI_VERSION RADARE2_VERSION RIZIN_VERSION
ARG ANDROID_CMDLINE_TOOLS_VERSION CFR_VERSION CLAUDE_CODE_VERSION CODEX_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION OPENCODE_VERSION PI_VERSION RADARE2_VERSION RIZIN_VERSION
ARG ANDROID_CMDLINE_TOOLS_SHA256 ANDROID_CMDLINE_TOOLS_VERSION CFR_VERSION CLAUDE_CODE_VERSION CODEX_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION OPENCODE_VERSION PI_VERSION RADARE2_VERSION RIZIN_VERSION
ARG ANDROID_CMDLINE_TOOLS_SHA256 ANDROID_CMDLINE_TOOLS_VERSION ANDROID_PLATFORM CFR_VERSION CLAUDE_CODE_VERSION CODEX_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION OPENCODE_VERSION PI_VERSION RADARE2_VERSION RIZIN_VERSION
ARG ANDROID_BUILD_TOOLS ANDROID_CMDLINE_TOOLS_SHA256 ANDROID_CMDLINE_TOOLS_VERSION ANDROID_PLATFORM CFR_VERSION CLAUDE_CODE_VERSION CODEX_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION OPENCODE_VERSION PI_VERSION RADARE2_VERSION RIZIN_VERSION
ARG ANDROID_BUILD_TOOLS ANDROID_CMDLINE_TOOLS_SHA256 ANDROID_CMDLINE_TOOLS_VERSION ANDROID_NDK_VERSION ANDROID_PLATFORM CFR_VERSION CLAUDE_CODE_VERSION CODEX_VERSION DEBIAN_FRONTEND GHIDRA_SHA256 GHIDRA_TAG JADX_VERSION OPENCODE_VERSION PI_VERSION RADARE2_VERSION RIZIN_VERSION
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 HOME=/root VIRTUAL_ENV=/opt/horness/venv PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore npm_config_update_notifier=false npm_config_fund=false npm_config_audit=false RUSTUP_HOME=/opt/rustup CARGO_HOME=/opt/cargo ANDROID_HOME=/opt/android-sdk ANDROID_SDK_ROOT=/opt/android-sdk ANDROID_NDK_HOME=/opt/android-sdk/ndk/${ANDROID_NDK_VERSION} ANDROID_NDK_ROOT=/opt/android-sdk/ndk/${ANDROID_NDK_VERSION} PATH=/opt/horness/venv/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/build-tools/${ANDROID_BUILD_TOOLS}:/opt/android-sdk/ndk/${ANDROID_NDK_VERSION}/toolchains/llvm/prebuilt/linux-x86_64/bin:/opt/cargo/bin:/opt/jadx/bin:/opt/ghidra:$PATH
|16 ANDROID_BUILD_TOOLS=36.0.0 ANDROID_CMDLINE_TOOLS_SHA256=4e4c464f145a7512b57d088ac6c278c03c9eea610886b35a5e0804e74eedf583 ANDROID_CMDLINE_TOOLS_VERSION=15859902 ANDROID_NDK_VERSION=29.0.14206865 ANDROID_PLATFORM=36 CFR_VERSION=0.152 CLAUDE_CODE_VERSION=2.1.263 CODEX_VERSION=0.153.4 DEBIAN_FRONTEND=noninteractive GHIDRA_SHA256=93a5d11a9ad510622acaaf908c556a7b9b764d338e78a7567f3689bf5081fd54 GHIDRA_TAG=Ghidra_12.1.3_build JADX_VERSION=1.5.3 OPENCODE_VERSION=1.18.29 PI_VERSION=0.84.4 RADARE2_VERSION=6.0.8 RIZIN_VERSION=0.9.1 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates curl wget gnupg jq yq openssl file tree less man-db git git-lfs rsync ripgrep fd-find fzf vim neovim nano screen tmux htop btop procps psmisc lsof time strace ltrace valgrind python3 python3-dev python3-pip python3-venv python3-yaml pipx sqlite3 nodejs npm openjdk-21-jdk-headless maven gradle golang-go delve golang-golang-x-tools build-essential cmake ninja-build meson pkg-config autoconf automake libtool clang llvm lld lldb gdb gdb-multiarch binutils elfutils patchelf nasm yasm bison flex libc6-dev libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev liblzma-dev libbz2-dev libsqlite3-dev libreadline-dev libncurses-dev libcap2-bin openssh-server openssh-client sudo tini socat netcat-openbsd telnet iproute2 iputils-ping dnsutils net-tools traceroute mtr-tiny whois nmap tcpdump tshark ethtool bridge-utils iptables nftables conntrack arping iftop iotop-c iperf3 ngrep hping3 arp-scan tcpreplay snmp ldap-utils smbclient podman buildah skopeo docker.io fuse-overlayfs uidmap slirp4netns crun containernetworking-plugins apktool smali binwalk sleuthkit foremost scalpel yara libimage-exiftool-perl checksec pax-utils dwarves bpfcc-tools python3-bpfcc bpftrace ncdu parted gdisk fdisk util-linux e2fsprogs xfsprogs btrfs-progs dosfstools exfatprogs ntfs-3g f2fs-tools lvm2 mdadm cryptsetup squashfs-tools qemu-utils qemu-user-static binfmt-support testdisk smartmontools nvme-cli hdparm sdparm sg3-utils pciutils usbutils dmidecode hwloc numactl sysstat postgresql-client mariadb-client redis-tools xmlstarlet libxml2-utils tidy protobuf-compiler flatbuffers-compiler shellcheck inotify-tools acl attr parallel moreutils pv graphviz unzip zip p7zip-full xz-utils zstd tar cpio lzip lz4 brotli cabextract && rm -rf /var/lib/apt/lists/*
|16 ANDROID_BUILD_TOOLS=36.0.0 ANDROID_CMDLINE_TOOLS_SHA256=4e4c464f145a7512b57d088ac6c278c03c9eea610886b35a5e0804e74eedf583 ANDROID_CMDLINE_TOOLS_VERSION=15859902 ANDROID_NDK_VERSION=29.0.14206865 ANDROID_PLATFORM=36 CFR_VERSION=0.152 CLAUDE_CODE_VERSION=2.1.263 CODEX_VERSION=0.153.4 DEBIAN_FRONTEND=noninteractive GHIDRA_SHA256=93a5d11a9ad510622acaaf908c556a7b9b764d338e78a7567f3689bf5081fd54 GHIDRA_TAG=Ghidra_12.1.3_build JADX_VERSION=1.5.3 OPENCODE_VERSION=1.18.29 PI_VERSION=0.84.4 RADARE2_VERSION=6.0.8 RIZIN_VERSION=0.9.1 /bin/sh -c npm install -g @openai/codex@${CODEX_VERSION} @anthropic-ai/claude-code@${CLAUDE_CODE_VERSION} opencode-ai@${OPENCODE_VERSION} @earendil-works/pi-coding-agent@${PI_VERSION} pnpm yarn && npm cache clean --force
|16 ANDROID_BUILD_TOOLS=36.0.0 ANDROID_CMDLINE_TOOLS_SHA256=4e4c464f145a7512b57d088ac6c278c03c9eea610886b35a5e0804e74eedf583 ANDROID_CMDLINE_TOOLS_VERSION=15859902 ANDROID_NDK_VERSION=29.0.14206865 ANDROID_PLATFORM=36 CFR_VERSION=0.152 CLAUDE_CODE_VERSION=2.1.263 CODEX_VERSION=0.153.4 DEBIAN_FRONTEND=noninteractive GHIDRA_SHA256=93a5d11a9ad510622acaaf908c556a7b9b764d338e78a7567f3689bf5081fd54 GHIDRA_TAG=Ghidra_12.1.3_build JADX_VERSION=1.5.3 OPENCODE_VERSION=1.18.29 PI_VERSION=0.84.4 RADARE2_VERSION=6.0.8 RIZIN_VERSION=0.9.1 /bin/sh -c python3 -m venv "$VIRTUAL_ENV" && "$VIRTUAL_ENV/bin/python" -m pip install --no-cache-dir --upgrade pip setuptools wheel && "$VIRTUAL_ENV/bin/python" -m pip install --no-cache-dir uv ipython pytest ruff mypy black httpie rich pyyaml angr pwntools lief capstone unicorn ropgadget r2pipe frida-tools mitmproxy androguard scapy dpkt construct pyelftools pefile cbor2 msgpack pyasn1 dnspython websockets requests beautifulsoup4 lxml jsonschema jmespath protobuf grpcio-tools 'litellm[proxy]'
|16 ANDROID_BUILD_TOOLS=36.0.0 ANDROID_CMDLINE_TOOLS_SHA256=4e4c464f145a7512b57d088ac6c278c03c9eea610886b35a5e0804e74eedf583 ANDROID_CMDLINE_TOOLS_VERSION=15859902 ANDROID_NDK_VERSION=29.0.14206865 ANDROID_PLATFORM=36 CFR_VERSION=0.152 CLAUDE_CODE_VERSION=2.1.263 CODEX_VERSION=0.153.4 DEBIAN_FRONTEND=noninteractive GHIDRA_SHA256=93a5d11a9ad510622acaaf908c556a7b9b764d338e78a7567f3689bf5081fd54 GHIDRA_TAG=Ghidra_12.1.3_build JADX_VERSION=1.5.3 OPENCODE_VERSION=1.18.29 PI_VERSION=0.84.4 RADARE2_VERSION=6.0.8 RIZIN_VERSION=0.9.1 /bin/sh -c set -eux; curl -fL "https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_CMDLINE_TOOLS_VERSION}_latest.zip" -o /tmp/android-commandlinetools.zip; echo "${ANDROID_CMDLINE_TOOLS_SHA256} /tmp/android-commandlinetools.zip" | sha256sum -c -; mkdir -p "${ANDROID_SDK_ROOT}/cmdline-tools"; unzip -q /tmp/android-commandlinetools.zip -d "${ANDROID_SDK_ROOT}/cmdline-tools"; mv "${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools" "${ANDROID_SDK_ROOT}/cmdline-tools/latest"; rm /tmp/android-commandlinetools.zip; yes | sdkmanager --licenses >/dev/null; sdkmanager --install "platform-tools" "platforms;android-${ANDROID_PLATFORM}" "build-tools;${ANDROID_BUILD_TOOLS}" "sources;android-${ANDROID_PLATFORM}" "ndk;${ANDROID_NDK_VERSION}"; rm -rf /root/.android/cache /root/.android/avd "${ANDROID_SDK_ROOT}/.temp"
|16 ANDROID_BUILD_TOOLS=36.0.0 ANDROID_CMDLINE_TOOLS_SHA256=4e4c464f145a7512b57d088ac6c278c03c9eea610886b35a5e0804e74eedf583 ANDROID_CMDLINE_TOOLS_VERSION=15859902 ANDROID_NDK_VERSION=29.0.14206865 ANDROID_PLATFORM=36 CFR_VERSION=0.152 CLAUDE_CODE_VERSION=2.1.263 CODEX_VERSION=0.153.4 DEBIAN_FRONTEND=noninteractive GHIDRA_SHA256=93a5d11a9ad510622acaaf908c556a7b9b764d338e78a7567f3689bf5081fd54 GHIDRA_TAG=Ghidra_12.1.3_build JADX_VERSION=1.5.3 OPENCODE_VERSION=1.18.29 PI_VERSION=0.84.4 RADARE2_VERSION=6.0.8 RIZIN_VERSION=0.9.1 /bin/sh -c curl --proto '=https' --tlsv1.2 -fsSL https://sh.rustup.rs | sh -s -- -y --profile minimal && /opt/cargo/bin/rustup toolchain install stable && /opt/cargo/bin/rustup default stable && /opt/cargo/bin/rustup component add rust-src rustfmt clippy
|16 ANDROID_BUILD_TOOLS=36.0.0 ANDROID_CMDLINE_TOOLS_SHA256=4e4c464f145a7512b57d088ac6c278c03c9eea610886b35a5e0804e74eedf583 ANDROID_CMDLINE_TOOLS_VERSION=15859902 ANDROID_NDK_VERSION=29.0.14206865 ANDROID_PLATFORM=36 CFR_VERSION=0.152 CLAUDE_CODE_VERSION=2.1.263 CODEX_VERSION=0.153.4 DEBIAN_FRONTEND=noninteractive GHIDRA_SHA256=93a5d11a9ad510622acaaf908c556a7b9b764d338e78a7567f3689bf5081fd54 GHIDRA_TAG=Ghidra_12.1.3_build JADX_VERSION=1.5.3 OPENCODE_VERSION=1.18.29 PI_VERSION=0.84.4 RADARE2_VERSION=6.0.8 RIZIN_VERSION=0.9.1 /bin/sh -c set -eux; url="$(curl -fsSL "https://api.github.com/repos/NationalSecurityAgency/ghidra/releases/tags/${GHIDRA_TAG}" | jq -r '.assets[] | select(.name|test("PUBLIC.*zip$")) | .browser_download_url' | head -1)"; test -n "$url"; curl -fL "$url" -o /tmp/ghidra.zip; echo "${GHIDRA_SHA256} /tmp/ghidra.zip" | sha256sum -c -; mkdir -p /opt/ghidra; unzip -q /tmp/ghidra.zip -d /opt/ghidra-parent; mv /opt/ghidra-parent/*/* /opt/ghidra/; rm -rf /opt/ghidra-parent /tmp/ghidra.zip; printf '#!/bin/sh\nexec /opt/ghidra/support/analyzeHeadless "$@"\n' >/usr/local/bin/ghidra-headless; chmod +x /usr/local/bin/ghidra-headless
|16 ANDROID_BUILD_TOOLS=36.0.0 ANDROID_CMDLINE_TOOLS_SHA256=4e4c464f145a7512b57d088ac6c278c03c9eea610886b35a5e0804e74eedf583 ANDROID_CMDLINE_TOOLS_VERSION=15859902 ANDROID_NDK_VERSION=29.0.14206865 ANDROID_PLATFORM=36 CFR_VERSION=0.152 CLAUDE_CODE_VERSION=2.1.263 CODEX_VERSION=0.153.4 DEBIAN_FRONTEND=noninteractive GHIDRA_SHA256=93a5d11a9ad510622acaaf908c556a7b9b764d338e78a7567f3689bf5081fd54 GHIDRA_TAG=Ghidra_12.1.3_build JADX_VERSION=1.5.3 OPENCODE_VERSION=1.18.29 PI_VERSION=0.84.4 RADARE2_VERSION=6.0.8 RIZIN_VERSION=0.9.1 /bin/sh -c set -eux; curl -fL "https://github.com/skylot/jadx/releases/download/v${JADX_VERSION}/jadx-${JADX_VERSION}.zip" -o /tmp/jadx.zip; mkdir -p /opt/jadx; unzip -q /tmp/jadx.zip -d /opt/jadx; rm /tmp/jadx.zip; ln -sf /opt/jadx/bin/jadx /usr/local/bin/jadx; ln -sf /opt/jadx/bin/jadx-gui /usr/local/bin/jadx-gui; mkdir -p /opt/cfr; curl -fL "https://github.com/leibnitz27/cfr/releases/download/${CFR_VERSION}/cfr-${CFR_VERSION}.jar" -o /opt/cfr/cfr.jar; printf '#!/bin/sh\nexec java -jar /opt/cfr/cfr.jar "$@"\n' >/usr/local/bin/cfr; chmod +x /usr/local/bin/cfr
|16 ANDROID_BUILD_TOOLS=36.0.0 ANDROID_CMDLINE_TOOLS_SHA256=4e4c464f145a7512b57d088ac6c278c03c9eea610886b35a5e0804e74eedf583 ANDROID_CMDLINE_TOOLS_VERSION=15859902 ANDROID_NDK_VERSION=29.0.14206865 ANDROID_PLATFORM=36 CFR_VERSION=0.152 CLAUDE_CODE_VERSION=2.1.263 CODEX_VERSION=0.153.4 DEBIAN_FRONTEND=noninteractive GHIDRA_SHA256=93a5d11a9ad510622acaaf908c556a7b9b764d338e78a7567f3689bf5081fd54 GHIDRA_TAG=Ghidra_12.1.3_build JADX_VERSION=1.5.3 OPENCODE_VERSION=1.18.29 PI_VERSION=0.84.4 RADARE2_VERSION=6.0.8 RIZIN_VERSION=0.9.1 /bin/sh -c set -eux; git clone --depth 1 --branch "${RADARE2_VERSION}" https://github.com/radareorg/radare2.git /tmp/radare2; /tmp/radare2/sys/install.sh; rm -rf /tmp/radare2; git clone --depth 1 --branch "v${RIZIN_VERSION}" --recurse-submodules https://github.com/rizinorg/rizin.git /tmp/rizin; meson setup /tmp/rizin/build /tmp/rizin --buildtype=release; ninja -C /tmp/rizin/build; ninja -C /tmp/rizin/build install; rm -rf /tmp/rizin
COPY file:c75686b195f9d4c07e2e2b864c894898f4905e23168694a830bfad7c2c4f80b1 in /usr/local/bin/aitool
COPY dir:905c4726eb58cccbe647d483038a72f95aeaf5bd74e7e5cf944b97a76dbaa62b in /opt/horness/docker
|16 ANDROID_BUILD_TOOLS=36.0.0 ANDROID_CMDLINE_TOOLS_SHA256=4e4c464f145a7512b57d088ac6c278c03c9eea610886b35a5e0804e74eedf583 ANDROID_CMDLINE_TOOLS_VERSION=15859902 ANDROID_NDK_VERSION=29.0.14206865 ANDROID_PLATFORM=36 CFR_VERSION=0.152 CLAUDE_CODE_VERSION=2.1.263 CODEX_VERSION=0.153.4 DEBIAN_FRONTEND=noninteractive GHIDRA_SHA256=93a5d11a9ad510622acaaf908c556a7b9b764d338e78a7567f3689bf5081fd54 GHIDRA_TAG=Ghidra_12.1.3_build JADX_VERSION=1.5.3 OPENCODE_VERSION=1.18.29 PI_VERSION=0.84.4 RADARE2_VERSION=6.0.8 RIZIN_VERSION=0.9.1 /bin/sh -c chmod +x /opt/horness/docker/*.sh /opt/horness/docker/watch-fanotify.py /opt/horness/docker/audit/*.py && mkdir -p /run/sshd /run/horness /etc/horness /root/.horness && ln -sf /usr/bin/fdfind /usr/local/bin/fd
ENV SHELL=/bin/bash BASH_ENV=/opt/horness/docker/audit-shell.sh
WORKDIR /root
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 CMD ["/opt/horness/docker/healthcheck.sh"]
ENTRYPOINT ["/usr/bin/tini","--","/opt/horness/docker/entrypoint.sh"]
CMD ["sleep","infinity"]

Labels

Key Value
io.buildah.version 1.43.2
Details
Container
2026-09-09 21:30:14 +03:00
0
OCI / Docker
linux/amd64
4.5 GiB
Versions (1) View all
latest 2026-09-09