Skip to main content

Centrifuge

Status Powered By: EDF License: MIT

Introduction

Centrifuge is designed to enrich multiple types of data indicators (atoms) using a wide variety of enrichers and can be seamlessly extended by registering new ones at runtime to fit your specific workflow.

Atom Types

  • URL
  • UUID
  • CVE IDs
  • CWE IDs
  • Domain Names
  • IP Addresses
  • MAC Addresses
  • Phone Numbers
  • Email Addresses
  • USB Vendor and Product IDs
  • Digests (MD5, SHA-1, SHA-256, SHA-512)

Enrichment Sources

Centrifuge relies on several types of sources to provide deep enrichment data.

  • Enrichment data from a dynamic source requires requesting data from servers during enrichment
  • Enrichment data from a static source can be cached prior to enrichment
  • An external source provides enrichment data for elements outside the organization
  • An internal source provides enrichment data related to the organization

Lets illustrate these concepts with some examples.

  • Onyphe, Censys and VirusTotal are dynamic external sources
  • Geolocus database geolocus.mmdb is a static external source
  • OpenCTI and Hashlookup are dynamic internal or external source depending on your own setup
  • Known Identity, Known Network, Known Endpoint, Known Service, Known Entity are static internal sources
  • Known CVE, Known CWE, Known MAC, Known User-Agent, Known Public Network and more are static external sources

You are expected to populate static internal sources if you need them.


Getting Started

Centrifuge releases are available on Github and Pypi.

Use Python 3.12+ and a virtual environment for best experience.

# setup centrifuge using python3 from your virtual environment
python3 -m pip install edf-centrifuge
# setup a postgresql database (if needed) using docker compose
# copy test/compose.yml to compose.yml and customize it to fit your needs
# then start containers using the following command
sudo docker compose up -d
# copy centrifuge.dist.json to centrifuge.json and customize it to fit your needs
# then populate the database before calling enrich for the first time
centrifuge populate
# enrich the atom of your choice
centrifuge enrich 'https://github.com/cert-edf/centrifuge' | jq

Configuration

You can find a template in centrifuge.dist.json.


License

Distributed under the MIT License.


Contributing

Contributions are welcome, see CONTRIBUTING.md for more information.


Security

To report a (suspected) security issue, see SECURITY.md for more information.

Metadata

Release files for edf-centrifuge 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for edf-centrifuge 1.0.1
File Interpreter ABI Platform Actions
edf_centrifuge-1.0.1-py3-none-any.whl Python 3 none any Details for edf_centrifuge-1.0.1-py3-none-any.whl

Release files / edf_centrifuge-1.0.1-py3-none-any.whl

Download URL edf_centrifuge-1.0.1-py3-none-any.whl
Size 83.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0c164fbab1d6db7bede790e078e8ced24c73ade4e77b2de923e3f4a6dea2258c
BLAKE2b-256 checksum
How to use checksums
37b502b6d429738b13f6d2dd64edd844733c92f22da6d0159e46d321ddaf70d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for edf-centrifuge 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page