-
Notifications
You must be signed in to change notification settings - Fork 161
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
New Turbinia LLM analyzer, LLM lib interface and LLM lib implemntation for VertexAI #1441
Conversation
Excellent @sa3eed3ed - I have assigned myself and will review before EOW. |
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.
Initial pass. ptal.
Drive-by comment: could we specify a minimum version of the new dependencies in pyproject.toml with "^x.y.z" instead of "*"? That way we are less likely to run into dependency breakages down the line. There's also an open PR that will remove most GCP library dependencies from the Turbinia code base. From what I can tell, the vertexAI package only depends on google-api-core which would be kept anyway so it's not a problem. |
Done, added version, I thought even if google-api-core is removed from pyproject.toml the poetry.lock file will have all the deps needed by vertexAI package |
Yes, it will have the dependencies. My point was just to add a version, nothing else is needed. :) the core lib is included in libcloudforwnsics dependencies as well , which is already in the tonl file |
Thanks @sa3eed3ed. I have reviewed and tested the PR, looks pretty cool, looking forward to getting more real life results! I have no other review comments.
|
@aarontp - before I merge this can I get your opinion on the inclusion of this analyser in all triage recipes? |
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.
LGTM
For future ideas regarding this analyser:
|
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.
Cool analysis task! I just left a drive by comment about potentially consolidating at least the extraction tasks.
Do we have any data about how long it takes to run on a typical input disk? Assuming it doesn't take too long to run, generally I would say it makes sense to include it anywhere we are including the other analysis tasks, which at the moment are not in the triage recipes as defined by the |
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.
Drive by comment, sorry for freelancing :)
It's fast, faster than plaso. FileExtraction is fast as the artifact definitions are pretty specific and VertexAI calling is fast as well. It will be done faster than the plaso task that is ran in parallel. |
… to avoid redundent processing by several analyzers that process the same artifacts
…ully when config is missing, some more useful comments and docs
Co-authored-by: Johan Berggren <[email protected]>
Co-authored-by: Johan Berggren <[email protected]>
Removed from Triage recipes |
Ran local tests and looks good. One final nit.
After that I'll do a final check if the e2e tests run fine and will approve/merge |
done, I made the timeout 3600 matching default turbinia/turbinia/job_utils.py Line 34 in d8c7377
I don't expect it to take 1 hour, but there seem to be many other jobs with longer timeouts but if you think this might be problematic feel free to amend |
Local e2e (with api key added) run good. I am going to approve and merge, we can tune based on real world usage results. |
…on for VertexAI (google#1441) New Turbinia LLM analyzer, LLM lib interface and LLM lib implementation for VertexAI * New LLM lib interface * LLM lib for Vertex AI (using Gemini pro 1.0 model) * Interface can be extended or implemented for other LLM providers * New configs for Vertex AI * LLM_PROVIDER config value can be used to choose LLM provider (currently only Vertex AI) * New Job to analyze history, log and config files using LLM * New evidence type (ExportedFileArtifactLLM) for FileArtifactExtractionTask to avoid redundant procesing of artifacts between LLM analyzer and other analyzers using same artifacts * Files to analyze are extracted using FileArtifactExtractionTask, i.e. all artifacts supported by image_exporter.py are supported * Tested end to end using evidence/artifact_disk.dd
New Turbinia LLM analyzer, LLM lib interface and LLM lib implementation for VertexAI
please assign to @hacktobeer for review, he is aware of this work