Skip to main content

OpenSTIX aims to make STIX easy and accessible for analysts

Project description

OpenSTIX

OpenSTIX is an unofficial STIX 2.1 library and toolkit built upon the foundations of the STIX2 library, aimed at enhancing the efficiency and productivity of cybersecurity professionals. It's developed and maintained by AbuseTotal, a startup committed to delivering high-quality software solutions in the cybersecurity domain.

PyPI version

Features

  • Modular Design: Organizes the functionalities provided by STIX2 library into modules for easy consumption and extension.
  • Workspace Class: Extends the Environment class into a Workspace class to facilitate seamless creation, removal, and management of STIX SDOs (Structured Data Objects) based on contributing properties.
  • Static Namespace Management: Allows users to define a static namespace for their organization, ensuring consistent identification and management across STIX objects.
  • Contributing Properties-based ID Management: Enables operations on STIX SDOs with identical IDs, governed by specific contributing properties.
  • Built-in Datasets: Provides ready-to-use datasets including MITRE frameworks, geolocations, custom TLP markings, and industries to expedite the analytical process.
  • Custom Objects and Extensions: Offers custom objects and extensions to assist analysts with additional informational resources such as Whois and DNS-Records.

Installation

pip install openstix

Usage

Import the necessary modules and get started with creating and managing STIX objects within your defined workspace.

Start workspace

from openstix.toolkit.workspace import Workspace

# Create a new workspace with your organization's namespace
workspace = Workspace(namespace="<your-namespace-uuid>")

Create SCO within workspace

from openstix.objects import DomainName

# Add STIX observable object (SCO)
domain = self.workspace.create(Domain, value="abusetotal.com")

Remove object from workspace

# Remove STIX observable object (SCO)
self.workspace.remove(domain.id)

Create SDO within workspace

from openstix.objects import Malware

# Add STIX domain object (SDO)
self.workspace.create(Malware, name="Malicious", is_family=False)

Filter workspace objects using presets filters

from openstix.toolkit.filters.presets import MALWARE_FILTER

# Filter objects using presets
malwares = self.workspace.query(MALWARE_FILTER)

Get MITRE TTP using MITRE Datasets

from openstix.datasets import MITREDataset

dataset = MITREDataset()
dataset.load()

# Use Attack Pattern objects from MITRE Dataset
attack_pattern = dataset.attack_pattern("T1090")

Get country and regions objects using GeoLocation Datasets

from openstix.datasets import GeoLocationsDataset

dataset = GeoLocationsDataset()
dataset.load()

# Use Location objects from GeoLocation Dataset
country = dataset.country("PT")
region = dataset.region("Europe")

Contributing

We welcome contributions to OpenSTIX! Whether you're reporting bugs, proposing new features, or contributing code, we appreciate your help. Please make sure to read our Contributing Guidelines before making a contribution.

License

OpenSTIX is licensed under the Apache 2.0.

Contact

For any inquiries, issues, or support related to OpenSTIX, feel free to reach out to us at support@abusetotal.com.

Acknowledgements

OpenSTIX is an initiative by AbuseTotal to foster the development of cybersecurity tools and libraries. We thank the OASIS Cyber Threat Intelligence Technical Committee and all STIX community for laying down the robust foundation upon which OpenSTIX is built.

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

openstix-0.1.6.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

openstix-0.1.6-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file openstix-0.1.6.tar.gz.

File metadata

  • Download URL: openstix-0.1.6.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for openstix-0.1.6.tar.gz
Algorithm Hash digest
SHA256 31bd4075664cb44a490a247b2c10c54725fbee1ed34c50121be8129e60f5e559
MD5 c611bf54d7f6f94a8e0bba5d711675ca
BLAKE2b-256 e887245f6d3919292e729b6022c005f0fe1a779ef2315392ea22fd4faa5b2ce8

See more details on using hashes here.

File details

Details for the file openstix-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: openstix-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 22.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for openstix-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 98be41825dfec1850fbde62045cc5341891ca10476668f577fcdf0ccc29f5c70
MD5 7f46428b3357e504a5a9c47fc657880f
BLAKE2b-256 cb26e13bae681a41e539fc1ee284b288e8f803c9f824c1d105042a9a82cd0e62

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page