Skip to content

Reporting rework #24

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

Draft
wants to merge 138 commits into
base: master
Choose a base branch
from
Draft

Reporting rework #24

wants to merge 138 commits into from

Conversation

rkoumis
Copy link
Owner

@rkoumis rkoumis commented Jan 27, 2025

Use pydantic to specify backend schema

@rkoumis rkoumis marked this pull request as draft January 27, 2025 19:49
@josh-feather josh-feather force-pushed the reporting-rework branch 2 times, most recently from 212895f to 58b4be1 Compare February 4, 2025 14:06
rkoumis and others added 25 commits February 5, 2025 09:48
- Added a new file: mongodb_constants.py
- We'll use this new file whenever we're touching mongodb
- The new constants are collection names and some field names
- A bit of refactoring to ensure testability.
- Using mongomock, write tests for web/analysis/views
- Add a test for report doc insert calls
- Add tests for perform_search
This starts to migrate the reporting capabilities out of the processing
phase where it currently lives exclusively, to a core part of CAPE with
a few different backend stubs to start.
This was a (disabled) example of how easy it is to extend the Web GUI with
external tools. It conflicts with the goal of having well-defined
reporting API and schemas, so remove it for now. It can come back as
needed in the future with more up front thought.
Shrike is no longer used. Let's remove it to tighten up what's needed in
reporting functionality.

Note this requires a database migration. It should be the antithesis of
f111620bb8 which was added in add_shrike_and_parent_id_columns.py, but
there's a bug in the downgrade logic in that revision - "parent_sid" not
"parent_id".
The reporting changes will be substantial. This will keep diffs limited
ot the changes we care about, avoiding random line wraps because the
Python tooling ecosystem is obsessed with recreating the same thing over
and over again.
This will be used to get at process, process tree, and detection2pids
data.
- since shrike parameters were removed from parse_request_arguments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants