coldpass

trustedsec/hate_crack

GitHub ↗ · How this check works

Per-setup public labels: Linux / Haiku: Didn’t work

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/trustedsec--hate_crack.svg).

Didn’t work

Only older checks are saved; no current product test.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxno

Linux / Haiku 5.5: no · Oct 17, 2026 · d6eb5d54bed8 · claude-code / 2.1.300 (Claude Code)
Recorded operation: limited checks

Issue
yes, not fixed yet
Our test was blocked; no repo verdict.

Safety: no observations were recorded for the selected revision. Functional results do not establish a safety result.

Repair history and test corrections
Current diagnosis: unknown · prerequisite

hashcat CPU/pocl OpenCL device has only 256 MB allocatable in one block and no GPU; hashcat reports 'Not enough allocatable device memory for this attack.' for every configuration tried, including without hate_crack.

Recorded action: Wait for the documented external prerequisite; keep partial grades.

Repair record fix-e06f701bb1e57262c50f · current status JSON. Original run outcomes remain unchanged.

Failed run: trustedsec/hate_crack · Oct 17, 2026 · Recorded operation failed.

Repair development: trustedsec/hate_crack · Oct 18, 2026 · Repair work (development) · not an initial-trial result.

Run details

Haiku 5.5

Native agent · Recorded operation failed

Operation / attempted scope limited checks

Agent-reported scope: hate_crack quick hashes.txt 0 --wordlist words.txt (MD5 crack of a known hash, README 'Non-interactive / scripted usage'); attempted, did not crack

Run details
run
trustedsec--hate_crack-claude-haiku-5-5-1792289151842698125
date
Oct 17, 2026
time to working
not recorded
product hosting / execution
Not recorded
recorded operation scope
limited checks
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
linux
reported cost
$0.014237
Recorded source
https://github.com/trustedsec/hate_crack
Tool transport
mcp-assigned-vm
Test version
readme-ced3740ceffd87e1ebe7c761c89907041f1fb793266cc8f82ec12e016b542064
revision
d6eb5d54bed83d55732e11c3d634d047bb1e5d83
Current diagnosis: unknown · prerequisite

hashcat CPU/pocl OpenCL device has only 256 MB allocatable in one block and no GPU; hashcat reports 'Not enough allocatable device memory for this attack.' for every configuration tried, including without hate_crack.

Recorded action: Wait for the documented external prerequisite; keep partial grades.

Repair record fix-e06f701bb1e57262c50f · current status JSON. Original run outcomes remain unchanged.

Failed run: trustedsec/hate_crack · Oct 17, 2026 · Recorded operation failed.

Repair development: trustedsec/hate_crack · Oct 18, 2026 · Repair work (development) · not an initial-trial result.

Fix: fix-e06f701bb1e57262c50f.

Recorded blocker / warning

Step: hate_crack quick ... (README 'Non-interactive / scripted usage')

hashcat CPU/pocl device cannot allocate memory for the attack; the VM has no GPU and no working OpenCL device memory.

Install / setup / connection checks
[
  {
    "status": "FAIL",
    "details": {
      "working": false,
      "argv": [
        "<host-path>",
        "--help"
      ],
      "kind": "cli",
      "returncode": 127,
      "stdout": "",
      "stderr": "<host-path> line 4: exec: uv: not found",
      "needs_credentials": false,
      "needs_browser": false,
      "blocker": "product invocation failed: {\"returncode\": 127, \"stdout\": \"\", \"stderr\": \"<host-path> line 4: exec: uv: not found\\n\", \"needs_credentials\": false, \"needs_browser\": false}"
    },
    "check": "install",
    "optional": false
  },
  {
    "status": "FAIL",
    "details": {
      "working": false,
      "argv": [
        "<host-path>",
        "quick",
        "/tmp/hc_smoke/hashes.txt",
        "0",
        "--wordlist",
        "/tmp/hc_smoke/words.txt"
      ],
      "kind": "cli",
      "returncode": 127,
      "stdout": "",
      "stderr": "<host-path> line 4: exec: uv: not found",
      "needs_credentials": false,
      "needs_browser": false,
      "blocker": "product invocation failed: {\"returncode\": 127, \"stdout\": \"\", \"stderr\": \"<host-path> line 4: exec: uv: not found\\n\", \"needs_credentials\": false, \"needs_browser\": false}"
    },
    "check": "start",
    "optional": false
  }
]

