If you discover a security vulnerability in Moltis, please report it responsibly.
-
GitHub Security Advisories (recommended): Use GitHub's private vulnerability reporting to report issues confidentially.
-
Email: Send details to [moltis AT pen DOT so](mailto:moltis AT pen DOT so)
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Any suggested fixes (optional)
This policy applies to the Moltis codebase. Third-party dependencies should be reported to their respective maintainers.
Security updates are provided for the latest release only.
All release artifacts are signed using Sigstore keyless signing. This provides cryptographic proof that artifacts were built by our GitHub Actions workflow, not tampered with after the fact.
# macOS
brew install cosign
# Linux (or download from https://github.com/sigstore/cosign/releases)
go install github.com/sigstore/cosign/v2/cmd/cosign@latestEach release artifact has three companion files:
.sha256/.sha512— checksums.sig— Sigstore signature.crt— Signing certificate
# Download the artifact and its signature files
curl -LO https://github.com/moltis-org/moltis/releases/download/v0.1.0/moltis-0.1.0-x86_64-unknown-linux-gnu.tar.gz
curl -LO https://github.com/moltis-org/moltis/releases/download/v0.1.0/moltis-0.1.0-x86_64-unknown-linux-gnu.tar.gz.sig
curl -LO https://github.com/moltis-org/moltis/releases/download/v0.1.0/moltis-0.1.0-x86_64-unknown-linux-gnu.tar.gz.crt
# Verify the signature
cosign verify-blob \
--signature moltis-0.1.0-x86_64-unknown-linux-gnu.tar.gz.sig \
--certificate moltis-0.1.0-x86_64-unknown-linux-gnu.tar.gz.crt \
--certificate-identity-regexp="https://github.com/moltis-org/moltis/*" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
moltis-0.1.0-x86_64-unknown-linux-gnu.tar.gz
# Expected output: Verified OK# Verify the image signature
cosign verify \
--certificate-identity-regexp="https://github.com/moltis-org/moltis/*" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/moltis-org/moltis:latest
# View the SBOM attached to the image
cosign download sbom ghcr.io/moltis-org/moltis:latest
# View provenance attestation
cosign verify-attestation \
--type slsaprovenance \
--certificate-identity-regexp="https://github.com/moltis-org/moltis/*" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/moltis-org/moltis:latest- The artifact was built by GitHub Actions in the
moltis-org/moltisrepository - The build was triggered by a specific commit (visible in the certificate)
- The artifact has not been modified since signing
- No private keys are involved — signatures use GitHub's OIDC identity
All signatures are recorded in Sigstore's public transparency log (Rekor). You can search for moltis signatures at: https://search.sigstore.dev
All commits to this repository must be cryptographically signed. This ensures that commits actually come from the claimed author and haven't been tampered with.
Option 1: SSH signing (recommended)
If you already have an SSH key, this is the easiest option:
# Use your existing SSH key for signing
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global commit.gpgsign true
# Add your SSH signing key to GitHub:
# Settings → SSH and GPG keys → New SSH key → Key type: Signing KeyOption 2: GPG signing
# Generate a GPG key if you don't have one
gpg --full-generate-key
# Get your key ID
gpg --list-secret-keys --keyid-format=long
# Look for: sec rsa4096/XXXXXXXXXXXXXXXX
# Configure git
git config --global user.signingkey XXXXXXXXXXXXXXXX
git config --global commit.gpgsign true
# Add your GPG key to GitHub:
# gpg --armor --export XXXXXXXXXXXXXXXX
# Settings → SSH and GPG keys → New GPG keyOption 3: GPG with YubiKey
If you have a YubiKey with GPG keys:
# Your key is already on the YubiKey, just configure git
git config --global user.signingkey XXXXXXXXXXXXXXXX
git config --global commit.gpgsign true# Make a test commit
echo "test" >> test.txt && git add test.txt && git commit -m "test signed commit"
# Verify it's signed
git log --show-signature -1
# Clean up
git reset --hard HEAD~1If commits show as "Unverified" on GitHub:
- Ensure your signing key is added to your GitHub account
- Your commit email must match a verified email on your GitHub account
- For GPG: the key's email must match your commit email