OSCO - Open Security Capability Ontology¶
A comprehensive, vendor-agnostic ontology for security capabilities, discoveries, and detections.
Overview¶
OSCO provides a standardized framework for describing:
- Security Capabilities - What security functions can be performed
- Discovery Methods - How to detect the presence of capabilities
- Detection Scenarios - What to look for to identify threats or misconfigurations
Quick Links¶
- Vision & Goals - Understand the project mission
- Architecture - Learn the system design
- Capability Catalog - Browse all capabilities
- Discovery Methods - See available discovery queries
- Detection Scenarios - Review threat detections
Key Features¶
✨ Vendor Agnostic - Support for multiple tools and platforms (AWS, Azure, GCP, etc.)
📊 Comprehensive - Over 1,000 capabilities with discovery and detection mappings
🔗 Framework Aligned - MITRE ATT&CK mapping for threat intelligence integration
📚 Well Documented - Guides for authoring capabilities, discoveries, and detections
🚀 Community Driven - Open contribution model for extending the ontology
Getting Started¶
For Users¶
- Browse the Capability Catalog to understand available security functions
- Review Discovery Methods for techniques to detect capabilities
- Check Detection Scenarios for threat detection patterns
For Contributors¶
- Read the Contribution Guide
- Check the Capability Authoring Guide
- Follow the Best Practices
- Submit pull requests with conventional commits
Data Organization¶
osco/
├── capability/ # Security capabilities registry
│ ├── catalog.json # Full capability definitions
│ └── catalog.md # Generated catalog documentation
├── discovery/ # Discovery methods registry
│ ├── discoveries.json # Discovery definitions
│ └── catalog.md # Generated discovery documentation
├── detection/ # Detection scenarios registry
│ ├── detections.json # Detection definitions
│ └── catalog.md # Generated detection documentation
├── mappings/ # Framework mappings (MITRE, etc.)
├── provider/ # Tool/platform provider definitions
└── validation/ # Validation rules and schemas
Core Concepts¶
Capability¶
A security function that can be performed (e.g., "List IAM roles", "Check Windows Event Logs")
Discovery Method¶
A query or technique to determine if a capability is available (e.g., AWS CLI, PowerShell, osquery)
Detection¶
A scenario or indicator that represents a security threat or misconfiguration
Development¶
Prerequisites¶
- Python 3.11+ (tested on 3.13)
uvpackage manager v0.4.9+
Setup¶
# Install dependencies
uv sync
# Run tests
make test
# Generate catalogs
make generate
# Validate schemas
make validate
# Build everything
make all
Community¶
- GitHub Issues - Report bugs or request features
- Discussions - Ask questions and share ideas
- Pull Requests - Contribute code and documentation
- Code of Conduct - Code of Conduct
License¶
This project is licensed under the LICENSE - see file for details.
Security¶
For security issues, please see SECURITY.md.
Built with ❤️ by the Iterative Security team and community contributors