Suggested next step (agent-reported): Run on a host with a GPU or a working OpenCL device (e.g. install a GPU driver), or give pocl more allocatable memory (check POCL_MEMORY_LIMIT / POCL_MAX_ALLOC). Then rerun the quick command and expect the 5f4dcc3b5aa765d61d8327deb882cf99 hash to crack to 'password'.

What the agent did

hate_crack quick hashes.txt 0 --wordlist words.txt (MD5 crack of a known hash, README 'Non-interactive / scripted usage'); attempted, did not crack

cd <host-path> && ls -la && cat README.md 2>/dev/null | head -300
cd <host-path> && git log -1 --oneline 2>/dev/null; cat pyproject.toml 2>/dev/null | head -60; which python3 pipx uv go cargo 2>/dev/null; python3 --version
cd <host-path> && grep -n "^## \|^### " README.md | head -80; grep -n "^[a-z-]*:" Makefile | head -40; which hashcat make uv git; sudo -n true && echo SUDO_OK
cd <host-path> && sudo apt-get update -qq 2>&1 | tail -3; sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -qq hashcat p7zip-full transmission-daemon make curl git 2>&1 | tail -5; which hashcat make; hashcat --version 2>&1 | head -2
cd <host-path> && sed -n 1,115p Makefile
cd <host-path> && (command -v uv || (curl -LsSf https://astral.sh/uv/install.sh | sh)) 2>&1 | tail -2; export PATH=$HOME/.local/bin:$PATH; uv --version && timeout 1500 make 2>&1 | tail -40; echo EXIT=${PIPESTATUS[0]}
cd <host-path> && export PATH=$HOME/.local/bin:$PATH && export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_HATE_CRACK=0.0.0+d6eb5d5 && timeout 1500 make 2>&1 | tail -15; echo EXIT=${PIPESTATUS[0]}; ls ~/.local/bin/hate_crack && cat ~/.local/bin/hate_crack
mkdir -p /tmp/hc_smoke && cd /tmp/hc_smoke && printf '5f4dcc3b5aa765d61d8327deb882cf99\n' > hashes.txt && printf 'letmein\npassword\nqwerty\n' > words.txt && export PATH=$HOME/.local/bin:$PATH && timeout 600 hate_crack quick /tmp/hc_smoke/hashes.txt 0 --wordlist /tmp/hc_smoke/words.txt 2>&1 | tail -30; echo EXIT=${PIPESTATUS[0]}
cd <host-path> && which gcc || sudo apt-get install -y -qq build-essential >/dev/null 2>&1; make -C hashcat-utils 2>&1 | tail -5; echo EXIT=${PIPESTATUS[0]}; ls hashcat-utils/bin | head; ls princeprocessor/pp64.bin 2>/dev/null || (make -C princeprocessor/src CFLAGS_LINUX64="-W -Wall -std=c99 -O2 -s -DLINUX" 2>&1 | tail -3; cp princeprocessor/src/pp64.bin princeprocessor/ 2>/dev/null; ls princeprocessor/pp64.bin)
cd <host-path> && cat .gitmodules; ls -la hashcat-utils princeprocessor omen pcfg_cracker Corporate_Masks | head -40
cd <host-path> && git clone -q https://github.com/hashcat/hashcat-utils.git hashcat-utils 2>&1 | tail -3; ls hashcat-utils | head -5
cd <host-path> && git clone -q https://github.com/hashcat/princeprocessor.git princeprocessor 2>&1|tail -2; export PATH=$HOME/.local/bin:$PATH SETUPTOOLS_SCM_PRETEND_VERSION_FOR_HATE_CRACK=0.0.0+d6eb5d5; timeout 1500 make 2>&1 | grep -v "^ + " | tail -15; echo EXIT=${PIPESTATUS[0]}; ls hashcat-utils/bin | head -3; ls princeprocessor/pp64.bin
cd /tmp/hc_smoke && export PATH=$HOME/.local/bin:$PATH && timeout 900 hate_crack quick /tmp/hc_smoke/hashes.txt 0 --wordlist /tmp/hc_smoke/words.txt 2>&1 | tail -30; echo EXIT=${PIPESTATUS[0]}; ls /tmp/hc_smoke
cd /tmp/hc_smoke && rm -f hashes.txt.out && mkdir -p ~/.hashcat && export PATH=$HOME/.local/bin:$PATH && hashcat -I 2>&1 | head -12; timeout 300 hashcat -m 0 -a 0 -w 1 --potfile-path /tmp/hc_smoke/p.pot hashes.txt words.txt --force -o /tmp/hc_smoke/direct.out --outfile-format 2 2>&1 | tail -6; echo EXIT=$?; cat /tmp/hc_smoke/direct.out 2>/dev/null
cd /tmp/hc_smoke && for f in "-O" "-w 1 -n 1 -u 1" "--backend-vector-width 1 -O"; do echo "== $f"; timeout 120 hashcat -m 0 -a 0 $f --potfile-path /tmp/hc_smoke/p.pot hashes.txt words.txt -o /tmp/hc_smoke/direct.out --outfile-format 2 --quiet 2>&1 | tail -2; cat /tmp/hc_smoke/direct.out 2>/dev/null && break; done; free -m | head -2; nproc
cd <host-path> && grep -n "checks\|check\"\|\"install\"\|\"start\"\|expected_text\|def " <host-path> | head -80; hate_crack --help >/dev/null 2>&1; echo help_rc=$?; PATH=$HOME/.local/bin:$PATH hate_crack --version 2>&1 | tail -2
sed -n 308,420p <host-path>
cd <host-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'
{"checks":[
 {"check":"install","kind":"cli","argv":["<host-path>"},
 {"check":"start","kind":"cli","argv":["<host-path>"}
]}
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"blocked",
 "operation":"hate_crack quick hashes.txt 0 --wordlist words.txt (MD5 crack of a known hash, README 'Non-interactive / scripted usage'); attempted, did not crack",
 "operation_scope":"Install and CLI startup verified. The crack itself is blocked: hashcat 6.2.6 CPU backend (pocl) reports 'Not enough allocatable device memory for this attack' for -m 0 -a 0 with and without -O/-w/-n/-u/--force. No GPU in VM.",
 "steps":["sudo apt-get install -y hashcat p7zip-full transmission-daemon make curl git build-essential (README 'External Dependencies' + Makefile)","curl -LsSf https://astral.sh/uv/install.sh | sh (Makefile uv fallback)","make (README 'Install dependencies and hate_crack'; needed SETUPTOOLS_SCM_PRETEND_VERSION_FOR_HATE_CRACK=0.0.0+d6eb5d5 because workspace has no .git)","hate_crack --help (exit 0)","hate_crack quick /tmp/hc_smoke/hashes.txt 0 --wordlist /tmp/hc_smoke/words.txt (exit 0, no crack)"],
 "deviations":["make failed at setuptools-scm: no .git in workspace. Re-ran make with SETUPTOOLS_SCM_PRETEND_VERSION_FOR_HATE_CRACK=0.0.0+d6eb5d5.","make did not build submodules because the snapshot has no .git; submodule dirs were empty. Ran git clone https://github.com/hashcat/hashcat-utils.git into hashcat-utils and https://github.com/hashcat/princeprocessor.git into princeprocessor (default branch, not pinned submodule SHAs). Then re-ran make, which built expanders, pp64.bin, and uv sync.","hate_crack quick failed with 'expander not found' until hashcat-utils was built; fixed as above.","Other submodules (omen, pcfg_cracker, Corporate_Masks, HashcatRosetta) were not fetched; not needed for quick.","Product runs wrote config.json and .env in the workspace root (product-generated, not source edits). make also patched hashcat-utils/src/Makefile per Makefile submodules-pre (README-documented installer behavior)."],
 "stuck_step":"hate_crack quick ... (README 'Non-interactive / scripted usage')",
 "main_blocker":"hashcat CPU/pocl device cannot allocate memory for the attack; the VM has no GPU and no working OpenCL device memory.",
 "suggested_fix":"Run on a host with a GPU or a working OpenCL device (e.g. install a GPU driver), or give pocl more allocatable memory (check POCL_MEMORY_LIMIT / POCL_MAX_ALLOC). Then rerun the quick command and expect the 5f4dcc3b5aa765d61d8327deb882cf99 hash to crack to 'password'."}
EOF
python3 -c "import json;json.load(open('.coldpass/probe.json'));json.load(open('.coldpass/report.json'));print('json ok')" && <env-var>=<host-path> python3 -I <host-path> --validate
Repair work and diagnoses (1)

Haiku 5.5

Native agent · Repair work (development) · not an initial-trial result

Operation / attempted scope limited checks

Agent-reported scope: hate_crack quick hashes.txt 0 --wordlist words.txt --rules best64.rule (README 'Non-interactive / scripted usage'); reached hashcat but could not run an attack

Run details
run
trustedsec--hate_crack-claude-haiku-5-5-1792306158764348775
date
Oct 18, 2026
time to working
not recorded
product hosting / execution
Not recorded
recorded operation scope
limited checks
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
linux
reported cost
$0.027089
Recorded source
https://github.com/trustedsec/hate_crack
Tool transport
mcp-assigned-vm
Test version
readme-06b25b32abea9b167d8a3a71706d460c38ccf7fcc73432eb773792a001029d87
revision
d6eb5d54bed83d55732e11c3d634d047bb1e5d83
Current diagnosis: unknown · prerequisite

hashcat CPU/pocl OpenCL device has only 256 MB allocatable in one block and no GPU; hashcat reports 'Not enough allocatable device memory for this attack.' for every configuration tried, including without hate_crack.

Recorded action: Wait for the documented external prerequisite; keep partial grades.

Repair record fix-e06f701bb1e57262c50f · current status JSON. Original run outcomes remain unchanged.

Failed run: trustedsec/hate_crack · Oct 17, 2026 · Recorded operation failed.

Repair development: trustedsec/hate_crack · Oct 18, 2026 · Repair work (development) · not an initial-trial result.

Double-checks failed run: trustedsec/hate_crack · Oct 17, 2026.

Fix: fix-e06f701bb1e57262c50f.

Recorded blocker / warning

Step: hate_crack quick hashes.txt 0 --wordlist words.txt --rules best64.rule (README 'Non-interactive / scripted usage')

hashcat CPU/pocl OpenCL device has only 256 MB allocatable in one block and no GPU; hashcat reports 'Not enough allocatable device memory for this attack.' for every configuration tried, including without hate_crack.

Install / setup / connection checks
[
  {
    "status": "FAIL",
    "details": {
      "working": false,
      "argv": [
        "/root/.local/bin/hate_crack",
        "quick",
        "--help"
      ],
      "kind": "cli",
      "returncode": 127,
      "stdout": "",
      "stderr": "/root/.local/bin/hate_crack: line 4: exec: uv: not found",
      "needs_credentials": false,
      "needs_browser": false,
      "blocker": "product invocation failed: {\"returncode\": 127, \"stdout\": \"\", \"stderr\": \"/root/.local/bin/hate_crack: line 4: exec: uv: not found\\n\", \"needs_credentials\": false, \"needs_browser\": false}"
    },
    "check": "install",
    "optional": false
  }
]

Suggested next step (agent-reported): Run the operation on a host or guest with a usable GPU or an OpenCL device whose CL_DEVICE_MAX_MEM_ALLOC_SIZE is large enough for hashcat (or a pocl build/configuration that exposes more allocatable memory). Separately, hate_crack quick should propagate hashcat's nonzero exit status so failures are not reported as exit 0.

What the agent did

hate_crack quick hashes.txt 0 --wordlist words.txt --rules best64.rule (README 'Non-interactive / scripted usage'); reached hashcat but could not run an attack

apt-get install -y hashcat p7zip-full transmission-daemon git make ocl-icd-libopencl1 pocl-opencl-icd curl ca-certificates (README 'External Dependencies' / Step 1)
apt-get install -y build-essential (needed by hashcat-utils, princeprocessor, omen builds)
Attached pinned git metadata: git init, git fetch --depth 1 https://github.com/trustedsec/hate_crack.git d6eb5d54bed83d55732e11c3d634d047bb1e5d83, mv .git into /workspace, git reset --mixed FETCH_HEAD (index only; git status clean)
git submodule update --init --recursive (README Step 2; all six submodules at recorded commits)
make (README 'Install dependencies and hate_crack', Step 3) -> rc=0 after fixes; installed shim /root/.local/bin/hate_crack
hate_crack quick --help -> rc=0 (install check)
hate_crack quick hashes.txt 0 --wordlist words.txt --rules best64.rule (README 'Non-interactive / scripted usage') -> hashcat 'Not enough allocatable device memory for this attack'