π’ Asset Extension Ontology v1.0
- Status: Extension Layer
- Depends on: Core Ontology v1.0
- Scope: Organizational asset modeling and exposure context
- Design Goal: Connect real-world assets to Core security knowledge without contaminating Core semantics
- Version Baseline: Frozen OWL artifacts at v1.0
1. Extension Purpose
The Asset Extension provides a structured model for representing:
- Organizational systems
- Infrastructure components
- Software deployments
- Platform configurations in context
It enables exposure reasoning while preserving the integrity of Core Ontology v1.0.
2. Hard Boundary
This extension:
- MUST NOT redefine Core classes
- MUST NOT modify Core relationships
- MUST NOT introduce probabilistic semantics
- MUST NOT introduce incident-level semantics
- MUST NOT alter Core invariants
The extension operates strictly on top of Core.
3. Core Dependency
This extension depends on the following Core classes:
PlatformPlatformConfigurationVulnerabilityWeaknessAttackPatternTechnique
Core relationships such as:
PlatformConfiguration ββ affected_by βββΆ Vulnerability
remain authoritative and untouched.
4. Extension Classes
4.1 Asset
| Class | Description |
|---|---|
Asset |
Organizational system, device, workload, or environment instance |
Definition
An Asset represents a real-world deployment or system instance within an organization.
It is:
- Contextual
- Organization-specific
- Not part of Core Ontology
Examples:
- Production Web Server
- Customer Database Cluster
- Endpoint Device
- SaaS Tenant
4.2 AssetConfiguration
| Class | Description |
|---|---|
AssetConfiguration |
Concrete configuration instance of an Asset |
This class links organizational systems to Core exposure logic.
It is a contextualized wrapper over Core PlatformConfiguration.
5. Structural Relationships (Extension-Level)
These relationships are structural and non-authoritative.
5.1 Asset Composition
Asset ββ hasConfiguration βββΆ AssetConfiguration
Each Asset may have one or more configurations.
5.2 Configuration Mapping
AssetConfiguration ββ maps_to βββΆ PlatformConfiguration
This connects the organization-specific configuration to the Core configuration logic.
5.3 Optional Direct Platform Association
Asset ββ runsPlatform βββΆ Platform
This shortcut may exist for convenience but does not replace configuration-based reasoning.
6. Derived Relationships (Non-Core)
Derived relationships are computed using deterministic rules.
They MUST NOT be defined inside Core Ontology.
6.1 Derived Exposure
Asset ββ affected_by βββΆ Vulnerability
This relationship is computed if:
Asset.hasConfiguration = AC
AND
AC.maps_to = PC
AND
PC.affected_by = V
THEN
Asset affected_by V
Characteristics:
- Deterministic
- Recomputable
- Materializable
- Not authoritative
- Not stored in Core
6.2 Derived Weakness
Asset ββ exposed_to βββΆ Weakness
Derived via:
Asset β Vulnerability β caused_by β Weakness
6.3 Derived Attack Surface
Asset ββ exploitable_by βββΆ Technique
Derived via causal backbone:
Asset
ββ affected_by β Vulnerability
ββ caused_by β Weakness
ββ exploited_by β AttackPattern
ββ implemented_as β Technique
7. Rule Engine Layer (Deterministic Computation)
The following logic belongs outside OWL:
- CPE matching evaluation
- Version range comparison
- Boolean configuration logic
- Matching criteria resolution
Core invariant respected:
Vulnerabilities affect configurations, not platforms.
The Asset layer only inherits exposure via configuration mapping.
8. Materialized Graph Projection
In graph databases (e.g., Neo4j), the following relations may be materialized for performance:
Asset ββ directly_affected_by βββΆ Vulnerability
Asset ββ directly_exploitable_by βββΆ Technique
Asset ββ directly_exposed_to βββΆ Weakness
These relations must:
- Be tagged as derived
- Be recomputable
- Never replace authoritative Core relations
9. Extension Invariants
- Asset is not part of Core Ontology.
- Asset never bypasses PlatformConfiguration.
- No direct Vulnerability β Platform relation is introduced.
- No probabilistic semantics exist in this layer.
- No incident semantics exist in this layer.
- All derived edges must be computable from authoritative Core relations.
10. Canonical Traversal (Asset Context)
Question:
βIs this asset exposed to known exploitation techniques?β
Traversal:
Asset
ββ hasConfiguration βββΆ AssetConfiguration
ββ maps_to βββΆ PlatformConfiguration
ββ affected_by βββΆ Vulnerability
ββ caused_by βββΆ Weakness
ββ exploited_by βββΆ AttackPattern
ββ implemented_as βββΆ Technique
Optional materialized shortcut:
Asset ββ directly_exploitable_by βββΆ Technique
11. Separation of Concerns
| Layer | Responsibility |
|---|---|
| Core Ontology | Authoritative standards knowledge |
| Asset Extension | Organizational system modeling |
| Rule Engine | Deterministic exposure computation |
| Graph Projection | Performance optimization |
| Risk Extension | Probabilistic scoring |
| Incident Extension | Temporal observations |
12. What This Extension Enables
- Asset exposure modeling
- Multi-agent reasoning over real systems
- Deterministic vulnerability impact mapping
- Clean separation between semantic knowledge and operational state
- Safe integration with risk modeling
13. Versioning Policy
- Asset Extension v1.0 depends on Core v1.0
- Core is frozen in this workspace; any core change requires a new versioned core artifact
- Derived logic may evolve in extension/rule layers without changing Core
14. Systems-Agent Compatibility Projection
To support a stable, read-only systems-agent contract while preserving Core immutability, compatibility aliases and key field declarations are defined in standards modules under standards/, not in the asset extension.
14.1 Compatibility Predicates
Vulnerability ββ cve:affects βββΆ PlatformConfiguration (inverse of Core `kgcs:affected_by`)
Vulnerability ββ cvss:hasScore βββΆ VulnerabilityScore (aligned with Core `kgcs:scored_by`)
Vulnerability ββ cve:references βββΆ Reference (aligned with Core `kgcs:references`)
These predicates are standards-level compatibility terms for agent/graph ergonomics and do not alter Core semantics.
14.2 Systems Key Fields (Datatype Declarations)
Declared in standards namespaces for schema-level consistency across loaders and agent views:
cpe:cpeUri,cpe:cpeNameIdcpe:matchCriteriaId,cpe:configStatuscve:cveId,cve:published,cve:lastModified,cve:sourcecwe:cweId,cwe:abstractioncvss:scoreId,cvss:version,cvss:baseScore
All values remain sourced from authoritative standards metadata (NVD/MITRE) and must preserve provenance in agent responses.