Skip to content

[ti_cyware_threat_intelligence] Initial release of Cyware Threat Intelligence #14500

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

muskan-agarwal26
Copy link
Contributor

Proposed commit message

The initial release includes an indicator data stream for supporting indicators via REST API, along with their corresponding dashboards and visualizations.

Cyware Threat Intelligence fields are mapped to their corresponding ECS fields where possible.

Test samples were derived from documentation.

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

How to test this PR locally

  • Clone integrations repo.
  • Install elastic package locally.
  • Start elastic stack using elastic-package.
  • Move to integrations/packages/ti_cyware_threat_intelligence directory.
  • Run the following command to run tests.

elastic-package test

elastic-package test
2025/07/10 21:56:01  INFO New version is available - v0.112.0. Download from: https://github.com/elastic/elastic-package/releases/tag/v0.112.0
Run asset tests for the package
2025/07/10 21:56:01  INFO License text found in "/root/GITHUB/integrations/LICENSE.txt" will be included in package
--- Test results for package: ti_cyware_threat_intelligence - START ---
╭───────────────────────────────┬─────────────┬───────────┬────────────────────────────────────────────────────────────────────────────────────────┬────────┬──────────────╮
│ PACKAGE                       │ DATA STREAM │ TEST TYPE │ TEST NAME                                                                              │ RESULT │ TIME ELAPSED │
├───────────────────────────────┼─────────────┼───────────┼────────────────────────────────────────────────────────────────────────────────────────┼────────┼──────────────┤
│ ti_cyware_threat_intelligence │             │ asset     │ dashboard ti_cyware_threat_intelligence-56ee88b2-39b0-44f1-a122-46ff83bdbcb0 is loaded │ PASS   │      3.112µs │
│ ti_cyware_threat_intelligence │             │ asset     │ search ti_cyware_threat_intelligence-d3c12e4c-1d77-4c81-8223-5f909ffb433f is loaded    │ PASS   │      1.017µs │
│ ti_cyware_threat_intelligence │ indicator   │ asset     │ index_template logs-ti_cyware_threat_intelligence.indicator is loaded                  │ PASS   │      1.005µs │
│ ti_cyware_threat_intelligence │ indicator   │ asset     │ ingest_pipeline logs-ti_cyware_threat_intelligence.indicator-0.1.0 is loaded           │ PASS   │        570ns │
╰───────────────────────────────┴─────────────┴───────────┴────────────────────────────────────────────────────────────────────────────────────────┴────────┴──────────────╯
--- Test results for package: ti_cyware_threat_intelligence - END   ---
Done
Run pipeline tests for the package
--- Test results for package: ti_cyware_threat_intelligence - START ---
╭───────────────────────────────┬─────────────┬───────────┬───────────────────────────────────────────────┬────────┬──────────────╮
│ PACKAGE                       │ DATA STREAM │ TEST TYPE │ TEST NAME                                     │ RESULT │ TIME ELAPSED │
├───────────────────────────────┼─────────────┼───────────┼───────────────────────────────────────────────┼────────┼──────────────┤
│ ti_cyware_threat_intelligence │ indicator   │ pipeline  │ (ingest pipeline warnings test-indicator.log) │ PASS   │ 1.917131341s │
│ ti_cyware_threat_intelligence │ indicator   │ pipeline  │ test-indicator.log                            │ PASS   │ 663.276696ms │
╰───────────────────────────────┴─────────────┴───────────┴───────────────────────────────────────────────┴────────┴──────────────╯
--- Test results for package: ti_cyware_threat_intelligence - END   ---
Done
Run policy tests for the package
--- Test results for package: ti_cyware_threat_intelligence - START ---
No test results
--- Test results for package: ti_cyware_threat_intelligence - END   ---
Done
Run static tests for the package
--- Test results for package: ti_cyware_threat_intelligence - START ---
╭───────────────────────────────┬─────────────┬───────────┬──────────────────────────┬────────┬──────────────╮
│ PACKAGE                       │ DATA STREAM │ TEST TYPE │ TEST NAME                │ RESULT │ TIME ELAPSED │
├───────────────────────────────┼─────────────┼───────────┼──────────────────────────┼────────┼──────────────┤
│ ti_cyware_threat_intelligence │ indicator   │ static    │ Verify sample_event.json │ PASS   │  444.10598ms │
╰───────────────────────────────┴─────────────┴───────────┴──────────────────────────┴────────┴──────────────╯
--- Test results for package: ti_cyware_threat_intelligence - END   ---
Done
Run system tests for the package
2025/07/10 21:56:15  INFO License text found in "/root/GITHUB/integrations/LICENSE.txt" will be included in package
2025/07/10 21:57:25  INFO Write container logs to file: /root/GITHUB/integrations/build/container-logs/ti_cyware_threat_intelligence-1752164845393050794.log
2025/07/10 21:57:29  INFO Write container logs to file: /root/GITHUB/integrations/build/container-logs/elastic-agent-1752164849581505460.log
--- Test results for package: ti_cyware_threat_intelligence - START ---
╭───────────────────────────────┬─────────────┬───────────┬───────────┬────────┬────────────────╮
│ PACKAGE                       │ DATA STREAM │ TEST TYPE │ TEST NAME │ RESULT │   TIME ELAPSED │
├───────────────────────────────┼─────────────┼───────────┼───────────┼────────┼────────────────┤
│ ti_cyware_threat_intelligence │ indicator   │ system    │ default   │ PASS   │ 1m2.440650535s │
╰───────────────────────────────┴─────────────┴───────────┴───────────┴────────┴────────────────╯
--- Test results for package: ti_cyware_threat_intelligence - END   ---
Done

Related issues

Screenshots

ss-1 ss-2

@muskan-agarwal26 muskan-agarwal26 requested a review from a team as a code owner July 11, 2025 05:58
@kcreddy kcreddy added dashboard Relates to a Kibana dashboard bug, enhancement, or modification. New Integration Issue or pull request for creating a new integration package. Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] labels Jul 11, 2025
@elasticmachine
Copy link

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

@kcreddy
Copy link
Contributor

kcreddy commented Jul 11, 2025

/test

@kcreddy kcreddy added documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. Crest Contributions from Crest developement team. labels Jul 11, 2025
@elastic-vault-github-plugin-prod

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

Copy link

@elasticmachine
Copy link

💚 Build Succeeded

})
).flatten(),
"want_more": has(body.next) && body.next != null,
"page_number": has(body.next) && body.next != null ? int(state.?page_number.orValue(1)) + 1 : 1,
Copy link
Contributor

Choose a reason for hiding this comment

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

Please split this over lines.

What happens when state.page_number does not exist and body.next does and is not null? Then we start at 2. Is that intended? Can it ever happen?

},
})
:
{
Copy link
Contributor

Choose a reason for hiding this comment

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

In this branch, we lose all the accumulated state fields. Is that acceptable?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Crest Contributions from Crest developement team. dashboard Relates to a Kibana dashboard bug, enhancement, or modification. documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. New Integration Issue or pull request for creating a new integration package. 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.

[New Integration] Cyware Threat Intelligence eXchange (CTIX)
5 participants