-
Notifications
You must be signed in to change notification settings - Fork 194
[backend] feat(stix): add stix management for domain names (#3509) #4666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: release/current
Are you sure you want to change the base?
Conversation
b39433a to
21cd283
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## release/current #4666 +/- ##
=====================================================
+ Coverage 52.82% 52.96% +0.13%
- Complexity 4138 4167 +29
=====================================================
Files 966 967 +1
Lines 29007 29174 +167
Branches 2162 2175 +13
=====================================================
+ Hits 15323 15451 +128
- Misses 12779 12814 +35
- Partials 905 909 +4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
e74b44c to
d0bf47c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds STIX management for domain name indicators, enabling OpenAEV to process domain name indicators from OpenCTI and automatically create corresponding DNS resolution injects in scenarios. The implementation extracts domain names from STIX indicator objects and generates executable DNS resolution payloads dynamically.
Key Changes:
- Added support for parsing STIX indicator objects with domain name observables
- Implemented automatic creation of DNS resolution injects from domain name indicators
- Added database schema changes to store indicator references in security coverage
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| ObjectFactory.java | Registers INDICATOR object type in STIX object factory |
| ObjectTypes.java | Adds INDICATOR enum constant for STIX type handling |
| ExtendedProperties.java | Adds DOMAIN_NAME property for observable type identification |
| CommonProperties.java | Adds properties for parsing indicator observables (OBSERVABLE_VALUES, VALUE, NAME, DESCRIPTION) |
| ObjectBase.java | Adds getExtensionObservables() method to extract observable values from STIX extensions |
| InjectorContractRepository.java | Adds query method to find contracts by payload |
| InjectRepository.java | Adds native query to delete DNS resolution injects by scenario |
| StixRefToExternalRef.java | Extends model to include name, description, and hostname fields for indicators |
| SecurityCoverage.java | Adds indicatorsRefs field to store indicator references |
| Payload.java | Changes ID generation to use controlled UUID generation |
| security-coverage-with-domain-name.json | Test fixture with domain name indicators from OpenCTI |
| PayloadComposer.java | Removes detectionRemediationComposers persistence call |
| SecurityCoverageFixture.java | Initializes indicatorsRefs set in test fixture |
| StixApiTest.java | Adds test verifying DNS resolution inject creation from domain name indicators |
| SecurityCoverageUtils.java | Implements extraction of domain name values from indicator observables |
| SecurityCoverageService.java | Integrates indicator processing into coverage generation workflow |
| SecurityCoverageInjectService.java | Implements core logic for creating/managing DNS resolution injects from indicators |
| PayloadService.java | Creates dynamic DNS resolution payload with configurable hostname argument |
| InjectService.java | Filters DNS resolution injects from attack pattern/platform/architecture extraction |
| ExecutableInjectService.java | Processes DNS resolution payloads by replacing hostname variables with inject content |
| DomainService.java | Consolidates import statements |
| V4_60__Add_indicators_column_to_security_coverage.java | Migration to add indicators_refs column to security_coverages table |
openaev-api/src/main/java/io/openaev/service/stix/SecurityCoverageInjectService.java
Outdated
Show resolved
Hide resolved
openaev-api/src/main/java/io/openaev/rest/inject/service/ExecutableInjectService.java
Outdated
Show resolved
Hide resolved
openaev-model/src/main/java/io/openaev/database/model/StixRefToExternalRef.java
Show resolved
Hide resolved
Signed-off-by: Antoine MAZEAS <[email protected]>
Signed-off-by: Antoine MAZEAS <[email protected]>
c1f7dc6 to
be38732
Compare
Proposed changes
Testing Instructions
Related issues