Skip to content

Conversation

@gabriel-peze
Copy link
Contributor

Proposed changes

  • Add STIX management for domain name indicators

Testing Instructions

  1. Create a report and Security Coverage on OpenCTI, linked to OpenAEV
  2. Scenario should be created into OpenAEV using STIX calls, and runnable, with coverage shown on OpenCTI from OpenAEV.

Related issues

@gabriel-peze gabriel-peze changed the title Issue/3509 [backend] feat(stix): add stix management for domain names (#3509) Jan 2, 2026
@codecov
Copy link

codecov bot commented Jan 2, 2026

Codecov Report

❌ Patch coverage is 71.89189% with 52 lines in your changes missing coverage. Please review.
✅ Project coverage is 52.96%. Comparing base (6eaed84) to head (be38732).

Files with missing lines Patch % Lines
.../openaev/service/stix/SecurityCoverageService.java 36.66% 18 Missing and 1 partial ⚠️
...ev/service/stix/SecurityCoverageInjectService.java 75.80% 14 Missing and 1 partial ⚠️
...v/rest/inject/service/ExecutableInjectService.java 57.89% 7 Missing and 1 partial ⚠️
...n/java/io/openaev/utils/SecurityCoverageUtils.java 78.37% 3 Missing and 5 partials ⚠️
.../io/openaev/rest/inject/service/InjectService.java 33.33% 1 Missing and 1 partial ⚠️
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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gabriel-peze gabriel-peze marked this pull request as ready for review January 2, 2026 17:19
@gabriel-peze gabriel-peze self-assigned this Jan 2, 2026
@gabriel-peze gabriel-peze added the filigran team use to identify PR from the Filigran team label Jan 2, 2026
@gabriel-peze gabriel-peze linked an issue Jan 2, 2026 that may be closed by this pull request
@gabriel-peze gabriel-peze marked this pull request as draft January 7, 2026 09:17
@gabriel-peze gabriel-peze marked this pull request as ready for review January 7, 2026 16:41
@SamuelHassine SamuelHassine requested a review from Copilot January 9, 2026 09:00
Copy link

Copilot AI left a 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

filigran team use to identify PR from the Filigran team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Parse DNS resolution from StixBundle

3 participants