A Python client for the PRODAFT CATALYST API, enabling seamless integration with OpenCTI by converting threat intelligence data into STIX 2.1 format.
This library provides a simple interface to retrieve threat intelligence from the PRODAFT CATALYST platform and convert it into STIX 2.1 format for ingestion into OpenCTI or other threat intelligence platforms.
- Retrieve threat intelligence from CATALYST API
- Extract entities (malware, threat actors, tools, etc.)
- Convert to STIX 2.1 format for OpenCTI integration
- Support for all CATALYST observable types
- TLP classification support (CLEAR, GREEN, AMBER, AMBER+STRICT, RED)
- Automatic pagination for large result sets
- Proxy and custom logging support
pip install python-catalyst
- Python 3.8+
- requests
- stix2
- python-dateutil
- pycti
from python_catalyst import CatalystClient, PostCategory, TLPLevel from datetime import datetime # Initialize client client = CatalystClient(api_key="your_api_key") # Get threat intelligence data content = client.get_member_content("content_id") # Extract entities entities = client.extract_entities_from_member_content("content_id") # Convert to STIX format for OpenCTI report, stix_objects = client.create_report_from_member_content(content)
client = CatalystClient( api_key="your_api_key", base_url="https://prod.blindspot.prodaft.com/api" )
The client supports various methods to retrieve threat intelligence:
get_member_content(content_id): Get a specific content by IDget_member_contents(category, tlp, page, page_size): Get paginated contentget_all_member_contents(category, published_on_after, search): Get all content with automatic paginationget_updated_member_contents(since, max_results): Get content updated since a specific date
entities = client.extract_entities_from_member_content("content_id")
Convert CATALYST content to STIX 2.1 objects for OpenCTI integration:
# Convert to STIX format report, stix_objects = client.create_report_from_member_content(content)
# Clone the repository git clone https://github.com/prodaft/python-catalyst.git cd python-catalyst # Install development dependencies pip install -r requirements-dev.txt
# Run unit tests pytest -xvs tests/ -k "not test_integration" # Run integration tests (requires API key) export CATALYST_API_KEY=your_api_key pytest -xvs tests/ --run-integration
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
For support or feature requests, please create an issue on the GitHub repository or contact PRODAFT.
Distributed under the MIT License. See LICENSE for more information.