Skip to content

Security: ChestnutLabs/gcode-preview

Security

SECURITY.md

Security Policy

Reporting a vulnerability

Please do not open a public issue for security vulnerabilities.

Use GitHub Private Vulnerability Reporting for this repository: Security → Advisories → “Report a vulnerability” (https://github.com/ChestnutLabs/gcode-preview/security/advisories/new).

If private reporting is unavailable to you, contact the Chestnut Labs maintainers through a private channel and request a secure reporting method before sharing any details. We will acknowledge your report and coordinate a fix and disclosure timeline with you.

Scope and what we treat as security work

This project parses and renders untrusted files. In line with the project governance, the following are treated as security/reliability issues:

  • Archive/container extraction flaws in .gcode.3mf or future container support — path traversal, zip-bombs/decompression bombs, entry-count or expanded-size limits, and malformed-archive handling.
  • Parser resource exhaustion — memory blow-ups, unbounded work, or hangs on crafted G-code.
  • Any input that causes code execution, arbitrary file access, or unexpected network requests. The parser must never eval or execute file-provided content, nor initiate fetches from file content.
  • Leaks of secrets or private data into build output, Actions logs, demo URLs, or benchmark reports.

Please do not attach exploit files to public locations

We do not require a public proof-of-concept file for exploitable archive/parser failures. Share reproductions privately. If a fixture is needed for a regression test, we will produce a sanitized, minimized fixture with recorded provenance.

The same rule governs our own coverage-guided fuzzing (gcode-containers, weekly fuzz-containers.yml): a finding is triaged privately, fixed, then reduced to a small, legal, redistributable input before it is committed to the public regression corpus (test-data/fixtures/fuzz-regressions/) — never a raw crash blob.

Supported versions

The project is pre-1.0 and under active foundation work. Until the first stable package line is published (milestone M5), security fixes target the dev integration branch and the latest release line. A formal supported-versions matrix will accompany the first stable release.

Disclosure

We prefer coordinated disclosure. Please give us a reasonable window to release a fix before any public write-up. Credit is offered to reporters who wish to be named.

There aren't any published security advisories