Skip to content

Commit

Permalink
Precommit fixes (#137)
Browse files Browse the repository at this point in the history
* precommits

* precommit adjustments
  • Loading branch information
taylorwalton authored Feb 9, 2024
1 parent 46da51c commit c599b70
Show file tree
Hide file tree
Showing 214 changed files with 1,875 additions and 1,786 deletions.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ repos:
- id: check-json
- id: trailing-whitespace
- id: check-added-large-files
- id: detect-private-key
#- id: detect-private-key # Not using since uploading nginx key
- id: requirements-txt-fixer
args: ["backend/requirements.txt", "backend/requirements.in"]

Expand Down
5 changes: 3 additions & 2 deletions backend/app/agents/dfir_iris/services/cases.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from typing import List

from loguru import logger
from sqlalchemy.ext.asyncio import AsyncSession

from app.agents.dfir_iris.schema.cases import AssetCaseIDResponse
from app.connectors.dfir_iris.services.assets import get_case_assets
from app.connectors.dfir_iris.services.cases import get_all_cases
from loguru import logger
from sqlalchemy.ext.asyncio import AsyncSession


async def collect_agent_soc_cases(
Expand Down
33 changes: 17 additions & 16 deletions backend/app/agents/routes/agents.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
from fastapi import APIRouter
from fastapi import BackgroundTasks
from fastapi import Depends
from fastapi import HTTPException
from fastapi import Security
from loguru import logger
from sqlalchemy import delete
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.future import select

from app.agents.dfir_iris.services.cases import collect_agent_soc_cases
from app.agents.schema.agents import (
AgentModifyResponse,
AgentsResponse,
OutdatedVelociraptorAgentsResponse,
OutdatedWazuhAgentsResponse,
SyncedAgentsResponse,
)
from app.agents.services.status import (
get_outdated_agents_velociraptor,
get_outdated_agents_wazuh,
)
from app.agents.schema.agents import AgentModifyResponse
from app.agents.schema.agents import AgentsResponse
from app.agents.schema.agents import OutdatedVelociraptorAgentsResponse
from app.agents.schema.agents import OutdatedWazuhAgentsResponse
from app.agents.schema.agents import SyncedAgentsResponse
from app.agents.services.status import get_outdated_agents_velociraptor
from app.agents.services.status import get_outdated_agents_wazuh
from app.agents.services.sync import sync_agents
from app.agents.velociraptor.services.agents import delete_agent_velociraptor
from app.agents.wazuh.schema.agents import WazuhAgentVulnerabilitiesResponse
Expand All @@ -23,11 +29,6 @@
# App specific imports
# from app.db.db_session import session
from app.db.universal_models import Agents
from fastapi import APIRouter, BackgroundTasks, Depends, HTTPException, Security
from loguru import logger
from sqlalchemy import delete
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.future import select

agents_router = APIRouter()

Expand Down
4 changes: 3 additions & 1 deletion backend/app/agents/schema/agents.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
from typing import List

from pydantic import BaseModel
from pydantic import Field

from app.agents.velociraptor.schema.agents import VelociraptorAgent
from app.agents.wazuh.schema.agents import WazuhAgent
from app.db.universal_models import Agents
from pydantic import BaseModel, Field


class AgentsResponse(BaseModel):
Expand Down
3 changes: 2 additions & 1 deletion backend/app/agents/services/modify.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from fastapi import HTTPException

import app.agents.wazuh.services.agents as wazuh_services
from app.db.db_session import session
from app.db.universal_models import Agents
from fastapi import HTTPException


def delete_agent_db(agent_id: str):
Expand Down
19 changes: 7 additions & 12 deletions backend/app/agents/services/status.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
from typing import List

from app.agents.schema.agents import (
OutdatedVelociraptorAgentsResponse,
OutdatedWazuhAgentsResponse,
)
from app.connectors.velociraptor.utils.universal import UniversalService
from app.db.db_session import session
from app.db.universal_models import Agents
from fastapi import HTTPException
from loguru import logger
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.future import select

from app.agents.schema.agents import OutdatedVelociraptorAgentsResponse
from app.agents.schema.agents import OutdatedWazuhAgentsResponse
from app.connectors.velociraptor.utils.universal import UniversalService
from app.db.db_session import session
from app.db.universal_models import Agents


def get_agent(agent_id: str) -> List[Agents]:
"""
Expand Down Expand Up @@ -100,11 +99,7 @@ async def get_outdated_agents_velociraptor(
)
agents_result = await session.execute(select(Agents))
agents = agents_result.scalars().all()
outdated_velociraptor_agents = [
agent
for agent in agents
if agent.velociraptor_agent_version != server_version
]
outdated_velociraptor_agents = [agent for agent in agents if agent.velociraptor_agent_version != server_version]

return OutdatedVelociraptorAgentsResponse(
message="Outdated Velociraptor agents fetched successfully.",
Expand Down
13 changes: 8 additions & 5 deletions backend/app/agents/services/sync.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
from typing import List

from loguru import logger
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.future import select

import app.agents.velociraptor.services.agents as velociraptor_services
import app.agents.wazuh.services.agents as wazuh_services
from app.agents.schema.agents import SyncedAgent, SyncedAgentsResponse
from app.agents.schema.agents import SyncedAgent
from app.agents.schema.agents import SyncedAgentsResponse
from app.agents.velociraptor.schema.agents import VelociraptorAgent
from app.agents.wazuh.schema.agents import WazuhAgent, WazuhAgentsList
from app.agents.wazuh.schema.agents import WazuhAgent
from app.agents.wazuh.schema.agents import WazuhAgentsList
from app.connectors.models import Connectors
from app.db.universal_models import Agents
from loguru import logger
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.future import select


async def fetch_wazuh_agents() -> WazuhAgentsList:
Expand Down
3 changes: 2 additions & 1 deletion backend/app/agents/velociraptor/schema/agents.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from datetime import datetime
from typing import Optional

from pydantic import BaseModel, Field
from pydantic import BaseModel
from pydantic import Field


class VelociraptorAgent(BaseModel):
Expand Down
9 changes: 4 additions & 5 deletions backend/app/agents/velociraptor/services/agents.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from datetime import datetime

from fastapi import HTTPException
from loguru import logger

from app.agents.schema.agents import AgentModifyResponse
from app.agents.velociraptor.schema.agents import VelociraptorAgent
from app.connectors.velociraptor.utils.universal import UniversalService
from fastapi import HTTPException
from loguru import logger


def create_query(query: str) -> str:
Expand Down Expand Up @@ -45,9 +46,7 @@ async def collect_velociraptor_agent(agent_name: str) -> VelociraptorAgent:
)

try:
vql_last_seen_at = (
f"select last_seen_at from clients(search='host:{agent_name}')"
)
vql_last_seen_at = f"select last_seen_at from clients(search='host:{agent_name}')"
last_seen_at = await velociraptor_service._get_last_seen_timestamp(
vql_last_seen_at,
)
Expand Down
6 changes: 4 additions & 2 deletions backend/app/agents/wazuh/schema/agents.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
from datetime import datetime
from typing import List, Optional
from typing import List
from typing import Optional

from pydantic import BaseModel, Field
from pydantic import BaseModel
from pydantic import Field


class WazuhAgent(BaseModel):
Expand Down
18 changes: 7 additions & 11 deletions backend/app/agents/wazuh/services/agents.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
from app.agents.schema.agents import AgentModifyResponse
from app.agents.wazuh.schema.agents import WazuhAgent, WazuhAgentsList
from app.connectors.wazuh_manager.utils.universal import (
send_delete_request,
send_get_request,
)
from fastapi import HTTPException
from loguru import logger

from app.agents.schema.agents import AgentModifyResponse
from app.agents.wazuh.schema.agents import WazuhAgent
from app.agents.wazuh.schema.agents import WazuhAgentsList
from app.connectors.wazuh_manager.utils.universal import send_delete_request
from app.connectors.wazuh_manager.utils.universal import send_get_request


async def collect_wazuh_agents() -> WazuhAgentsList:
"""
Expand All @@ -29,11 +29,7 @@ async def collect_wazuh_agents() -> WazuhAgentsList:
try:
if agents_collected.get("success"):
wazuh_agents_list = []
for agent in (
agents_collected.get("data", {})
.get("data", {})
.get("affected_items", [])
):
for agent in agents_collected.get("data", {}).get("data", {}).get("affected_items", []):
os_name = agent.get("os", {}).get("name", "Unknown")
last_keep_alive = agent.get("lastKeepAlive", "Unknown")
agent_group_list = agent.get("group", [])
Expand Down
9 changes: 4 additions & 5 deletions backend/app/agents/wazuh/services/vulnerabilities.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
from typing import List

from app.agents.wazuh.schema.agents import (
WazuhAgentVulnerabilities,
WazuhAgentVulnerabilitiesResponse,
)
from app.connectors.wazuh_manager.utils.universal import send_get_request
from fastapi import HTTPException
from loguru import logger

from app.agents.wazuh.schema.agents import WazuhAgentVulnerabilities
from app.agents.wazuh.schema.agents import WazuhAgentVulnerabilitiesResponse
from app.connectors.wazuh_manager.utils.universal import send_get_request


async def collect_agent_vulnerabilities(agent_id: str):
"""
Expand Down
8 changes: 6 additions & 2 deletions backend/app/auth/models/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@
from typing import Optional

import bcrypt
from pydantic import BaseModel, EmailStr, validator
from sqlmodel import Field, Relationship, SQLModel
from pydantic import BaseModel
from pydantic import EmailStr
from pydantic import validator
from sqlmodel import Field
from sqlmodel import Relationship
from sqlmodel import SQLModel


class Role(SQLModel, table=True):
Expand Down
32 changes: 19 additions & 13 deletions backend/app/auth/routes/auth.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@
from datetime import timedelta

from app.auth.models.users import (
PasswordReset,
PasswordResetToken,
User,
UserInput,
UserLogin,
)
from app.auth.schema.auth import Token, UserLoginResponse, UserResponse
from app.auth.schema.user import UserBaseResponse
from app.auth.services.universal import find_user, select_all_users
from app.auth.utils import AuthHandler
from app.db.db_session import get_db
from fastapi import APIRouter, Depends, HTTPException, Security, status
from fastapi import APIRouter
from fastapi import Depends
from fastapi import HTTPException
from fastapi import Security
from fastapi import status
from fastapi.security import OAuth2PasswordRequestForm
from loguru import logger
from sqlalchemy.ext.asyncio import AsyncSession

from app.auth.models.users import PasswordReset
from app.auth.models.users import PasswordResetToken
from app.auth.models.users import User
from app.auth.models.users import UserInput
from app.auth.models.users import UserLogin
from app.auth.schema.auth import Token
from app.auth.schema.auth import UserLoginResponse
from app.auth.schema.auth import UserResponse
from app.auth.schema.user import UserBaseResponse
from app.auth.services.universal import find_user
from app.auth.services.universal import select_all_users
from app.auth.utils import AuthHandler
from app.db.db_session import get_db

ACCESS_TOKEN_EXPIRE_MINUTES = 1440

auth_router = APIRouter()
Expand Down
3 changes: 2 additions & 1 deletion backend/app/auth/schema/user.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from typing import List

from pydantic import BaseModel, EmailStr
from pydantic import BaseModel
from pydantic import EmailStr


class UserBase(BaseModel):
Expand Down
7 changes: 5 additions & 2 deletions backend/app/auth/services/universal.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
from app.auth.models.users import Password, Role, User
from app.db.db_session import async_engine
from loguru import logger

# ! New with Async
from sqlalchemy.ext.asyncio import AsyncSession
from sqlmodel import select

from app.auth.models.users import Password
from app.auth.models.users import Role
from app.auth.models.users import User
from app.db.db_session import async_engine

passwords_in_memory = {}


Expand Down
13 changes: 9 additions & 4 deletions backend/app/auth/utils.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
from datetime import datetime, timedelta
from datetime import datetime
from datetime import timedelta

import jwt
from app.auth.services.universal import find_user, get_role
from fastapi import Depends, HTTPException
from fastapi.security import OAuth2PasswordBearer, SecurityScopes
from fastapi import Depends
from fastapi import HTTPException
from fastapi.security import OAuth2PasswordBearer
from fastapi.security import SecurityScopes
from loguru import logger
from passlib.context import CryptContext

from app.auth.services.universal import find_user
from app.auth.services.universal import get_role


class AuthHandler:
security = OAuth2PasswordBearer(
Expand Down
19 changes: 11 additions & 8 deletions backend/app/connectors/cortex/routes/analyzers.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
from typing import List

from app.auth.utils import AuthHandler
from app.connectors.cortex.schema.analyzers import (
AnalyzersResponse,
RunAnalyzerBody,
RunAnalyzerResponse,
)
from app.connectors.cortex.services.analyzers import get_analyzers, run_analyzer
from fastapi import APIRouter, Depends, HTTPException, Security
from fastapi import APIRouter
from fastapi import Depends
from fastapi import HTTPException
from fastapi import Security
from loguru import logger

from app.auth.utils import AuthHandler
from app.connectors.cortex.schema.analyzers import AnalyzersResponse
from app.connectors.cortex.schema.analyzers import RunAnalyzerBody
from app.connectors.cortex.schema.analyzers import RunAnalyzerResponse
from app.connectors.cortex.services.analyzers import get_analyzers
from app.connectors.cortex.services.analyzers import run_analyzer

# App specific imports


Expand Down
10 changes: 8 additions & 2 deletions backend/app/connectors/cortex/schema/analyzers.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
import ipaddress
import re
from typing import Any, Dict, List, Optional, Tuple
from typing import Any
from typing import Dict
from typing import List
from typing import Optional
from typing import Tuple

from pydantic import BaseModel, Field, validator
from pydantic import BaseModel
from pydantic import Field
from pydantic import validator

HASH_REGEX = re.compile(
r"[a-fA-F\d]{32}|[a-fA-F\d]{64}",
Expand Down
Loading

0 comments on commit c599b70

Please sign in to comment.