How bongoknight/cyberclip works
Cyberclip is a cybersecurity text investigation tool: analysts provide text, Cyberclip detects and extracts observable types, then presents matching actions for transformation or enrichment. Its Textual TUI also supports recipes, configuration, and clipboard input; README-described optional interfaces include a Flask web UI and Qt radial menu. The README documents integrations such as UrlScan, OpenCTI, and VirusTotal. Some subsystems are represented by their exact enclosing directory because their implementation was not sampled; those relationships are left unverified where evidence is unavailable.
Main entry points: clipParser.py Parse and dispatch · app.py Terminal UI · actionInterface.py Action contract · CTIQueryAction.py CTI query builder
Components 22
User interfaces
- Terminal UI
src/cyberclip/app.py - Web interface
src/cyberclip/flask_app.py - Radial menu
src/cyberclip/radialUI.py - Content view
src/cyberclip/tui/ContentView.py - Type panel
src/cyberclip/tui/DataTypePannel.py - Action panel
src/cyberclip/tui/ActionPannel.py - Recipe editor
src/cyberclip/tui/RecipesPannel.py
Text analysis
- Parse and dispatch
src/cyberclip/clipParser.py - Observable parsers
src/cyberclip/userTypeParser - Domain parser
src/cyberclip/userTypeParser/domainParser.py - Parser contract
src/cyberclip/userTypeParser/ParserInterface.py
Actions and recipes
- Action modules
src/cyberclip/userAction - Action contract
src/cyberclip/userAction/actionInterface.py - Recipe execution
src/cyberclip/tui/RecipesPannel.py
External enrichment
- CTI query builder
src/cyberclip/userAction/CTIQueryAction.py
Runtime support
- Clipboard input
src/cyberclip/clipboardHandler.py - Data paths
src/cyberclip/data_paths.py - Shared utilities
src/cyberclip/utilities.py
Other components
- Analyst
- UrlScan
- OpenCTI
- VirusTotal
Connections 24
- Analyst → Terminal UI: uses
- Analyst → Web interface: uses optionally
- Analyst → Radial menu: uses optionally
- Terminal UI → Parse and dispatch: loads and applies
src/cyberclip/app.py - Terminal UI → Content view: composes
src/cyberclip/app.py - Content view → Action panel: composes
src/cyberclip/tui/ContentView.py - Content view → Type panel: composes
src/cyberclip/tui/ContentView.py - Terminal UI → Recipe editor: composes
src/cyberclip/app.py - Clipboard input → Terminal UI: supplies text
src/cyberclip/app.py - Type panel → Clipboard input: reads clipboard
src/cyberclip/tui/DataTypePannel.py - Parse and dispatch → Observable parsers: discovers parsers
src/cyberclip/clipParser.py - Parse and dispatch → Action modules: discovers actions
src/cyberclip/clipParser.py - Domain parser → Parser contract: implements
src/cyberclip/userTypeParser/domainParser.py - Action modules → Action contract: implements
src/cyberclip/userAction/__init__.py - Action contract → Parser contract: uses parser interface
src/cyberclip/userAction/actionInterface.py - Action panel → Parse and dispatch: applies action
src/cyberclip/app.py - Recipe editor → Parse and dispatch: runs recipe steps
src/cyberclip/tui/RecipesPannel.py - Recipe editor → Action contract: configures actions
src/cyberclip/tui/RecipesPannel.py - Parse and dispatch → Data paths: loads configuration
src/cyberclip/clipParser.py - Observable parsers → Shared utilities: uses helpers
src/cyberclip/userTypeParser/CSVParser.py - CTI query builder → Action contract: extends
src/cyberclip/userAction/CTIQueryAction.py - CTI query builder → UrlScan: formats queries for
- CTI query builder → OpenCTI: formats queries for
- Action modules → VirusTotal: enriches via