Skip to content

Add built-in report_screenshot tome for screenshot collection#2226

Merged
hulto merged 3 commits intomainfrom
copilot/add-new-tome-to-tavern
Apr 15, 2026
Merged

Add built-in report_screenshot tome for screenshot collection#2226
hulto merged 3 commits intomainfrom
copilot/add-new-tome-to-tavern

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 15, 2026

This PR adds a new default Tavern tome that executes report.screenshot, enabling operators to trigger screenshot collection without creating a custom tome. The tome is embedded with the existing built-in tome set and imported through the standard startup path.

  • New built-in tome: report_screenshot

    • Added tavern/tomes/report_screenshot/main.eldritch
    • Implements screenshot reporting via a single Eldritch call
  • Tome metadata

    • Added tavern/tomes/report_screenshot/metadata.yml
    • Defines display name, description, author, support model, and tactic classification (COLLECTION)
  • Behavior

    • No loader changes required; the tome is discovered by the existing embedded tome traversal under tavern/tomes/*
report.screenshot()

Agent-Logs-Url: https://github.com/spellshift/realm/sessions/1ce552ca-8d49-4dcf-bd2e-40ee3f677a16

Co-authored-by: hulto <7121375+hulto@users.noreply.github.com>
@@ -0,0 +1,5 @@
name: Report screenshot
description: Report screenshots of all displays on the target host back to the c2 server.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@copilot Not all displays just primary IIRC. Double check the implementation and libraries and report back.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Checked eldritch-libreport implementation: report.screenshot() calls xcap::Monitor::all() and iterates each returned monitor, capturing one image per monitor. I updated the tome metadata text to avoid asserting display scope in case platform/library behavior differs in practice. Addressed in 7721b7f.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 15, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • docs.rs
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from hulto April 15, 2026 01:44
@hulto hulto marked this pull request as ready for review April 15, 2026 01:51
@hulto hulto merged commit e74bfb0 into main Apr 15, 2026
8 checks passed
@hulto hulto deleted the copilot/add-new-tome-to-tavern branch April 15, 2026 02:13
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