-
Notifications
You must be signed in to change notification settings - Fork 448
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
[ti_opencti] OpenCTI integration #7385
Conversation
💔 Build Failed
Expand to view the summary
Build stats
Test stats 🧪
Steps errorsExpand to view the steps failures
|
packages/ti_opencti/data_stream/indicator/_dev/test/pipeline/cryptocurrency-wallet.json
Outdated
Show resolved
Hide resolved
packages/ti_opencti/data_stream/indicator/agent/stream/input.yml.hbs
Outdated
Show resolved
Hide resolved
packages/ti_opencti/data_stream/indicator/agent/stream/input.yml.hbs
Outdated
Show resolved
Hide resolved
packages/ti_opencti/data_stream/indicator/agent/stream/input.yml.hbs
Outdated
Show resolved
Hide resolved
packages/ti_opencti/data_stream/indicator/agent/stream/input.yml.hbs
Outdated
Show resolved
Hide resolved
🌐 Coverage report
|
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.
Great work! I added some nits as a scanned your progress so far.
For the list of remaining items under To Do
, let's talk to @jamiehynds if there are items/features we can descope in this initial version. For example, maybe we don't need to support additional auth methods, likemTLS certificate
and OAuth2
, up front.
packages/ti_opencti/data_stream/indicator/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
...encti/data_stream/indicator/_dev/test/pipeline/test-cryptocurrency-wallet.json-expected.json
Outdated
Show resolved
Hide resolved
packages/ti_opencti/data_stream/indicator/elasticsearch/ingest_pipeline/default.yml
Show resolved
Hide resolved
packages/ti_opencti/data_stream/indicator/elasticsearch/ingest_pipeline/default.yml
Show resolved
Hide resolved
/test |
8f3e76b
to
452781d
Compare
2e90a71
to
c475a4f
Compare
a708813
to
743150a
Compare
e2a4537
to
f3251be
Compare
/test |
f2f4feb
to
f02899b
Compare
Pinging @elastic/security-external-integrations (Team:Security-External Integrations) |
a5c0a61
to
6a52742
Compare
packages/ti_opencti/data_stream/indicator/agent/stream/cel.yml.hbs
Outdated
Show resolved
Hide resolved
packages/ti_opencti/data_stream/indicator/elasticsearch/ingest_pipeline/default.yml
Show resolved
Hide resolved
packages/ti_opencti/data_stream/indicator/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
packages/ti_opencti/data_stream/indicator/elasticsearch/ingest_pipeline/default.yml
Outdated
Show resolved
Hide resolved
...i_opencti/data_stream/indicator/elasticsearch/ingest_pipeline/ecs_from_autonomous_system.yml
Show resolved
Hide resolved
...s/ti_opencti/data_stream/indicator/_dev/test/pipeline/test-file-with-name.json-expected.json
Outdated
Show resolved
Hide resolved
@jsoriano I suspect the "run all the things" testing here is because of the change to links_table.yml. This is a similar situation to what I saw when I changed the pr template. Should we be doing a full test of all packages when this file changes? (I can see that we should do a check to make sure the change has not broken any generated docs). |
Yes, it looks like a check would be enough, or we could try to make the pipeline smarter and detect what packages are using each link. Could you please open an issue to improve the situation? Though this file doesn't change frequently. |
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.
Change in CODEOWNERS and links table looks good to me.
…t conflicts with the 'SEI Integration Dashboard styling guide' recommendation 'Only use filters on visualizations panels, not dashboards'.
This reverts commit 9a90cdaa084c15cf54a81c29e08a5c02954220ea.
…observable processing.
c3e69b5
to
c7bd854
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.
Just a couple of typos to fix, but otherwise LGTM
@chrisberkhout anything else you need here or is this ready to merge and release? |
@ebeahan All feedback addressed and tests for this integration are passing. I think this is good to go. It looks like I can't override and merge without tests passing, but if someone else can that would be good. |
Package ti_opencti - 0.1.0 containing this change is available at https://epr.elastic.co/search?package=ti_opencti |
a pleasant surprise to see this pop up, nice work @chrisberkhout ! |
Proposed commit message
Background
OpenCTI integration development notes has some some background information about OpenCTI and the approach taken with this integration.
OpenCTI Mappings is a spreadsheet with field-level notes.
Status
What's working
This version is ready for final review and then release.
Since the demo timestamp mapping has been changed. The current mappings of the various timestamps are described in the README. The motivations for the change were to show incoming data at recent
@timestamp
values for a more intuitive user experience, and to build visualizations onlogs-*
rather than ad-hoc data views to avoid issues with persistent visualization errors and controls not working.Potential future enhancements
Infosec have said that, in general, observables will be present. For the demo.opencti.io data, only about 0.17% of indicators have a STIX pattern but no observables.
How to test this PR locally
Build and install the integration as usual:
With a free account on the OpenCTI public demo instance you can get an API key (in the UI under Profile > API access) that will work as a bearer token as long as you're logged in. The OpenCTI demo instance has about 1.2 million indicators. The API token and base URL are the only setting required when adding a policy.
Making dashboard changes
If dashboards need to be updated, it may be necessary to downgrade to version 8.7.1 of the stack and export them from there, to avoid failing with the error "packages with dashboards exported since Kibana 8.8.0 may not be installed till 8.10.0, please export the dashboard/s from a different version". To make the integration work on 8.7.1, some further changes are necessary:
Changes necessary to run on 8.7.1
Checklist
changelog.yml
file.Related issues
Screenshots
Please see the screenshots in the integration.