SOC Case Builder is a Python-based application designed to help Security Operations Centers (SOCs) efficiently build, manage, and document cases. It features a user-friendly interface built with PyQt6 and includes robust tools for managing entities, clients, spell check, and API configurations.
- Create, rename, and delete case tabs
- Save case information to text files
- Add and manage clients (stored in
clients.csv) - Define and manage custom entities (stored in
entities.json)
- Import multiple entities from:
- CSV
- JSON
- Raw text (comma, space, or newline separated)
- Import via file upload or clipboard
- Automatically detects types such as IP, Domain, URL, Hash, Email
- Unrecognized entities are labeled "Other" and can be edited later
- Integrated spell check powered by
enchant - Add custom dictionary entries
- Set language and region
- API key configuration:
- AbuseIPDB
- VirusTotal
- URLScan (with optional wait time)
- User and organization sign-off details
- Manage spell check and custom entity preferences
- Python 3.12.6 or later
git clone https://github.com/dylan-mp4/soc-case-builder.git
cd soc-case-builderpython -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txtpython src/main.pyAll settings are available via the Settings Dialog within the application.
- AbuseIPDB
- VirusTotal
- URLScan
- URLScan wait time (0–100 seconds)
- Analyst name
- Organization name
- Enable or disable spell check
- Set language region
- Add custom dictionary entries
Clients can be added and managed through the Settings Dialog.
Stored persistently in clients.csv.
Define and manage your own entity types via the Settings Dialog.
Stored in entities.json.
Spell checking is provided by the enchant library.
You can configure:
- Default language/region
- Custom word lists
- Enable/disable per session
Contributions are welcome! To contribute:
- Open an issue for bugs or feature requests
- Fork the repo and submit a Pull Request
Please follow standard Python formatting and documentation practices.
This project is licensed under the MIT License.
See the LICENSE file for details.