-
Notifications
You must be signed in to change notification settings - Fork 534
[recordedfuture-enrichment] add threat actor to intrusion set config #5454
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: master
Are you sure you want to change the base?
Conversation
77c3473 to
acca410
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 a configuration option to convert Recorded Future Threat Actor entities to Intrusion Set entities instead of Threat Actor Group entities during observable enrichment. This addresses issue #4753 by providing flexibility in how threat actor data is represented in OpenCTI.
Key Changes
- Added
threat_actor_to_intrusion_setboolean configuration parameter with a default value ofFalse - Updated observable enrichment logic to conditionally create
IntrusionSetobjects when the flag is enabled - Extended relationship matching to include
IntrusionSetentities alongside existing threat-related entities
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
conftest.py |
Added test fixture configuration for the new threat_actor_to_intrusion_set parameter |
enrich_observable.py |
Implemented conditional logic to create IntrusionSet instead of ThreatActorGroup based on configuration |
rf_connector.py |
Passed the new configuration parameter to ObservableEnricher and improved TLP level type safety |
config_loader.py |
Defined the new threat_actor_to_intrusion_set configuration field with validation |
config.yml.sample |
Added commented-out example of the new configuration option |
docker-compose.yml |
Added commented-out environment variable example |
README.md |
Documented the new configuration parameter with usage warnings |
.env.sample |
Added commented-out environment variable example |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | Max TLP | info_max_tlp | `RECORDED_FUTURE_INFO_MAX_TLP` | `TLP:AMBER` | no | Max TLP marking of the entity to enrich (inclusive). One of `TLP:CLEAR`, `TLP:WHITE`, `TLP:GREEN`, `TLP:AMBER`, `TLP:AMBER+STRICT`, `TLP:RED`. | | ||
| | Indicator creation threshold | create_indicator_threshold | `RECORDED_FUTURE_CREATE_INDICATOR_THRESHOLD` | `0` | no | The risk score threshold at which an indicator will be created for enriched observables. If set to zero, all enriched observables will automatically create an indicator. If set to 100, no enriched observables will create an indicator. Reccomended thresholds are: `0`, `25`, `65`, `100` | | ||
| | Vulnerability enrichment optional fields | vulnerability_enrichment_optional_fields | `RECORDED_FUTURE_VULNERABILITY_ENRICHMENT_OPTIONAL_FIELDS` | `''` | no | A comma-separated list of optional fields to enrich vulnerabilities with. Currently, available fields are `aiInsights`, `cpe`and `risk`. See [RecordedFuture enrichment fields doc](https://docs.recordedfuture.com/reference/enrichment-field-attributes) for more details. | | ||
| | Theat Actor to Intrusion Set | threat_actor_to_intrusion_set | `RECORDED_FUTURE_THREAT_ACTOR_TO_INTRUSION_SET` | `False` | no | Converts all Recorded Future Threat Actors to STIX Object "Intrusion Set" instead of "Threat Actor". DO NOT USE unless you **really** know what you're doing. | |
Copilot
AI
Jan 8, 2026
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.
Corrected spelling of 'Theat' to 'Threat'.
| | Theat Actor to Intrusion Set | threat_actor_to_intrusion_set | `RECORDED_FUTURE_THREAT_ACTOR_TO_INTRUSION_SET` | `False` | no | Converts all Recorded Future Threat Actors to STIX Object "Intrusion Set" instead of "Threat Actor". DO NOT USE unless you **really** know what you're doing. | | |
| | Threat Actor to Intrusion Set | threat_actor_to_intrusion_set | `RECORDED_FUTURE_THREAT_ACTOR_TO_INTRUSION_SET` | `False` | no | Converts all Recorded Future Threat Actors to STIX Object "Intrusion Set" instead of "Threat Actor". DO NOT USE unless you **really** know what you're doing. | |
Proposed changes
Related issues
Checklist
Further comments