Skip to content

feat: add quiet feature flag to suppress install output#2246

Merged
hulto merged 1 commit intospellshift:mainfrom
bri5ee:feat/quiet-install-output
Apr 16, 2026
Merged

feat: add quiet feature flag to suppress install output#2246
hulto merged 1 commit intospellshift:mainfrom
bri5ee:feat/quiet-install-output

Conversation

@bri5ee
Copy link
Copy Markdown
Contributor

@bri5ee bri5ee commented Apr 16, 2026

Summary

  • Adds a quiet compile-time Cargo feature flag to imix that suppresses all Eldritch print/eprint output during ./imix install
  • Introduces NoopPrinter in eldritch-core, a Printer implementation that silently discards all output, following the same pattern as StdoutPrinter and BufferPrinter
  • When --features quiet is enabled, the install interpreter uses NoopPrinter instead of StdoutPrinter, so embedded tomes run silently with no terminal output

During ./imix install, embedded tomes (e.g. install_service/main.eldritch) print status messages to stdout via the default StdoutPrinter. Imix install stdout might expose how the underlying functionality of the tomes operates for blue teamers if they exfil the imix binary and run it in a sandbox offline. Debug statements are nice to have within the tomes themselves for troubleshooting, but having a functionality at compile-time to go and discard all output would be nice for running ./imix install in prod quickly without having to comment out all of the debug statements in the eldritch files themselves.

This is a compile-time opt-in (quiet is not in the default feature set), so existing builds are unaffected.

Files Changed

  • implants/lib/eldritch/eldritch-core/src/interpreter/printer.rs — add NoopPrinter
  • implants/lib/eldritch/eldritch-core/src/interpreter/mod.rs — re-export NoopPrinter
  • implants/lib/eldritch/eldritch-core/src/lib.rs — re-export NoopPrinter
  • implants/lib/eldritch/eldritch/src/lib.rs — re-export NoopPrinter
  • implants/imix/Cargo.toml — add quiet feature
  • implants/imix/src/install.rs — gate printer selection on quiet feature

Add a `quiet` compile-time feature flag for imix that replaces the
default StdoutPrinter with a NoopPrinter during `./imix install`,
silencing all Eldritch print/eprint output from embedded tomes.

Usage: cargo build --release --bin imix --features quiet
Copy link
Copy Markdown
Collaborator

@hulto hulto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀 🤫

@hulto hulto merged commit 28e8310 into spellshift:main Apr 16, 2026
8 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants