Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Elastic bi #2036

Merged
merged 7 commits into from
Dec 22, 2023
Merged

Elastic bi #2036

merged 7 commits into from
Dec 22, 2023

Conversation

0ssigeno
Copy link
Contributor

Description

Information about the reports can be stored inside elastic

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue).
  • New feature (non-breaking change which adds functionality).
  • Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist

  • I have read and understood the rules about how to Contribute to this project
  • The pull request is for the branch develop
  • A new plugin (analyzer, connector, visualizer, playbook, pivot or ingestor) was added or changed, in which case:
    • I strictly followed the documentation "How to create a Plugin"
    • Usage file was updated.
    • Advanced-Usage was updated (in case the plugin provides additional optional configuration).
    • If the plugin requires mocked testing, _monkeypatch() was used in its class to apply the necessary decorators.
    • I have dumped the configuration from Django Admin using the dumpplugin command and added it in the project as a data migration. [Doc]("How to create a Plugin")
    • If a File analyzer was added and it supports a mimetype which is not already supported, you added a sample of that type inside the archive test_files.zip and you added the default tests for that mimetype in test_classes.py.
    • If you created a new analyzer and it is free (does not require API keys), please add it in the FREE_TO_USE_ANALYZERS playbook in playbook_config.json.
    • Check if it could make sense to add that analyzer/connector to other freely available playbooks.
    • I have provided the resulting raw JSON of a finished analysis and a screenshot of the results.
  • If external libraries/packages with restrictive licenses were used, they were added in the Legal Notice section.
  • Linters (Black, Flake, Isort) gave 0 errors. If you have correctly installed pre-commit, it does these checks and adjustments on your behalf.
  • I have added tests for the feature/bug I solved (see tests folder). All the tests (new and old ones) gave 0 errors.
  • If changes were made to an existing model/serializer/view, the docs were updated and regenerated (check CONTRIBUTE.md).
  • If the GUI has been modified:
    • I have a provided a screenshot of the result in the PR.
    • I have created new frontend tests for the new component or updated existing ones.

Important Rules

  • If you miss to compile the Checklist properly, your PR won't be reviewed by the maintainers.
  • If your changes decrease the overall tests coverage (you will know after the Codecov CI job is done), you should add the required tests to fix the problem
  • Everytime you make changes to the PR and you think the work is done, you should explicitly ask for a review. After being reviewed and received a "change request", you should explicitly ask for a review again once you have made the requested changes.

Signed-off-by: 0ssigeno <s.berni@certego.net>
Signed-off-by: 0ssigeno <s.berni@certego.net>
@0ssigeno 0ssigeno requested a review from mlodic December 20, 2023 15:39
Copy link
Contributor

@code-review-doctor code-review-doctor bot left a comment

Choose a reason for hiding this comment

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

Some things to consider. View full project report here.

Co-authored-by: code-review-doctor[bot] <72320148+code-review-doctor[bot]@users.noreply.github.com>
Copy link
Member

@mlodic mlodic left a comment

Choose a reason for hiding this comment

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

I think it could make sense to provide the schema of the index template to the users so they can insert it manually to the Elastic prior to insertion of BI data.

Comment on lines +56 to +63
- application name
- timestamp
- username
- configuration used
- process_time
- status
- end_time
- parameters
Copy link
Member

Choose a reason for hiding this comment

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

could you please provide a sample as an example?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

image

Copy link
Member

Choose a reason for hiding this comment

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

I would use intelowl-bi instead of intel-owl-bi. In this way we use the - correctly.
The environment would be more useful it that was put inside the index name like intelowl-bi-stag. In this way we can choose different retention mechanism based on that name (it already works like that for other indexes that we collect)
Is the timestamp related to the moment when this entry is written in elastic or when the analyzer has started?

Copy link
Member

Choose a reason for hiding this comment

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

I would save the application in lowercase too, just to align with other tags we already save

Signed-off-by: 0ssigeno <s.berni@certego.net>
Copy link

codecov bot commented Dec 20, 2023

Codecov Report

Attention: 1619 lines in your changes are missing coverage. Please review.

Comparison is base (aa8820f) 66.75% compared to head (56dc092) 75.59%.
Report is 1575 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #2036      +/-   ##
===========================================
+ Coverage    66.75%   75.59%   +8.84%     
===========================================
  Files           95      481     +386     
  Lines         3706    14388   +10682     
  Branches       519     1495     +976     
===========================================
+ Hits          2474    10877    +8403     
- Misses         941     2915    +1974     
- Partials       291      596     +305     
Files Coverage Δ
api_app/analyzers_manager/admin.py 100.00% <100.00%> (ø)
api_app/analyzers_manager/apps.py 100.00% <100.00%> (ø)
api_app/analyzers_manager/constants.py 100.00% <100.00%> (ø)
api_app/analyzers_manager/exceptions.py 100.00% <100.00%> (ø)
...app/analyzers_manager/file_analyzers/boxjs_scan.py 100.00% <100.00%> (ø)
...pi_app/analyzers_manager/file_analyzers/onenote.py 100.00% <100.00%> (ø)
...pi_app/analyzers_manager/file_analyzers/peframe.py 82.35% <100.00%> (ø)
...i_app/analyzers_manager/file_analyzers/rtf_info.py 48.64% <100.00%> (ø)
...s_manager/file_analyzers/xlm_macro_deobfuscator.py 62.50% <100.00%> (ø)
api_app/analyzers_manager/filters.py 100.00% <100.00%> (ø)
... and 237 more

... and 290 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ea2abcb...56dc092. Read the comment docs.

Signed-off-by: 0ssigeno <s.berni@certego.net>
@0ssigeno 0ssigeno requested a review from mlodic December 21, 2023 09:20
Signed-off-by: 0ssigeno <s.berni@certego.net>
@0ssigeno 0ssigeno merged commit 9bd5b50 into develop Dec 22, 2023
11 checks passed
@0ssigeno 0ssigeno deleted the elastic_bi branch December 22, 2023 08:31
mlodic added a commit that referenced this pull request Dec 27, 2023
* added book icon

* Fix md

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Adjusted toasts  (#2015)

* adjusted toast

* fix test

---------

Co-authored-by: Daniele Rosetti <d.rosetti@certego.net>

* updated flare-floss to v3

* updated flare-floss to v3.0.1

* fixed the doc about contribute

* fixed unresponsive scan page form with large files

* changed social button popover trigger

* fixed order problem in visualizer tabs

* fixed PR template

* fixed PR template

* Frontend - HealthCheck and Pull buttons (#2025)

* added healthcheck and pull button

* test draft

* frontend tests

* adjusted toasts

* added rule to short variable names (#2026)

* added rule to short variable names

* fix

* fixed rules

* fixed rules

* added todo comment

* fix

* added note

* fixed short var names

* fixes

* fix

* fix

* fix

* comment

* #1990 DNS0 /names Analyzer (#2024)

* First not tested prototype

* Added _monkeypatch() skeleton

* Fixed a wrong condition in parameter validation

* Added config() function to prepare data for request

* Added hasattr() check for attributes

* First successful run

- Added check on existence of API parameter
- Added authorization header
- Added checks on parameters existence

* Fix _api_name parameter check

* Fixed parameter configuration

* Removed unused if statement

* Added support for UNIX timestamps and relative dates

* Renamed dns0 service to separate services

* Completed checks for not set parameters

* Added checks of existence for all parameters

* Added default Accept format header

* Simplified regex to match single relative date

* Fixed date check by forcing format

* Modified _api_key to be non required

* Made _api_key optional to support 10 free queries/day

* Added /rrsets API

* Moved files into separate dns0/ folder

* Created module structure and base file

* Extracted a common Mixin and applied to subclasses

* Resolved performance issue flagged by deepsource

* Added absolute import path

* Substituted dateutils with dateparser and updated requirements

* Updated Usage.md

* Added explanation in Advanced-Usage.md

* Fix dump

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Black

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Added analyzer config migrations

* Added new analyzers to FREE_TO_USE_ANALYZERS playbook

* Removed dns query type check

* Removed unused variable 'query'

* Added explicit default value in 'limit' parameter

* Added DNS0 api docs reference

* Solved deepsource warnings

* Added custom user agent

* Removed DNS0_rrsets_data

* Solved deepsource warning

* Added example JSON data

* Generalization of ids

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Fix dumpplugin migration generation

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Excluding id

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Excluding id in migration

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Added default parameter in test

* Added link to the DNS0 doc in plugin description

* Fix pipeline test #1

* Fix pipeline test n2

* Fix pipeline test n3

* Fix pipeline test n4

* Fix pipeline test n5

* Fix pipeline test n6

* Fix pipeline test n7

* Fix pipeline test n8

* Fix pipeline test n9

* Fix pipeline test n10

* Fix pipeline test n11

* Fix pipeline test n12

* Fix pipeline test n13

* Fix pipeline test n14

* Fix pipeline test n15

* Fix pipeline test n16

* Fix pipeline test n17

* Removed unused q parameter

---------

Signed-off-by: 0ssigeno <s.berni@certego.net>
Co-authored-by: 0ssigeno <s.berni@certego.net>

* Bump actions/setup-python from 4.7.0 to 5.0.0 (#2022)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.0 to 5.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v4.7.0...v5.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump google-cloud-webrisk from 1.12.0 to 1.13.0 in /requirements (#2018)

Bumps [google-cloud-webrisk](https://github.com/googleapis/google-cloud-python) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/googleapis/google-cloud-python/releases)
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md)
- [Commits](googleapis/google-cloud-python@google-cloud-webrisk-v1.12.0...google-cloud-webrisk-v1.13.0)

---
updated-dependencies:
- dependency-name: google-cloud-webrisk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Corner case migration

Signed-off-by: 0ssigeno <s.berni@certego.net>

* More logs

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Fix

Signed-off-by: 0ssigeno <s.berni@certego.net>

* incremented logs in most used apis

* Elastic bi (#2036)

* Elastic bi

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Elastic bi + fix elastic package

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Update api_app/queryset.py

Co-authored-by: code-review-doctor[bot] <72320148+code-review-doctor[bot]@users.noreply.github.com>

* Fix

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Index template

Signed-off-by: 0ssigeno <s.berni@certego.net>

* Fixes

Signed-off-by: 0ssigeno <s.berni@certego.net>

---------

Signed-off-by: 0ssigeno <s.berni@certego.net>
Co-authored-by: code-review-doctor[bot] <72320148+code-review-doctor[bot]@users.noreply.github.com>

* changelog + docs + bump + django doctor + deepsource

* Bump github/codeql-action from 2 to 3 (#2033)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](github/codeql-action@v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump authlib from 1.2.0 to 1.3.0 in /requirements (#2031)

Bumps [authlib](https://github.com/lepture/authlib) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/lepture/authlib/releases)
- [Changelog](https://github.com/lepture/authlib/blob/master/docs/changelog.rst)
- [Commits](lepture/authlib@v1.2.0...v1.3.0)

---
updated-dependencies:
- dependency-name: authlib
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fixed permissions and log files for ClamAV

* Added IP and subdomain support for DNS0_rrsets_data  (#2042)

* Added IP support for DNS0_rrsets_data analyzer

* Added include_subdomain parameter

* Typo

* Restore original state

* Added alter migration to add a new supported type and new parameter

* fix deepsource

---------

Signed-off-by: 0ssigeno <s.berni@certego.net>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Daniele Rosetti <d.rosetti@certego.net>
Co-authored-by: 0ssigeno <s.berni@certego.net>
Co-authored-by: Martina Carella <m.carella@certego.net>
Co-authored-by: Daniele Rosetti <55402684+drosetti@users.noreply.github.com>
Co-authored-by: fgibertoni <152909479+fgibertoni@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Simone Berni <simone.berni2@studio.unibo.it>
Co-authored-by: code-review-doctor[bot] <72320148+code-review-doctor[bot]@users.noreply.github.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants