Skip to content

[ti_opencti] Fix service DLL handling and other minor pipeline issues - #20569

Closed
chrisberkhout wants to merge 6 commits into
elastic:mainfrom
chrisberkhout:ti_opencti-fixes
Closed

chrisberkhout wants to merge 6 commits into
elastic:mainfrom
chrisberkhout:ti_opencti-fixes

Conversation

@chrisberkhout

Copy link
Copy Markdown
Contributor

Proposed commit message

[ti_opencti] Fix service DLL handling and other minor pipeline issues

The original service DLL handling had two broken renames:
- To `_ingest.node._value.additional_names` rather than
  `_ingest._value....` (from the foreach processor).
- From `_ingest._value.node` to `_ingest._value`, which failed because
  the target exists.

It also produced `service_dlls`, while the mappings and downstream
processors expect `service_dll`. It's fixed and simplified by replacing
the four nested foreach processors with a single Painless script that
unwraps each `serviceDlls.edges[].node` into `service_dll` and renames
the OpenCTI-specific fields at the same time.

Invalid `?.` syntax is removed from Mustache templates (it's for
Painless, not Mustache).

The `threat.indicator.file.size` value is set with `copy_from` rather
than a template to avoid unnecessary stringification.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

@chrisberkhout chrisberkhout self-assigned this Aug 6, 2026
@chrisberkhout
chrisberkhout requested review from a team as code owners August 6, 2026 07:59
@chrisberkhout chrisberkhout added Integration:ti_opencti OpenCTI Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] labels Aug 6, 2026
@infra-vault-gh-plugin-prod

Copy link
Copy Markdown

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

@chrisberkhout chrisberkhout added the bugfix Pull request that fixes a bug issue label Aug 6, 2026
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

✅ Elastic Docs Style Checker (Vale)

No issues found on modified lines!


The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale.

The original service DLL handling had two broken renames:
- To `_ingest.node._value.additional_names` rather than
  `_ingest._value....` (from the foreach processor).
- From `_ingest._value.node` to `_ingest._value`, which failed because
  the target exists.

It also produced `service_dlls`, while the mappings and downstream
processors expect `service_dll`. It's fixed and simplified by replacing
the four nested foreach processors with a single Painless script that
unwraps each `serviceDlls.edges[].node` into `service_dll` and renames
the OpenCTI-specific fields at the same time.

Invalid `?.` syntax is removed from Mustache templates (it's for
Painless, not Mustache).

The `threat.indicator.file.size` value is set with `copy_from` rather
than a template to avoid unnecessary stringification.
Comment thread packages/ti_opencti/changelog.yml Resolved
Comment thread packages/ti_opencti/changelog.yml Resolved
Comment thread packages/ti_opencti/changelog.yml Resolved
Comment thread packages/ti_opencti/changelog.yml Resolved
Comment thread packages/ti_opencti/changelog.yml Resolved
@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@chrisberkhout

Copy link
Copy Markdown
Contributor Author

All Vera issues resolved.

@chrisberkhout

Copy link
Copy Markdown
Contributor Author

Vera comments resolved again.

@chrisberkhout
chrisberkhout requested a review from efd6 August 13, 2026 07:13
@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

✅ All changelog entries have the correct PR link.

@vera-review-bot

Copy link
Copy Markdown
Contributor

🟢 Reviewed the latest commits 9598053…94582b3 (3 commits) — nothing new beyond already posted comments.

Review summary

Issues found across earlier commits 97d4c3f, 1d00510 — 2 low
  • 🔵 The new expected output shows threat.indicator.file.extension as ["dll", "dll"] because the extension script in ecs_from_file.yml never de-duplicates (link) (Resolved)
  • 🔵 The new service DLL script processor has no tag, so the pipeline on_failure handler reports an empty processor tag if it throws (link) (Resolved)
Issues found across earlier commits e8768ca — 4 medium, 2 low
  • 🟡 All three new changelog entries link to placeholder PR Initial structure #1 instead of this PR (20569) - update the three link values before merge. (link) (Resolved)
  • 🔵 Changelog description reads "in a Mustache templates" - drop the stray article so it reads "in Mustache templates". (link) (Resolved)
  • 🔵 service_dll is now emitted as an array of objects under an object-mapped group, so per-DLL name/hash/size correlation is lost when a process has more than one service DLL (link) (Resolved)
  • 🟡 Changelog links a different PR number (link) (Resolved)
  • 🟡 Changelog links a different PR number (link) (Resolved)
  • 🟡 Changelog links a different PR number (link) (Resolved)

A new commit triggers another review — at most once every 15 minutes. I skip the PR while it's approved or has merge conflicts.

🤖 AI-Generated Review | Vera Review Bot - v0.2.6 | 📚 Knowledge base: integration-skills

⚠️ Automated review — verify suggestions before applying.

@infra-vault-gh-plugin-prod

infra-vault-gh-plugin-prod Bot commented Aug 13, 2026 •

Copy link
Copy Markdown

💔 Build Failed

Failed CI Steps

History

cc @chrisberkhout

@efd6 efd6 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good after the version is fixed.

name: ti_opencti
title: OpenCTI
version: "2.15.3"
version: "2.15.4"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
version: "2.15.4"
version: "2.16.0"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@efd6 I think this is only fixing rather than adding functionality. Shouldn't it stay as a patch level release?

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

Labels

bugfix Pull request that fixes a bug issue Integration:ti_opencti OpenCTI Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants