Skip to content

Commit

Permalink
[MRG] Merge pull request #685 from dfir-iris/ruff
Browse files Browse the repository at this point in the history
Ruff
  • Loading branch information
whikernel authored Jan 17, 2025
2 parents 79a16be + 2acf8c5 commit 0de658a
Show file tree
Hide file tree
Showing 34 changed files with 102 additions and 43 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ jobs:
steps:
- name: Check out iris
uses: actions/checkout@v4
- name: Check code with ruff
uses: astral-sh/ruff-action@v2
with:
args: check --output-format=github
src: ./source
- name: Build dockers
run: |
# TODO using the environment file from tests to build here.
Expand Down
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[tool.ruff.lint]
ignore = ["E402", "E711", "E712", "E721", "E722", "F821", "F841", "F541", "F403", "F401"]

Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

# revision identifiers, used by Alembic.
from app.alembic.alembic_utils import _table_has_column
from app.models import CompromiseStatus
from app.models.models import CompromiseStatus

revision = '4ecdfcb34f7c'
down_revision = 'a929ef458490'
Expand Down
2 changes: 1 addition & 1 deletion source/app/blueprints/access_controls.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
from app.iris_engine.access_control.utils import ac_fast_check_user_has_case_access
from app.iris_engine.access_control.utils import ac_get_effective_permissions_of_user
from app.iris_engine.utils.tracker import track_activity
from app.models import Cases
from app.models.cases import Cases
from app.models.authorization import Permissions
from app.models.authorization import CaseAccessLevel

Expand Down
4 changes: 2 additions & 2 deletions source/app/blueprints/rest/dim_tasks_routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
from app.models import CaseAssets
from app.models import CaseReceivedFile
from app.models import CaseTasks
from app.models import Cases
from app.models import CasesEvent
from app.models.cases import Cases
from app.models.cases import CasesEvent
from app.models import GlobalTasks
from app.models import Ioc
from app.models import Notes
Expand Down
2 changes: 1 addition & 1 deletion source/app/business/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from app.iris_engine.access_control.ldap_handler import ldap_authenticate
from app.iris_engine.access_control.utils import ac_get_effective_permissions_of_user
from app.iris_engine.utils.tracker import track_activity
from app.models import Cases
from app.models.cases import Cases
from app.schema.marshables import UserSchema

log = app.logger
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/activities/activities_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
from sqlalchemy import and_
from sqlalchemy import desc

from app.models import Cases
from app.models.cases import Cases
from app.models.authorization import User
from app.models.models import UserActivity

Expand Down
12 changes: 10 additions & 2 deletions source/app/datamgmt/alerts/alerts_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,16 @@
from app.datamgmt.states import update_timeline_state
from app.iris_engine.access_control.utils import ac_current_user_has_permission
from app.iris_engine.utils.common import parse_bf_date_format
from app.models import Cases, EventCategory, Tags, AssetsType, Comments, CaseAssets, alert_assets_association, \
alert_iocs_association, Ioc, Client
from app.models.cases import Cases
from app.models import EventCategory
from app.models import Tags
from app.models import AssetsType
from app.models import Comments
from app.models import CaseAssets
from app.models import alert_assets_association
from app.models import alert_iocs_association
from app.models import Ioc
from app.models import Client
from app.models.alerts import Alert, AlertStatus, AlertCaseAssociation, SimilarAlertsCache, AlertResolutionStatus, \
AlertSimilarity, Severity
from app.models.authorization import Permissions, User
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/case/case_assets_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
from app.models import AssetsType
from app.models import CaseAssets
from app.models import CaseEventsAssets
from app.models import Cases
from app.models.cases import Cases
from app.models import Comments
from app.models import CompromiseStatus
from app.models import Ioc
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/case/case_events_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from app.models import CaseEventCategory
from app.models import CaseEventsAssets
from app.models import CaseEventsIoc
from app.models import CasesEvent
from app.models.cases import CasesEvent
from app.models import Comments
from app.models import EventCategory
from app.models import EventComments
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/case/case_iocs_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from app import app
from app.datamgmt.states import update_ioc_state
from app.iris_engine.access_control.utils import ac_get_fast_user_cases_access
from app.models import Cases
from app.models.cases import Cases
from app.models import Client
from app.models import Comments
from app.models import Ioc
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/case/case_tasks_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
from app.datamgmt.states import update_tasks_state
from app.models import CaseTasks
from app.models import TaskAssignee
from app.models import Cases
from app.models.cases import Cases
from app.models import Comments
from app.models import TaskComments
from app.models import TaskStatus
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/client/client_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
from app import db
from app.datamgmt.exceptions.ElementExceptions import ElementInUseException
from app.datamgmt.exceptions.ElementExceptions import ElementNotFoundException
from app.models import Cases
from app.models.cases import Cases
from app.models import Client
from app.models import Contact
from app.models.authorization import User, UserClient
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/context/context_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from sqlalchemy import and_, case, or_, asc
from sqlalchemy import desc

