ODM models for CVE, CWE, and CPE management
Project description
CIRM ODMs
CIRM ODMs is a Python package developed by CyberSecurity S.r.l. to centralize and validate data models used in the CIRM project — a framework for managing cyber risk, with a specific focus on software vulnerability management.
This package contains all the Object Document Mappers (ODMs) built with Pydantic and Beanie, designed to work with MongoDB and ensure reliable, strongly-typed data validation.
The goal is to support internal use within the CIRM ecosystem, while also making the models publicly available for reuse in other CyberSecurity-related projects.
Project Context
The CIRM (Continuous Improvement Risk Management) platform automates the handling of software vulnerabilities by integrating:
- Official data sources such as the National Vulnerability Database (NVD), which provides CVE records, CWE categorizations, and CPE identifiers.
- AI models for automatically predicting important parameters, such as:
- CVSS scores (vulnerability severity),
- CWE classes (weakness types),
- Affected CPEs (platforms or software).
The extracted and predicted data is stored in a MongoDB database and validated through the Pydantic/Beanie models provided in this package.
Package Features
- ODMs for CVE, CWE, and CPE entities
- MongoDB-compatible schemas
- Automatic data validation
- Modern packaging with
pyproject.tomland Flit
Technology Stack
- Python
- Pydantic / Beanie
- Flit for packaging and publishing
- Central configuration via pyproject.toml
Project Structure
.
├── .github/workflows/ # GitHub Actions for build & publish
├── .devcontainer/ # VSCode DevContainer setup
│ ├── Dockerfile
│ └── devcontainer.json
├── .vscode/settings.json # Project-specific VSCode settings
├── src/ # Source code of the package
├── tests/ # Unit tests for ODMs
├── pyproject.toml # Project metadata and config
└── README.md # Project documentation
Installation
Once published to PyPI:
pip install cirm-odm
Project details
Release history Release notifications | RSS feed
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 cirm_odm-0.1.1.tar.gz.
File metadata
- Download URL: cirm_odm-0.1.1.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee404e20f967669bc99264bf8f323b2bfdbc6ebcc5f6fad50e0d6aeb23823c91
|
|
| MD5 |
95fc3ea9faa0c12aaaa16efbbb388dc5
|
|
| BLAKE2b-256 |
b5cb649f70cb5e9f4dab5dfb7aef272587e2a66d47fecd47952c61d57b5b1276
|
File details
Details for the file cirm_odm-0.1.1-py3-none-any.whl.
File metadata
- Download URL: cirm_odm-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9be28e9ee04d6cc51be93bcbb1b0035a132f73de6b0562d39ba8d3efdcd3e684
|
|
| MD5 |
7108931dbf9b62e88f724985a13521a4
|
|
| BLAKE2b-256 |
d0a39c52acb66c92b29b306cd191430004ec45031f27b4a757b5787ca3e78776
|