PanelDOCSv1.0.0

Audit results

The latest security audit of HF Panel 1.0.0: which tools scanned which code, the versions used, what was found and what was fixed.

The results of the security audit of HF Panel 1.0.0, made on 25 October 2026. It combined automated scans of all the source code with a manual review of the riskiest parts. This page lists what was checked and what changed, as it is.

What was scanned, and with what

Tool Version What it checked
govulncheck 1.1.4, Go vulnerability database of 20 October 2026 (4,710 entries) the Go programs hf-api and HF Local, and every Go module they use
gosec 2.23.0 security patterns in the Go code of hf-api and HF Local
staticcheck 2025.1.1 bugs and dead code in the same Go code
ShellCheck 0.9.0 hf-agentd and its 42 command files, and the 14 installer and update scripts
npm audit npm 10.9.4 the seven web interfaces (panel, Mail, Files, DB Studio, HF Local, documentation, website)

The Go code was built and tested with Go 1.24.7, the web interfaces with Node.js 22.22.0.

What the scans found

Scan Result
govulncheck, Go modules 1 module with a vulnerability the code can reach (the PostgreSQL driver, fixed in the November 2026 free-tool scan below); 1 module with a vulnerability the code never reaches (fixed below)
govulncheck, Go standard library 48 vulnerabilities in hf-api and 46 in HF Local, all fixed in newer Go releases (built with Go 1.26.10 since the November 2026 free-tool scan below)
gosec 484 findings in hf-api and 546 in HF Local. Every finding of high and medium severity was read. None was an exploitable problem: SQL is always built with placeholders and quoted names, commands run without a shell and with checked arguments, file paths are fixed or checked, and outgoing requests already refuse private addresses. The few deliberate exceptions now carry a written reason in the code.
staticcheck 50 findings in hf-api and 60 in HF Local: style and unused code, none with a security impact
ShellCheck 97 notes in hf-agentd and 156 in the scripts, mostly style. None was a quoting or injection problem: every argument hf-agentd receives is checked before it is used
npm audit, what ships to browsers 0 vulnerabilities in all seven interfaces
npm audit, development tools 3 (2 critical, 1 moderate) in the test runner of five interfaces, fixed below

What was fixed

Area Change
Sign-in a wrong username now takes as long to refuse as a wrong password, on the panels and in Files and DB Studio, so sign-in no longer tells which usernames exist
Mail the development protocol log no longer writes passwords: sign-in commands are written without their credentials
Mail attachments of unsent drafts are stored readable by hf-api only
Panel data a restored copy of the panel database and the saved copy of the old settings file are created private from the start, never readable by others even for a moment
Account locks the fallback lock file in the shared temporary folder never follows a symbolic link
HF Local on macOS the administrator prompt that updates the hosts file escapes its command fully, so an unusual file path can't add commands
Website publishes /.well-known/security.txt with the address for security reports
Go modules github.com/klauspost/compress updated from 1.17.6 to 1.18.7 (GO-2026-5841)
Test runner Vitest updated from 3.2.7 to 4.1.12 in five interfaces (GHSA-5gmw-xhrv-c9v3, GHSA-85c8-ppgw-ccpr, GHSA-82fw-gwwq-j7x9, GHSA-qxg6-89mg-rqv8); it is used only by developers and never ships

After the changes every Go test of hf-api and HF Local and every interface's tests pass.

Manual review

These parts were read line by line: sign-in, sessions, CSRF and two-factor login; the API tokens; the File Manager, Files and the web disk (paths, symbolic links, share links); unpacking archives; DB Studio's database access; the argument checks of hf-agentd and every place the panel calls it; outgoing requests (uptime checks, webhooks, the speed test, alerts, push notifications); password hashing; sign-in limits; secrets in logs; and the file permissions the installer sets. Apart from the fixes above, no problems were found.

November 2026 free-tool scan

A second scan on 2 November 2026 (govulncheck, gosec, semgrep, ShellCheck and npm audit) closed the two items that were still open and fixed four small ones:

Area Change
Go every Go program is built with Go 1.26.10 (was 1.24.7): govulncheck 1.9.0 finds 0 vulnerabilities the code can reach
Go modules golang.org/x/net 0.62.0, x/crypto 0.58.0, x/text 0.43.0 in hf-api and HF Connect; the PostgreSQL driver pgx 5.9.2 (GO-2026-5004, GO-2026-4771, GO-2026-4772)
Panel backups opening a panel backup stops at 4 GiB for one file and 8 GiB in all
Lock files private to the panel's user (0600); the temporary-folder fallback is a private folder
HF Local on macOS the start-up error box escapes its title and text
hf-agentd two lists are joined without shell wildcard expansion

Still open

Nothing from these scans.