Skip to content

Security: vecna/ghostmaxxing

Security

SECURITY.md

Security Policy

Reporting a vulnerability

Report privately to vecna@hermescenter.org, or open a GitHub private security advisory. Please do not open a public issue for an unpatched vulnerability.

Expect an acknowledgement within 5 working days and an assessment within 15. We will tell you when a fix ships and credit you unless you ask us not to.

Scope

Ghostmaxxing is a static site with no backend. Everything runs client-side and no face data is transmitted. That shapes what a vulnerability looks like here.

In scope

  • Any path by which biometric data (camera frames, descriptors, embeddings, saved faces, thumbnails) leaves the browser or persists where a user does not expect it.
  • XSS or injection in any page, particularly report.html — a person reading that page may be at risk, and a compromise there is a safety problem, not only a security one.
  • Escape from the Ghostyle plugin sandbox into a scope that could exfiltrate data or persist across sessions.
  • Weaknesses in the reporting channel described on report.html, including anything that could deanonymise a submitter or leak submission metadata.
  • Supply-chain issues in vendored assets under lab-js/vendor/ or styles/vendor/.

Out of scope

  • The recognition pipeline failing to match, or a Ghostyle failing to defeat a match. This is the subject of the project, not a defect. See the disclaimer in the README.
  • Anything related to the whistleblowing submission platform, hosted at https://raccontaci.nina.watch, should be reported at https://globaleaks.org
  • Reports generated by automated scanners with no demonstrated impact.
  • Missing hardening headers with no exploitable consequence on a static site.

A note on the Ghostyle threat model

Ghostyles are arbitrary JavaScript that runs in the user's browser, and the project treats them that way deliberately — review is a maintainer reading the whole file. A malicious Ghostyle is therefore not in itself a vulnerability report. A way for a Ghostyle to reach beyond its documented surface is.

Machine-readable pointer

/.well-known/security.txt (RFC 9116) points here.

There aren't any published security advisories