-
-
Notifications
You must be signed in to change notification settings - Fork 451
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
[Analyzer] UltraDNS #1783 #2620
base: develop
Are you sure you want to change the base?
Conversation
Signed-off-by: pranjalg1331 <pranjaloff13@gmail.com>
f2cd1e8
to
5b5bafd
Compare
@mlodic, Please review. |
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.
please review the checklist, some important steps are missing
except Exception as e: | ||
raise AnalyzerRunException(f"An error occurred: {e}") |
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.
this is not needed cause the framework already manages it in this way (the upper class)
try: | ||
answers = resolver.resolve(observable, "A") | ||
for rdata in answers: | ||
resolution = rdata.to_text() | ||
# Check if the resolution falls in the sinkhole range | ||
if ipaddress.ip_address(resolution) in sinkhole_range: | ||
is_malicious = True | ||
break | ||
except dns.exception.Timeout: | ||
# If primary DNS times out, try backup DNS | ||
resolver.nameservers = [backup_dns] | ||
try: | ||
answers = resolver.resolve(observable, "A") | ||
for rdata in answers: | ||
resolution = rdata.to_text() | ||
if ipaddress.ip_address(resolution) in sinkhole_range: | ||
is_malicious = True | ||
break | ||
except dns.exception.Timeout: | ||
raise AnalyzerRunException("Connection to UltraDNS failed") |
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.
optimize this code cause redundant. I think that you could list both the nameservers together in the list
@@ -0,0 +1,34 @@ | |||
# This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl |
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.
please merge these 2 migrations in a single one
@@ -0,0 +1,128 @@ | |||
from django.db import migrations |
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.
merge these 2 migrations in a single one and adjust the migration numbers (pull from develop to get the most recent changes)
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.
@mlodic Should I merge them manually or there is an option to auto-generate migration for two analyzers in the same file?
Currently I was using this command docker exec -ti intelowl_uwsgi python3 manage.py dumpplugin AnalyzerConfig <new_analyzer_name>
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.
ok I don't want to overcomplicate things. I am more bothered about the 2 playbooks migrations. Try to merge them manually (it is easy), while leave these analyzers migrations separated for sake of simplicity
Description
I have added two analyzers for UltraDNS ( ultradns resolver and ultradns malicious detector). I have added the migration files for both of the analysers and have also added the migration files to add them both to the free_to_use playbook.
Type of change
Please delete options that are not relevant.
Checklist
develop
dumpplugin
command and added it in the project as a data migration. ("How to share a plugin with the community")test_files.zip
and you added the default tests for that mimetype in test_classes.py.FREE_TO_USE_ANALYZERS
playbook by following this guide.url
that contains this information. This is required for Health Checks._monkeypatch()
was used in its class to apply the necessary decorators.MockUpResponse
of the_monkeypatch()
method. This serves us to provide a valid sample for testing.Black
,Flake
,Isort
) gave 0 errors. If you have correctly installed pre-commit, it does these checks and adjustments on your behalf.tests
folder). All the tests (new and old ones) gave 0 errors.DeepSource
,Django Doctors
or other third-party linters have triggered any alerts during the CI checks, I have solved those alerts.Important Rules