task_response:file_editor in the supported_ui_features use reserved interactive task message types to exchange editor requests and snapshots.
The surrounding interactive object is unchanged:
Request document
The decoded JSON data request always containsaction and a unique request_id.
refresh: read the current remote file and return a new snapshot;save: fetch the stagedfile_id, compareexpected_sha1, write the file, and return a new snapshot;close: finish the editor session and complete the parent task.
force_overwrite is omitted unless the operator explicitly chooses Save anyway after reviewing a conflict.
Successful snapshot
Register the current file contents with Mythic and return its UUID. The UI fetches the tracked file using authenticated download handling and uses its metadata for filename, remote path, size, and SHA-1.data with message type 101. Every successful refresh/save becomes a version-history entry.
Errors and conflicts
Return message type102 with an application error:
save with force_overwrite: true.
Limits and lifecycle
- The UI accepts valid UTF-8 text up to 2,000,000 bytes.
- Keep the parent task open while editing; follow-on requests use it as their parent.
- After
close, mark the parent task complete. History remains visible but read-only. - Correlate responses by
request_id; multiple refresh/save operations may be in flight over an unreliable C2 path.
