CloakHQ/CloakBrowser · critical · BinaryVerificationError
Signature-verified Pro SHA256SUMS has no entry for {tarball_
Error message
Signature-verified Pro SHA256SUMS has no entry for {tarball_name} — cannot confirm binary integrity. What it means
The signature-verified Pro manifest has no checksum entry for this platform's archive name (get_archive_name()), so binary integrity cannot be confirmed; raised as BinaryVerificationError (tampering-class).
Source
Thrown at cloakbrowser/download.py:605
# (re-raise) rather than transient failures (fall back to free).
try:
_verify_signature(manifest_bytes, sig_resp.content)
except RuntimeError as exc:
raise BinaryVerificationError(str(exc)) from exc
manifest_text = manifest_bytes.decode("utf-8")
# Version binding: same forced-downgrade defense as the official path.
declared = _parse_manifest_version(manifest_text)
if declared != version:
raise BinaryVerificationError(
f"Version mismatch in signed Pro SHA256SUMS: requested {version}, "
f"manifest declares {declared or 'none'}. Refusing (possible downgrade)."
)
tarball_name = get_archive_name()
expected = _parse_checksums(manifest_text).get(tarball_name)
if expected is None:
raise BinaryVerificationError(
f"Signature-verified Pro SHA256SUMS has no entry for {tarball_name} — "
f"cannot confirm binary integrity."
)
try:
_verify_checksum(file_path, expected)
except RuntimeError as exc:
raise BinaryVerificationError(str(exc)) from exc
def _verify_download_checksum(file_path: Path, version: str | None = None) -> None:
"""Verify the downloaded archive's integrity and authenticity.
Official path (cloakbrowser.dev / GitHub Releases): fetch SHA256SUMS plus
its detached Ed25519 signature SHA256SUMS.sig, verify the signature against
the pinned public keys FIRST, then verify the archive's SHA-256 against the
now-authenticated manifest. Mandatory and non-bypassable — a same-origin
manifest can no longer certify a tampered binary (#308).
View on GitHub (pinned to d6bad5de26)
Solutions
- Retry with caches cleared
- Verify the archive name matches your platform tag via get_platform_tag()
- Report upstream — likely a release packaging gap
Defensive patterns
Strategy: try-catch
Try / catch
from cloakbrowser.download import BinaryVerificationError
try:
install()
except BinaryVerificationError as e:
if "no entry for" in str(e):
report_upstream(platform_tag(), e) # packaging gap
raise Prevention
- Smoke-test installs on every platform you ship to
- Treat missing manifest entries as release blockers in CI
When it happens
Trigger: Pro download where _parse_checksums(manifest_text).get(tarball_name) is None — manifest lacks a line for the current platform's tarball.
Common situations: Platform tarball added but manifest not regenerated; manifest truncated by a proxy; new platform support gap in the release.
Related errors
- Signature-verified Pro SHA256SUMS has no entry for {tarballN
- Could not fetch a signed SHA256SUMS (SHA256SUMS + SHA256SUMS
- Could not fetch the signed SHA256SUMS for Pro {version} ({ex
- Unsupported platform: {system} {machine}. Supported: {suppor
- {exc}
AI-assisted analysis of CloakHQ/CloakBrowser@d6bad5de26 (2026-08-28).
Data as JSON: /api/errors/4a1191875ab5046c.
Report an issue: GitHub.