Add IsMalicious observable analyzer. Closes #3935 - #3936
Open
hexablob wants to merge 1 commit into
Open
Conversation
Closes intelowlproject#3935 Co-authored-by: Cursor <cursoragent@cursor.com>
Author
|
Ready for review. Analyzer + dumpplugin-style migration + mocked unit test. API key required, so not added to FREE_TO_USE_ANALYZERS. Happy to add a DataModel and a docs PR to intelowlproject/docs once this shape is accepted. |
Member
|
to me it is fine but please share a screenshot that it is working from a local installation too please |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add an official observable analyzer for isMalicious (
GET /check) coveringip,domain, andurl.Related: #3935
I have reviewed and verified the LLM-assisted scaffolding for this PR (migration boilerplate matches existing dumpplugin migrations such as Rdap / IPQS). The HTTP client, headers, and unit test are checked against the public
/checkcontract.Type of change
Checklist
developurloverride only; happy to add a docs line if maintainers want it.dumpplugincommand and added it in the project as a data migration. (Hand-written in the dumpplugin format used by0194_analyzer_config_rdap.py/0191_analyzer_config_ipqs_malware_file_scanner.pybecause this contribution is made out of tree.)test_files.zipand you added the default tests for that mimetype in test_classes.py. (observable analyzer)FREE_TO_USE_ANALYZERSplaybook by following this guide. Requires an API key — not added to FREE_TO_USE.urlthat contains this information. This is required for Health Checks (HEAD HTTP requests).get_mocker_response()method of the unittest class. This serves us to provide a valid sample for testing.DataModelfor the new analyzer following the documentation — omitted for v1, same as several existing reputation analyzers; happy to add one if maintainers prefer.requestsonly (already a project dependency).Ruff) gave 0 errors. (will address CI)testsfolder). All the tests (new and old ones) gave 0 errors.DeepSource,Django Doctorsor other third-party linters have triggered any alerts during the CI checks, I have solved those alerts.Sample report JSON
{ "malicious": true, "riskScore": { "score": 80, "level": "high" }, "categories": ["c2"], "sources": [{ "name": "feed-a" }], "query": "8.8.8.8" }Screenshot will follow from a local IntelOwl job once CI is green (requires an API key in secrets).