Python client for the PRODAFT CATALYST API
Project description
PRODAFT CATALYST API Client
A Python client for the PRODAFT CATALYST API, enabling seamless integration with OpenCTI by converting threat intelligence data into STIX 2.1 format.
Overview
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.
Key Features
- 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
Installation
pip install python-catalyst
Requirements
- Python 3.8+
- requests
- stix2
- python-dateutil
- pycti
Basic Usage
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)
Documentation
Authentication
client = CatalystClient(
api_key="your_api_key",
base_url="https://prod.blindspot.prodaft.com/api"
)
Content Retrieval
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
Entity Extraction
entities = client.extract_entities_from_member_content("content_id")
STIX Conversion
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)
Development
Setting up the development environment
# Clone the repository
git clone https://github.com/prodaft/python-catalyst.git
cd python-catalyst
# Install development dependencies
pip install -r requirements-dev.txt
Running tests
# 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
Contributing
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
Support
For support or feature requests, please create an issue on the GitHub repository or contact PRODAFT.
License
Distributed under the MIT License. See LICENSE for more information.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_catalyst-0.1.6.tar.gz.
File metadata
- Download URL: python_catalyst-0.1.6.tar.gz
- Upload date:
- Size: 26.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4bf093c203d58bf321f682a4940d51c19a6d7dcb90bfa3e052480ada69c8cd4
|
|
| MD5 |
63b0c22ad5997b96d68efcdc4303d015
|
|
| BLAKE2b-256 |
40c1c18771e2edcfe36fec9e91cd8f947def46a8024dfca08ebe1704d245995c
|
File details
Details for the file python_catalyst-0.1.6-py3-none-any.whl.
File metadata
- Download URL: python_catalyst-0.1.6-py3-none-any.whl
- Upload date:
- Size: 26.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2874e78dfd23cab638ac7d43d6775d003ee203b38fb336d71fb30604bbc0f69
|
|
| MD5 |
cf807fa653c9150dd9352f5cf3d98395
|
|
| BLAKE2b-256 |
58358b26a14264b1efa3c83cfef1724381012bb699c7c3825f61c0f183d33130
|