Skip to content

Commit 0a07187

Browse files
committed
Fix VirusTotal links to use binary hashes instead of archive hashes
checksums.txt contains hashes of .tar.gz/.zip archives; VirusTotal indexes the extracted binaries. Updated README table and badge to use correct binary SHA-256 hashes for v0.6.0. Updated release.yml to hash extracted binaries from the binaries/ directory for future releases.
1 parent fb738e4 commit 0a07187

2 files changed

Lines changed: 22 additions & 24 deletions

File tree

.github/workflows/release.yml

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -223,29 +223,27 @@ jobs:
223223
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
224224
VERSION: ${{ inputs.version }}
225225
run: |
226-
gh release download "$VERSION" --dir assets --pattern 'checksums.txt' \
227-
--repo "$GITHUB_REPOSITORY" 2>/dev/null || true
228-
[ -f assets/checksums.txt ] || { echo "checksums.txt not found, skipping"; exit 0; }
229-
226+
# Hash the extracted binaries (not the archives — VT indexes binary hashes)
230227
TABLE="\n\n## Security Verification\n\n"
231228
TABLE+="All release binaries scanned with 70+ antivirus engines — **0 detections**.\n\n"
232229
TABLE+="| Binary | SHA-256 | VirusTotal |\n"
233230
TABLE+="|--------|---------|------------|\n"
234231
235-
while IFS= read -r line; do
236-
sha256=$(echo "$line" | awk '{print $1}')
237-
filename=$(echo "$line" | awk '{print $2}')
238-
if echo "$filename" | grep -qE \
239-
'^codebase-memory-mcp-(linux|darwin|windows)-(amd64|arm64)\.(tar\.gz|zip)$'; then
240-
label=$(echo "$filename" \
241-
| sed 's/codebase-memory-mcp-//' \
242-
| sed 's/\.tar\.gz//' \
243-
| sed 's/\.zip//')
244-
short="${sha256:0:20}..."
245-
vt_url="https://www.virustotal.com/gui/file/${sha256}/detection"
246-
TABLE+="| \`${label}\` | \`${short}\` | [0/72 ✅](${vt_url}) |\n"
247-
fi
248-
done < assets/checksums.txt
232+
for bin in binaries/codebase-memory-mcp-*; do
233+
[ -f "$bin" ] || continue
234+
name=$(basename "$bin")
235+
# Skip UI variants and non-binary files
236+
echo "$name" | grep -qE \
237+
'^codebase-memory-mcp-(linux|darwin|windows)-(amd64|arm64)(\.exe)?$' || continue
238+
sha256=$(sha256sum "$bin" 2>/dev/null | awk '{print $1}' \
239+
|| shasum -a 256 "$bin" | awk '{print $1}')
240+
label=$(echo "$name" \
241+
| sed 's/^codebase-memory-mcp-//' \
242+
| sed 's/\.exe$//')
243+
short="${sha256:0:20}..."
244+
vt_url="https://www.virustotal.com/gui/file/${sha256}/detection"
245+
TABLE+="| \`${label}\` | \`${short}\` | [0/72 ✅](${vt_url}) |\n"
246+
done
249247
250248
CURRENT=$(gh release view "$VERSION" \
251249
--json body --jq '.body // ""' --repo "$GITHUB_REPOSITORY")

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
[![Platform](https://img.shields.io/badge/macOS_%7C_Linux_%7C_Windows-supported-lightgrey)](https://github.com/DeusData/codebase-memory-mcp/releases/latest)
1111
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/DeusData/codebase-memory-mcp/badge)](https://scorecard.dev/viewer/?uri=github.com/DeusData/codebase-memory-mcp)
1212
[![SLSA 3](https://slsa.dev/images/gh-badge-level3.svg)](https://slsa.dev)
13-
[![VirusTotal](https://img.shields.io/badge/VirusTotal-0%2F72_engines-brightgreen?logo=virustotal)](https://www.virustotal.com/gui/file/0dfd70f73337219925f3ec6a572fe776dbbe1c4c8c6ab546ab214fe16e56a426/detection)
13+
[![VirusTotal](https://img.shields.io/badge/VirusTotal-0%2F72_engines-brightgreen?logo=virustotal)](https://www.virustotal.com/gui/file/dcbe9a951a2b1f7ec6d003edce2f38b586f74bf8cf98faeedec36f1dd3444b06/detection)
1414

1515
**The fastest and most efficient code intelligence engine for AI coding agents.** Full-indexes an average repository in milliseconds, the Linux kernel (28M LOC, 75K files) in 3 minutes. Answers structural queries in under 1ms. Ships as a single static binary for macOS, Linux, and Windows — download, run `install`, done.
1616

@@ -440,11 +440,11 @@ Every release binary is verified through a multi-layer pipeline before publicati
440440

441441
| Binary | SHA-256 | VirusTotal |
442442
|--------|---------|-----------|
443-
| `linux-amd64` | `0dfd70f73337219925f3...` | [0/72 ✅](https://www.virustotal.com/gui/file/0dfd70f73337219925f3ec6a572fe776dbbe1c4c8c6ab546ab214fe16e56a426/detection) |
444-
| `linux-arm64` | `f1fad27262fe7af4a356...` | [0/72 ✅](https://www.virustotal.com/gui/file/f1fad27262fe7af4a356af128e43942355cb2189491079b6790ecc5ae3af069c/detection) |
445-
| `darwin-arm64` | `a1d3f8a4c353ab94ea8f...` | [0/72 ✅](https://www.virustotal.com/gui/file/a1d3f8a4c353ab94ea8fe1fb60159758020f2f256c9652699a0bd6725189a439/detection) |
446-
| `darwin-amd64` | `a4d09d97fe1f47e1a0a2...` | [0/72 ✅](https://www.virustotal.com/gui/file/a4d09d97fe1f47e1a0a23309bc34d9937f74c61950bed3259f9576800cc78727/detection) |
447-
| `windows-amd64` | `da3d7d7bd6f687b69714...` | [0/72 ✅](https://www.virustotal.com/gui/file/da3d7d7bd6f687b697145457ff9d113ecf6daffe173d236457a43223e89a5e9c/detection) |
443+
| `linux-amd64` | `dcbe9a951a2b1f7ec6d0...` | [0/72 ✅](https://www.virustotal.com/gui/file/dcbe9a951a2b1f7ec6d003edce2f38b586f74bf8cf98faeedec36f1dd3444b06/detection) |
444+
| `linux-arm64` | `3dc702d2ff2b5a7e9094...` | [0/72 ✅](https://www.virustotal.com/gui/file/3dc702d2ff2b5a7e909409337a8a24ba3f724e7e47d6b159b3c9dedf70117fe2/detection) |
445+
| `darwin-arm64` | `61d543c9c795471702...` | [0/72 ✅](https://www.virustotal.com/gui/file/61d543c9c79547170296badddcdfe117b145471361d86606c7094d41aea2644f/detection) |
446+
| `darwin-amd64` | `eea862d705ac9b44a7bd...` | [0/72 ✅](https://www.virustotal.com/gui/file/eea862d705ac9b44a7bd595bfcd1c5c36aa3409ae6e7f0a2454308024c205e40/detection) |
447+
| `windows-amd64` | `dd828ee0d790f9d81c9b...` | [0/72 ✅](https://www.virustotal.com/gui/file/dd828ee0d790f9d81c9bde348db8d5681d624f786bba0e1b5e6c9409534c7a28/detection) |
448448

449449
Scan links for every release are also included in the GitHub Release notes automatically.
450450

0 commit comments

Comments
 (0)