feat(threatmatch): migrate connector to manager-supported mode (#6868) - #6996
Open
jabesq wants to merge 6 commits into
Open
feat(threatmatch): migrate connector to manager-supported mode (#6868)#6996jabesq wants to merge 6 commits into
jabesq wants to merge 6 commits into
Conversation
|
🔴 Connector Linter errors detected
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates the ThreatMatch external-import connector toward manager-supported mode by tightening and documenting its Pydantic settings, normalizing configuration inputs, and adding the generated schema/docs needed for catalog/manager usage.
Changes:
- Updated
config.pysettings models with field descriptions, stricter types (e.g.,Literalfor log level), and a first-run defaulting strategy forimport_from_date. - Fixed a misspelled ThreatMatch env var in
docker-compose.ymland marked the connector asmanager_supported: true. - Added generated manager configuration artifacts (
connector_config_schema.json,CONNECTOR_CONFIG_DOC.md) and introduced aconnectors-sdkdependency in requirements.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| external-import/threatmatch/src/threatmatch/config.py | Modernizes datetime handling and enhances/validates settings models for manager-supported configuration. |
| external-import/threatmatch/src/requirements.txt | Adds an additional dependency intended for manager-supported migration. |
| external-import/threatmatch/docker-compose.yml | Corrects the ThreatMatch env var spelling for intrusion-set mapping. |
| external-import/threatmatch/metadata/connector_manifest.json | Flags the connector as manager-supported. |
| external-import/threatmatch/metadata/connector_config_schema.json | Adds generated JSON schema for manager configuration. |
| external-import/threatmatch/metadata/CONNECTOR_CONFIG_DOC.md | Adds generated documentation for all configuration keys. |
jabesq
force-pushed
the
feat/6868-threatmatch-manager-supported
branch
from
July 21, 2026 12:16
924792d to
67ee030
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #6996 +/- ##
===========================================
+ Coverage 35.64% 74.03% +38.39%
===========================================
Files 2048 8 -2040
Lines 125310 651 -124659
===========================================
- Hits 44672 482 -44190
+ Misses 80638 169 -80469
📢 Thoughts on this report? Let us know! 🚀 New features to boost your workflow:
|
jabesq
force-pushed
the
feat/6868-threatmatch-manager-supported
branch
3 times, most recently
from
July 23, 2026 09:21
7eb74e8 to
5c47639
Compare
…tion - Fix docker-compose env var typo THREATMATCH_THREAT_ACTOR_AS_INSTRUSION_SET -> THREATMATCH_THREAT_ACTOR_AS_INTRUSION_SET so it maps to the settings field - Add connectors-sdk dependency (required for config schema generation)
…nager-supported mode Populate Field(description=...) on the opencti, connector and threatmatch settings sections so the generated connector config schema and documentation expose meaningful descriptions in the OpenCTI connector manager UI. Types, defaults and validation behaviour are unchanged.
… for manager-supported mode Add __metadata__/connector_config_schema.json and __metadata__/CONNECTOR_CONFIG_DOC.md, generated from the ConnectorSettings Pydantic model. These provide the environment variable contract consumed by the OpenCTI connector manager.
jabesq
force-pushed
the
feat/6868-threatmatch-manager-supported
branch
from
July 23, 2026 15:03
5c47639 to
fc0dd5d
Compare
helene-nguyen
self-requested a review
July 24, 2026 15:21
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed changes
THREATMATCH_THREAT_ACTOR_AS_INSTRUSION_SETenv var toTHREATMATCH_THREAT_ACTOR_AS_INTRUSION_SETin docker-compose.yml, and add theconnectors-sdkdependency in src/requirements.txt.log_levelis now aLiteral, andimport_from_datebecomes optional with afield_validatordefaulting to a 30-day relative window on first run.datetime/timedelta/timezoneimports.manager_supported: truein the connector manifest.__metadata__/connector_config_schema.json) and documentation (__metadata__/CONNECTOR_CONFIG_DOC.md) for manager-supported mode.Related issues
Checklist
Further comments
This connector was already partly modernized; this stack enhances the Pydantic settings (field descriptions, stricter types) and generates the config schema/doc required for manager-supported mode.