from app.models import Cases
from app.models.cases import Cases
from app.models import Client
from app.models.authorization import CaseAccessLevel
from app.models.authorization import UserCaseEffectiveAccess
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/dashboard/dashboard_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

from app import db
from app.models import CaseTasks, TaskAssignee, ReviewStatus
from app.models import Cases
from app.models.cases import Cases
from app.models import GlobalTasks
from app.models import TaskStatus
from app.models.authorization import User
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/manage/manage_access_control_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

from app import ac_current_user_has_permission
from app.models import Cases
from app.models.cases import Cases
from app.models.authorization import Group
from app.models.authorization import UserClient
from app.models.authorization import Permissions
Expand Down
4 changes: 3 additions & 1 deletion source/app/datamgmt/manage/manage_assets_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@

import app
from app.datamgmt.manage.manage_cases_db import user_list_cases_view
from app.models import CaseAssets, Client, Cases
from app.models.cases import Cases
from app.models.models import CaseAssets
from app.models.models import Client


def get_filtered_assets(case_id=None,
Expand Down
4 changes: 2 additions & 2 deletions source/app/datamgmt/manage/manage_attribute_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
from app.models import CaseAssets
from app.models import CaseReceivedFile
from app.models import CaseTasks
from app.models import Cases
from app.models import CasesEvent
from app.models.cases import Cases
from app.models.cases import CasesEvent
from app.models import Client
from app.models import CustomAttribute
from app.models import Ioc
Expand Down
5 changes: 4 additions & 1 deletion source/app/datamgmt/manage/manage_case_templates_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@
from app.datamgmt.case.case_tasks_db import add_task
from app.datamgmt.manage.manage_case_classifications_db import get_case_classification_by_name
from app.iris_engine.module_handler.module_handler import call_modules_hook
from app.models import CaseTemplate, Cases, Tags, NoteDirectory
from app.models.cases import Cases
from app.models import CaseTemplate
from app.models import Tags
from app.models import NoteDirectory
from app.models.authorization import User
from app.schema.marshables import CaseSchema, CaseTaskSchema, CaseNoteDirectorySchema, CaseNoteSchema

Expand Down
4 changes: 2 additions & 2 deletions source/app/datamgmt/manage/manage_cases_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@
from app.models import CaseEventsIoc
from app.models import CaseReceivedFile
from app.models import CaseTasks
from app.models import Cases
from app.models import CasesEvent
from app.models.cases import Cases
from app.models.cases import CasesEvent
from app.models import Client
from app.models import DataStoreFile
from app.models import DataStorePath
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/manage/manage_groups_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from app.iris_engine.access_control.utils import ac_access_level_to_list
from app.iris_engine.access_control.utils import ac_auto_update_user_effective_access
from app.iris_engine.access_control.utils import ac_permission_to_list
from app.models import Cases
from app.models.cases import Cases
from app.models.authorization import Group
from app.models.authorization import GroupCaseAccess
from app.models.authorization import User
Expand Down
3 changes: 2 additions & 1 deletion source/app/datamgmt/manage/manage_users_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
from app.iris_engine.access_control.utils import ac_get_detailed_effective_permissions_from_groups
from app.iris_engine.access_control.utils import ac_remove_case_access_from_user
from app.iris_engine.access_control.utils import ac_set_case_access_for_user
from app.models import Cases, Client, UserActivity
from app.models.cases import Cases
from app.models import Client, UserActivity
from app.models.authorization import CaseAccessLevel, UserClient
from app.models.authorization import Group
from app.models.authorization import Organisation
Expand Down
2 changes: 1 addition & 1 deletion source/app/datamgmt/overview/overview_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

from app.datamgmt.case.case_tasks_db import get_tasks_cases_mapping
from app.datamgmt.manage.manage_cases_db import user_list_cases_view
from app.models import Cases
from app.models.cases import Cases
from app.schema.marshables import CaseDetailsSchema


Expand Down
4 changes: 2 additions & 2 deletions source/app/datamgmt/reporter/report_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
from app.models import CaseEventsIoc
from app.models import CaseReceivedFile
from app.models import CaseTasks
from app.models import Cases
from app.models import CasesEvent
from app.models.cases import Cases
from app.models.cases import CasesEvent
from app.models import Comments
from app.models import EventCategory
from app.models import Ioc
Expand Down
2 changes: 1 addition & 1 deletion source/app/iris_engine/access_control/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import app
from app import db
from app.datamgmt.manage.manage_access_control_db import check_ua_case_client
from app.models import Cases
from app.models.cases import Cases
from app.models import Client
from app.models.authorization import CaseAccessLevel
from app.models.authorization import UserClient
Expand Down
2 changes: 1 addition & 1 deletion source/app/iris_engine/demo_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
from app.datamgmt.manage.manage_users_db import add_user_to_organisation
from app.datamgmt.manage.manage_users_db import user_exists
from app.iris_engine.access_control.utils import ac_add_users_multi_effective_access
from app.models import Cases
from app.models.cases import Cases
from app.models import Client
from app.models import get_or_create
from app.models.authorization import CaseAccessLevel
Expand Down
2 changes: 1 addition & 1 deletion source/app/iris_engine/reporter/reporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
from app.models import CaseEventsAssets
from app.models import CaseReceivedFile
from app.models import CaseTemplateReport
from app.models import CasesEvent
from app.models.cases import CasesEvent
from app.models import Ioc
from app.models import IocAssetLink

Expand Down
1 change: 0 additions & 1 deletion source/app/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from app.models.models import ObjectState
from app.models.cases import Cases
from app.models.cases import CasesEvent
from app.models.cases import Client
from app.models.models import *
Expand Down
24 changes: 22 additions & 2 deletions source/app/models/alerts.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,27 @@
# IRIS Source Code
# Copyright (C) 2024 - DFIR-IRIS
# [email protected]
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

from datetime import datetime

import uuid
from sqlalchemy.dialects.postgresql import JSON
from sqlalchemy import BigInteger, Table, Boolean, String
from sqlalchemy import BigInteger
from sqlalchemy import String
from sqlalchemy import Column
from sqlalchemy import DateTime
from sqlalchemy import ForeignKey
Expand All @@ -13,7 +32,8 @@
from sqlalchemy.orm import relationship

from app import db
from app.models import alert_assets_association, alert_iocs_association
from app.models import alert_assets_association
from app.models import alert_iocs_association


class AlertCaseAssociation(db.Model):
Expand Down
18 changes: 18 additions & 0 deletions source/app/models/authorization.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
# IRIS Source Code
# Copyright (C) 2024 - DFIR-IRIS
# [email protected]
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

import enum
import secrets
import uuid
Expand Down
7 changes: 4 additions & 3 deletions source/app/models/cases.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@

from datetime import datetime
from flask_login import current_user
# IMPORTS ------------------------------------------------
from sqlalchemy import BigInteger, CheckConstraint
from sqlalchemy import BigInteger
from sqlalchemy import CheckConstraint
from sqlalchemy import Boolean
from sqlalchemy import Column
from sqlalchemy import Date
Expand All @@ -34,7 +34,8 @@
from sqlalchemy.dialects.postgresql import JSON
from sqlalchemy.dialects.postgresql import JSONB
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship, backref
from sqlalchemy.orm import relationship
from sqlalchemy.orm import backref

from app import db
from app.datamgmt.states import update_assets_state
Expand Down
1 change: 0 additions & 1 deletion source/app/models/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,6 @@ def get_or_create(session, model, **kwargs):
return instance


# CONTENT ------------------------------------------------
class Client(db.Model):
__tablename__ = 'client'

Expand Down
2 changes: 1 addition & 1 deletion source/app/post_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
from app.iris_engine.module_handler.module_handler import check_module_health
from app.iris_engine.module_handler.module_handler import instantiate_module_from_name
from app.iris_engine.module_handler.module_handler import register_module
from app.models import create_safe_limited
from app.models.models import create_safe_limited
from app.models.alerts import Severity, AlertStatus, AlertResolutionStatus
from app.models.authorization import CaseAccessLevel
from app.models.authorization import Group
Expand Down
10 changes: 5 additions & 5 deletions source/app/schema/marshables.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@
from app.models import CaseAssets
from app.models import CaseReceivedFile
from app.models import CaseTasks
from app.models import Cases
from app.models import CasesEvent
from app.models.cases import Cases
from app.models.cases import CasesEvent
from app.models import Client
from app.models import Comments
from app.models import Contact
Expand All @@ -81,9 +81,9 @@
from app.models import IrisModule
from app.models import Notes
from app.models import NotesGroup
from app.models import ServerSettings
from app.models import TaskStatus
from app.models import Tlp
from app.models.models import ServerSettings
from app.models.models import TaskStatus
from app.models.models import Tlp
from app.models.alerts import Alert
from app.models.alerts import Severity
from app.models.alerts import AlertStatus
Expand Down

0 comments on commit 0de658a

Please sign in to comment.