The "Incident Response Logger" is a graphical user interface (GUI) tool built with Python and tkinter to assist incident response (IR) analysts in logging and organizing findings during an incident investigation. It supports logging technical details, timeline events, file attachments, and image captures, with options for both event-specific folder outputs (Incident_<EventID>/) or standalone Markdown files.
- Log technical findings under categories like Initial Access, Persistence, and Exfiltration.
- Record timeline events for chronological tracking.
- Attach files and paste images from the clipboard (requires
Pillow). - Save logs to event-specific folders (
Incident_<EventID>/Event_Report.md) or standalone Markdown files. - Load and preview past event logs using a dropdown of existing
EventIDs. - Option to save locally for non-collaborative work.
The initial state of the GUI, ready for input with the EventID field and past events dropdown.
An example of logging a technical finding under "Initial Access," including text and an attached image.
An example of logging a timeline event, such as "Incident escalated."
The "Current Report" showing logged entries for EventID 1001 after refreshing.
An example of attaching a file, visible in the "Details" and saved to the event folder.
Ensure you have Python installed on your system.
Open a terminal or command prompt.
Navigate to the directory where your requirements.txt file is located.
Run the following command:
pip install -r requirements.txt
This will install the required dependencies for your script. Note that tkinter is included with Python by default, so it may not need installation separately. However, pillow must be installed for image handling features to work.
Upon launching, the GUI displays:
-
An
EventIDentry field for unique identification (e.g.,1001). -
A "Past Event IDs" dropdown to load existing event logs.
-
Options for "Technical Details" or "Timeline Event" logging.
-
A category dropdown (for "Technical Details"), "Details" text box, and buttons for file/image attachments.
-
Enter
EventID(e.g.,1001) or select from "Past Event IDs" to load existing data. -
Select Log Type: "Technical Details."
-
Choose Category (e.g., "Initial Access").
-
Add Details (e.g., "Phishing email detected").
-
Attach files/images:
-
Add File: Uploads a file (saved to
Incident_<EventID>/and linked in the log). -
Paste Image: Pastes an image from the clipboard (requires
Pillow).
-
-
Save:
-
Click "Save" to log the entry to
Incident_<EventID>/Event_Report.md. -
Or click "Save As" to choose a custom Markdown file location.
-
-
Enter
EventID. -
Select Log Type: "Timeline Event."
-
Add Details (e.g., "Incident escalated to management").
-
Click Save or Save As to log under the "Timeline Event" section.
-
Click Refresh Preview to view the current contents of
Incident_<EventID>/Event_Report.mdor the standalone.mdfile. -
The preview shows raw Markdown text (not rendered images or formatting). Use an external Markdown viewer (e.g., VS Code, GitHub) for full visualization.
-
Use the "Past Event IDs" dropdown to select an existing
EventID(e.g.,1001). -
The GUI loads the corresponding
Incident_<EventID>/Event_Report.mdor<EventID>.mdfor review or continued logging.
-
Use Save As to save logs to a custom location.
-
Use Save for event-specific folders to avoid shared file conflicts.
-
Event Folders: Logs are stored in
Incident_<EventID>/Event_Report.mdby default, with attached files/images in the same folder (e.g.,Incident_1001/screenshot_20250220_...png). -
Standalone Files: Optionally, save as
<EventID>.mdusing "Save As." -
Samples: Attached files and images are linked in Markdown as
[Attached File: ...]or[Attached Image: ...].
-
Images Not Working: Ensure
Pillowis installed (pip install Pillow). Verify an image is in the clipboard before pasting. -
Empty Preview: Ensure the
EventIDmatches an existingIncident_<EventID>/folder or.mdfile. Click "Refresh Preview" to update. -
Permissions: Verify write permissions for your working directory (e.g.,
C:\Users\YourDirectory\).
-
Fork this repository, modify
ir-logger.py, and submit pull requests on GitHub. -
Report issues or suggest features by opening an issue on the GitHub repository.
This project is licensed under MIT - see the LICENSE file for details (if applicable).