DeWitt Gibson commited on
Commit
93db655
·
1 Parent(s): 0ed66a5

Action fix

Browse files
Files changed (49) hide show
  1. src/llmguardian/__init__.py +4 -3
  2. src/llmguardian/agency/__init__.py +2 -2
  3. src/llmguardian/agency/action_validator.py +2 -1
  4. src/llmguardian/agency/executor.py +2 -1
  5. src/llmguardian/agency/permission_manager.py +2 -1
  6. src/llmguardian/agency/scope_limiter.py +2 -1
  7. src/llmguardian/api/__init__.py +1 -1
  8. src/llmguardian/api/app.py +1 -0
  9. src/llmguardian/api/models.py +4 -3
  10. src/llmguardian/api/routes.py +4 -2
  11. src/llmguardian/api/security.py +4 -3
  12. src/llmguardian/cli/cli_interface.py +9 -8
  13. src/llmguardian/core/__init__.py +9 -9
  14. src/llmguardian/core/config.py +9 -7
  15. src/llmguardian/core/events.py +4 -3
  16. src/llmguardian/core/exceptions.py +3 -3
  17. src/llmguardian/core/logger.py +2 -2
  18. src/llmguardian/core/monitoring.py +6 -5
  19. src/llmguardian/core/rate_limiter.py +10 -8
  20. src/llmguardian/core/scanners/prompt_injection_scanner.py +6 -5
  21. src/llmguardian/core/security.py +4 -2
  22. src/llmguardian/core/validation.py +3 -2
  23. src/llmguardian/dashboard/app.py +11 -10
  24. src/llmguardian/data/leak_detector.py +5 -4
  25. src/llmguardian/data/poison_detector.py +8 -6
  26. src/llmguardian/data/privacy_guard.py +9 -7
  27. src/llmguardian/defenders/__init__.py +2 -2
  28. src/llmguardian/defenders/content_filter.py +3 -2
  29. src/llmguardian/defenders/context_validator.py +4 -3
  30. src/llmguardian/defenders/input_sanitizer.py +3 -2
  31. src/llmguardian/defenders/output_validator.py +3 -2
  32. src/llmguardian/defenders/test_context_validator.py +4 -2
  33. src/llmguardian/defenders/token_validator.py +6 -4
  34. src/llmguardian/monitors/__init__.py +3 -3
  35. src/llmguardian/monitors/audit_monitor.py +5 -4
  36. src/llmguardian/monitors/behavior_monitor.py +3 -2
  37. src/llmguardian/monitors/performance_monitor.py +5 -4
  38. src/llmguardian/monitors/threat_detector.py +5 -4
  39. src/llmguardian/monitors/usage_monitor.py +6 -4
  40. src/llmguardian/scanners/prompt_injection_scanner.py +3 -3
  41. src/llmguardian/vectors/__init__.py +1 -1
  42. src/llmguardian/vectors/embedding_validator.py +6 -4
  43. src/llmguardian/vectors/retrieval_guard.py +8 -6
  44. src/llmguardian/vectors/storage_validator.py +8 -6
  45. src/llmguardian/vectors/vector_scanner.py +7 -5
  46. tests/conftest.py +6 -4
  47. tests/data/test_privacy_guard.py +7 -5
  48. tests/unit/test_prompt_injection_scanner.py +3 -2
  49. tests/utils/test_utils.py +2 -1
src/llmguardian/__init__.py CHANGED
@@ -7,13 +7,14 @@ __version__ = "1.4.0"
7
  __author__ = "dewitt4"
8
  __license__ = "Apache-2.0"
9
 
10
- from typing import List, Dict, Optional
11
 
12
- # Package level imports
13
- from .scanners.prompt_injection_scanner import PromptInjectionScanner
14
  from .core.config import Config
15
  from .core.logger import setup_logging
16
 
 
 
 
17
  # Initialize logging
18
  setup_logging()
19
 
 
7
  __author__ = "dewitt4"
8
  __license__ = "Apache-2.0"
9
 
10
+ from typing import Dict, List, Optional
11
 
 
 
12
  from .core.config import Config
13
  from .core.logger import setup_logging
14
 
15
+ # Package level imports
16
+ from .scanners.prompt_injection_scanner import PromptInjectionScanner
17
+
18
  # Initialize logging
19
  setup_logging()
20
 
src/llmguardian/agency/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
  # src/llmguardian/agency/__init__.py
2
- from .permission_manager import PermissionManager
3
  from .action_validator import ActionValidator
4
- from .scope_limiter import ScopeLimiter
5
  from .executor import SafeExecutor
 
 
 
1
  # src/llmguardian/agency/__init__.py
 
2
  from .action_validator import ActionValidator
 
3
  from .executor import SafeExecutor
4
+ from .permission_manager import PermissionManager
5
+ from .scope_limiter import ScopeLimiter
src/llmguardian/agency/action_validator.py CHANGED
@@ -1,7 +1,8 @@
1
  # src/llmguardian/agency/action_validator.py
2
- from typing import Dict, List, Optional
3
  from dataclasses import dataclass
4
  from enum import Enum
 
 
5
  from ..core.logger import SecurityLogger
6
 
7
 
 
1
  # src/llmguardian/agency/action_validator.py
 
2
  from dataclasses import dataclass
3
  from enum import Enum
4
+ from typing import Dict, List, Optional
5
+
6
  from ..core.logger import SecurityLogger
7
 
8
 
src/llmguardian/agency/executor.py CHANGED
@@ -1,6 +1,7 @@
1
  # src/llmguardian/agency/executor.py
2
- from typing import Dict, Any, Optional
3
  from dataclasses import dataclass
 
 
4
  from ..core.logger import SecurityLogger
5
  from .action_validator import Action, ActionValidator
6
  from .permission_manager import PermissionManager
 
1
  # src/llmguardian/agency/executor.py
 
2
  from dataclasses import dataclass
3
+ from typing import Any, Dict, Optional
4
+
5
  from ..core.logger import SecurityLogger
6
  from .action_validator import Action, ActionValidator
7
  from .permission_manager import PermissionManager
src/llmguardian/agency/permission_manager.py CHANGED
@@ -1,7 +1,8 @@
1
  # src/llmguardian/agency/permission_manager.py
2
- from typing import Dict, List, Optional, Set
3
  from dataclasses import dataclass
4
  from enum import Enum
 
 
5
  from ..core.logger import SecurityLogger
6
 
7
 
 
1
  # src/llmguardian/agency/permission_manager.py
 
2
  from dataclasses import dataclass
3
  from enum import Enum
4
+ from typing import Dict, List, Optional, Set
5
+
6
  from ..core.logger import SecurityLogger
7
 
8
 
src/llmguardian/agency/scope_limiter.py CHANGED
@@ -1,7 +1,8 @@
1
  # src/llmguardian/agency/scope_limiter.py
2
- from typing import Dict, List, Optional, Set
3
  from dataclasses import dataclass
4
  from enum import Enum
 
 
5
  from ..core.logger import SecurityLogger
6
 
7
 
 
1
  # src/llmguardian/agency/scope_limiter.py
 
2
  from dataclasses import dataclass
3
  from enum import Enum
4
+ from typing import Dict, List, Optional, Set
5
+
6
  from ..core.logger import SecurityLogger
7
 
8
 
src/llmguardian/api/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
  # src/llmguardian/api/__init__.py
2
- from .routes import router
3
  from .models import SecurityRequest, SecurityResponse
 
4
  from .security import SecurityMiddleware
 
1
  # src/llmguardian/api/__init__.py
 
2
  from .models import SecurityRequest, SecurityResponse
3
+ from .routes import router
4
  from .security import SecurityMiddleware
src/llmguardian/api/app.py CHANGED
@@ -1,6 +1,7 @@
1
  # src/llmguardian/api/app.py
2
  from fastapi import FastAPI
3
  from fastapi.middleware.cors import CORSMiddleware
 
4
  from .routes import router
5
  from .security import SecurityMiddleware
6
 
 
1
  # src/llmguardian/api/app.py
2
  from fastapi import FastAPI
3
  from fastapi.middleware.cors import CORSMiddleware
4
+
5
  from .routes import router
6
  from .security import SecurityMiddleware
7
 
src/llmguardian/api/models.py CHANGED
@@ -1,8 +1,9 @@
1
  # src/llmguardian/api/models.py
2
- from pydantic import BaseModel
3
- from typing import List, Optional, Dict, Any
4
- from enum import Enum
5
  from datetime import datetime
 
 
 
 
6
 
7
 
8
  class SecurityLevel(str, Enum):
 
1
  # src/llmguardian/api/models.py
 
 
 
2
  from datetime import datetime
3
+ from enum import Enum
4
+ from typing import Any, Dict, List, Optional
5
+
6
+ from pydantic import BaseModel
7
 
8
 
9
  class SecurityLevel(str, Enum):
src/llmguardian/api/routes.py CHANGED
@@ -1,9 +1,11 @@
1
  # src/llmguardian/api/routes.py
2
- from fastapi import APIRouter, Depends, HTTPException
3
  from typing import List
4
- from .models import SecurityRequest, SecurityResponse, PrivacyRequest, VectorRequest
 
 
5
  from ..data.privacy_guard import PrivacyGuard
6
  from ..vectors.vector_scanner import VectorScanner
 
7
  from .security import verify_token
8
 
9
  router = APIRouter()
 
1
  # src/llmguardian/api/routes.py
 
2
  from typing import List
3
+
4
+ from fastapi import APIRouter, Depends, HTTPException
5
+
6
  from ..data.privacy_guard import PrivacyGuard
7
  from ..vectors.vector_scanner import VectorScanner
8
+ from .models import PrivacyRequest, SecurityRequest, SecurityResponse, VectorRequest
9
  from .security import verify_token
10
 
11
  router = APIRouter()
src/llmguardian/api/security.py CHANGED
@@ -1,10 +1,11 @@
1
  # src/llmguardian/api/security.py
2
- from fastapi import HTTPException, Security
3
- from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
4
- import jwt
5
  from datetime import datetime, timedelta
6
  from typing import Optional
7
 
 
 
 
 
8
  security = HTTPBearer()
9
 
10
 
 
1
  # src/llmguardian/api/security.py
 
 
 
2
  from datetime import datetime, timedelta
3
  from typing import Optional
4
 
5
+ import jwt
6
+ from fastapi import HTTPException, Security
7
+ from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
8
+
9
  security = HTTPBearer()
10
 
11
 
src/llmguardian/cli/cli_interface.py CHANGED
@@ -3,21 +3,22 @@ LLMGuardian CLI Interface
3
  Command-line interface for the LLMGuardian security tool.
4
  """
5
 
6
- import click
7
  import json
8
  import logging
9
- from typing import Optional, Dict
10
  from pathlib import Path
11
- from rich.console import Console
12
- from rich.table import Table
13
- from rich.panel import Panel
14
- from rich import print as rprint
15
- from rich.logging import RichHandler
16
  from prompt_injection_scanner import (
17
- PromptInjectionScanner,
18
  InjectionPattern,
19
  InjectionType,
 
20
  )
 
 
 
 
 
21
 
22
  # Set up logging with rich
23
  logging.basicConfig(
 
3
  Command-line interface for the LLMGuardian security tool.
4
  """
5
 
 
6
  import json
7
  import logging
 
8
  from pathlib import Path
9
+ from typing import Dict, Optional
10
+
11
+ import click
 
 
12
  from prompt_injection_scanner import (
 
13
  InjectionPattern,
14
  InjectionType,
15
+ PromptInjectionScanner,
16
  )
17
+ from rich import print as rprint
18
+ from rich.console import Console
19
+ from rich.logging import RichHandler
20
+ from rich.panel import Panel
21
+ from rich.table import Table
22
 
23
  # Set up logging with rich
24
  logging.basicConfig(
src/llmguardian/core/__init__.py CHANGED
@@ -2,9 +2,9 @@
2
  core/__init__.py - Core module initialization for LLMGuardian
3
  """
4
 
5
- from typing import Dict, Any, Optional
6
  import logging
7
  from pathlib import Path
 
8
 
9
  # Version information
10
  __version__ = "1.0.0"
@@ -12,29 +12,29 @@ __author__ = "dewitt4"
12
  __license__ = "Apache-2.0"
13
 
14
  # Core components
15
- from .config import Config, SecurityConfig, APIConfig, LoggingConfig, MonitoringConfig
16
  from .exceptions import (
17
- LLMGuardianError,
18
- SecurityError,
19
- ValidationError,
20
  ConfigurationError,
 
21
  PromptInjectionError,
22
  RateLimitError,
 
 
23
  )
24
- from .logger import SecurityLogger, AuditLogger
25
  from .rate_limiter import (
26
- RateLimiter,
27
  RateLimit,
 
28
  RateLimitType,
29
  TokenBucket,
30
  create_rate_limiter,
31
  )
32
  from .security import (
33
- SecurityService,
34
  SecurityContext,
35
- SecurityPolicy,
36
  SecurityMetrics,
37
  SecurityMonitor,
 
 
38
  )
39
 
40
  # Initialize logging
 
2
  core/__init__.py - Core module initialization for LLMGuardian
3
  """
4
 
 
5
  import logging
6
  from pathlib import Path
7
+ from typing import Any, Dict, Optional
8
 
9
  # Version information
10
  __version__ = "1.0.0"
 
12
  __license__ = "Apache-2.0"
13
 
14
  # Core components
15
+ from .config import APIConfig, Config, LoggingConfig, MonitoringConfig, SecurityConfig
16
  from .exceptions import (
 
 
 
17
  ConfigurationError,
18
+ LLMGuardianError,
19
  PromptInjectionError,
20
  RateLimitError,
21
+ SecurityError,
22
+ ValidationError,
23
  )
24
+ from .logger import AuditLogger, SecurityLogger
25
  from .rate_limiter import (
 
26
  RateLimit,
27
+ RateLimiter,
28
  RateLimitType,
29
  TokenBucket,
30
  create_rate_limiter,
31
  )
32
  from .security import (
 
33
  SecurityContext,
 
34
  SecurityMetrics,
35
  SecurityMonitor,
36
+ SecurityPolicy,
37
+ SecurityService,
38
  )
39
 
40
  # Initialize logging
src/llmguardian/core/config.py CHANGED
@@ -2,19 +2,21 @@
2
  core/config.py - Configuration management for LLMGuardian
3
  """
4
 
5
- import os
6
- import yaml
7
  import json
8
- from pathlib import Path
9
- from typing import Dict, Any, Optional, List
10
- from dataclasses import dataclass, asdict, field
11
  import logging
12
- from enum import Enum
13
  import threading
 
 
 
 
 
 
 
14
  from .exceptions import (
15
  ConfigLoadError,
16
- ConfigValidationError,
17
  ConfigurationNotFoundError,
 
18
  )
19
  from .logger import SecurityLogger
20
 
 
2
  core/config.py - Configuration management for LLMGuardian
3
  """
4
 
 
 
5
  import json
 
 
 
6
  import logging
7
+ import os
8
  import threading
9
+ from dataclasses import asdict, dataclass, field
10
+ from enum import Enum
11
+ from pathlib import Path
12
+ from typing import Any, Dict, List, Optional
13
+
14
+ import yaml
15
+
16
  from .exceptions import (
17
  ConfigLoadError,
 
18
  ConfigurationNotFoundError,
19
+ ConfigValidationError,
20
  )
21
  from .logger import SecurityLogger
22
 
src/llmguardian/core/events.py CHANGED
@@ -2,13 +2,14 @@
2
  core/events.py - Event handling system for LLMGuardian
3
  """
4
 
5
- from typing import Dict, List, Callable, Any, Optional
6
- from datetime import datetime
7
  import threading
8
  from dataclasses import dataclass
 
9
  from enum import Enum
10
- from .logger import SecurityLogger
 
11
  from .exceptions import LLMGuardianError
 
12
 
13
 
14
  class EventType(Enum):
 
2
  core/events.py - Event handling system for LLMGuardian
3
  """
4
 
 
 
5
  import threading
6
  from dataclasses import dataclass
7
+ from datetime import datetime
8
  from enum import Enum
9
+ from typing import Any, Callable, Dict, List, Optional
10
+
11
  from .exceptions import LLMGuardianError
12
+ from .logger import SecurityLogger
13
 
14
 
15
  class EventType(Enum):
src/llmguardian/core/exceptions.py CHANGED
@@ -2,11 +2,11 @@
2
  core/exceptions.py - Custom exceptions for LLMGuardian
3
  """
4
 
5
- from typing import Dict, Any, Optional
6
- from dataclasses import dataclass
7
- import traceback
8
  import logging
 
 
9
  from datetime import datetime
 
10
 
11
 
12
  @dataclass
 
2
  core/exceptions.py - Custom exceptions for LLMGuardian
3
  """
4
 
 
 
 
5
  import logging
6
+ import traceback
7
+ from dataclasses import dataclass
8
  from datetime import datetime
9
+ from typing import Any, Dict, Optional
10
 
11
 
12
  @dataclass
src/llmguardian/core/logger.py CHANGED
@@ -2,12 +2,12 @@
2
  core/logger.py - Logging configuration for LLMGuardian
3
  """
4
 
 
5
  import logging
6
  import logging.handlers
7
- import json
8
  from datetime import datetime
9
  from pathlib import Path
10
- from typing import Optional, Dict, Any
11
 
12
 
13
  class SecurityLogger:
 
2
  core/logger.py - Logging configuration for LLMGuardian
3
  """
4
 
5
+ import json
6
  import logging
7
  import logging.handlers
 
8
  from datetime import datetime
9
  from pathlib import Path
10
+ from typing import Any, Dict, Optional
11
 
12
 
13
  class SecurityLogger:
src/llmguardian/core/monitoring.py CHANGED
@@ -2,14 +2,15 @@
2
  core/monitoring.py - Monitoring system for LLMGuardian
3
  """
4
 
5
- from datetime import datetime, timedelta
6
- from typing import Dict, List, Optional, Any
7
- from dataclasses import dataclass
8
  import threading
9
  import time
10
- import json
11
  from collections import deque
12
- import statistics
 
 
 
13
  from .logger import SecurityLogger
14
 
15
 
 
2
  core/monitoring.py - Monitoring system for LLMGuardian
3
  """
4
 
5
+ import json
6
+ import statistics
 
7
  import threading
8
  import time
 
9
  from collections import deque
10
+ from dataclasses import dataclass
11
+ from datetime import datetime, timedelta
12
+ from typing import Any, Dict, List, Optional
13
+
14
  from .logger import SecurityLogger
15
 
16
 
src/llmguardian/core/rate_limiter.py CHANGED
@@ -2,18 +2,20 @@
2
  core/rate_limiter.py - Rate limiting implementation for LLMGuardian
3
  """
4
 
5
- import time
6
  import os
7
- import psutil
8
- from datetime import datetime, timedelta
9
- from typing import Dict, Optional, List, Tuple, Any
10
  import threading
 
11
  from dataclasses import dataclass
 
12
  from enum import Enum
13
- import json
14
- from .logger import SecurityLogger
15
- from .exceptions import RateLimitError
 
16
  from .events import EventManager, EventType
 
 
17
 
18
 
19
  class RateLimitType(Enum):
@@ -327,8 +329,8 @@ def create_rate_limiter(
327
 
328
  if __name__ == "__main__":
329
  # Example usage
330
- from .logger import setup_logging
331
  from .events import create_event_manager
 
332
 
333
  security_logger, _ = setup_logging()
334
  event_manager = create_event_manager(security_logger)
 
2
  core/rate_limiter.py - Rate limiting implementation for LLMGuardian
3
  """
4
 
5
+ import json
6
  import os
 
 
 
7
  import threading
8
+ import time
9
  from dataclasses import dataclass
10
+ from datetime import datetime, timedelta
11
  from enum import Enum
12
+ from typing import Any, Dict, List, Optional, Tuple
13
+
14
+ import psutil
15
+
16
  from .events import EventManager, EventType
17
+ from .exceptions import RateLimitError
18
+ from .logger import SecurityLogger
19
 
20
 
21
  class RateLimitType(Enum):
 
329
 
330
  if __name__ == "__main__":
331
  # Example usage
 
332
  from .events import create_event_manager
333
+ from .logger import setup_logging
334
 
335
  security_logger, _ = setup_logging()
336
  event_manager = create_event_manager(security_logger)
src/llmguardian/core/scanners/prompt_injection_scanner.py CHANGED
@@ -2,16 +2,17 @@
2
  core/scanners/prompt_injection_scanner.py - Prompt injection detection for LLMGuardian
3
  """
4
 
5
- import re
6
- from dataclasses import dataclass
7
- from enum import Enum
8
- from typing import List, Optional, Dict, Set, Pattern
9
  import json
10
  import logging
 
 
11
  from datetime import datetime
 
 
 
 
12
  from ..exceptions import PromptInjectionError
13
  from ..logger import SecurityLogger
14
- from ..config import Config
15
 
16
 
17
  class InjectionType(Enum):
 
2
  core/scanners/prompt_injection_scanner.py - Prompt injection detection for LLMGuardian
3
  """
4
 
 
 
 
 
5
  import json
6
  import logging
7
+ import re
8
+ from dataclasses import dataclass
9
  from datetime import datetime
10
+ from enum import Enum
11
+ from typing import Dict, List, Optional, Pattern, Set
12
+
13
+ from ..config import Config
14
  from ..exceptions import PromptInjectionError
15
  from ..logger import SecurityLogger
 
16
 
17
 
18
  class InjectionType(Enum):
src/llmguardian/core/security.py CHANGED
@@ -5,12 +5,14 @@ core/security.py - Core security services for LLMGuardian
5
  import hashlib
6
  import hmac
7
  import secrets
8
- from typing import Optional, Dict, Any, List
9
  from dataclasses import dataclass
10
  from datetime import datetime, timedelta
 
 
11
  import jwt
 
12
  from .config import Config
13
- from .logger import SecurityLogger, AuditLogger
14
 
15
 
16
  @dataclass
 
5
  import hashlib
6
  import hmac
7
  import secrets
 
8
  from dataclasses import dataclass
9
  from datetime import datetime, timedelta
10
+ from typing import Any, Dict, List, Optional
11
+
12
  import jwt
13
+
14
  from .config import Config
15
+ from .logger import AuditLogger, SecurityLogger
16
 
17
 
18
  @dataclass
src/llmguardian/core/validation.py CHANGED
@@ -2,10 +2,11 @@
2
  core/validation.py - Input/Output validation for LLMGuardian
3
  """
4
 
 
5
  import re
6
- from typing import Dict, Any, List, Optional, Tuple
7
  from dataclasses import dataclass
8
- import json
 
9
  from .logger import SecurityLogger
10
 
11
 
 
2
  core/validation.py - Input/Output validation for LLMGuardian
3
  """
4
 
5
+ import json
6
  import re
 
7
  from dataclasses import dataclass
8
+ from typing import Any, Dict, List, Optional, Tuple
9
+
10
  from .logger import SecurityLogger
11
 
12
 
src/llmguardian/dashboard/app.py CHANGED
@@ -1,26 +1,27 @@
1
  # src/llmguardian/dashboard/app.py
2
 
3
- import streamlit as st
4
- import plotly.express as px
5
- import plotly.graph_objects as go
6
- import pandas as pd
7
- import numpy as np
8
- from datetime import datetime, timedelta
9
- from typing import Dict, List, Any, Optional
10
- import sys
11
  import os
 
 
12
  from pathlib import Path
 
 
 
 
 
 
 
13
 
14
  # Add parent directory to path for imports
15
  sys.path.insert(0, str(Path(__file__).parent.parent.parent))
16
 
17
  try:
18
  from llmguardian.core.config import Config
 
19
  from llmguardian.data.privacy_guard import PrivacyGuard
20
- from llmguardian.monitors.usage_monitor import UsageMonitor
21
  from llmguardian.monitors.threat_detector import ThreatDetector, ThreatLevel
 
22
  from llmguardian.scanners.prompt_injection_scanner import PromptInjectionScanner
23
- from llmguardian.core.logger import setup_logging
24
  except ImportError:
25
  # Fallback for demo mode
26
  Config = None
 
1
  # src/llmguardian/dashboard/app.py
2
 
 
 
 
 
 
 
 
 
3
  import os
4
+ import sys
5
+ from datetime import datetime, timedelta
6
  from pathlib import Path
7
+ from typing import Any, Dict, List, Optional
8
+
9
+ import numpy as np
10
+ import pandas as pd
11
+ import plotly.express as px
12
+ import plotly.graph_objects as go
13
+ import streamlit as st
14
 
15
  # Add parent directory to path for imports
16
  sys.path.insert(0, str(Path(__file__).parent.parent.parent))
17
 
18
  try:
19
  from llmguardian.core.config import Config
20
+ from llmguardian.core.logger import setup_logging
21
  from llmguardian.data.privacy_guard import PrivacyGuard
 
22
  from llmguardian.monitors.threat_detector import ThreatDetector, ThreatLevel
23
+ from llmguardian.monitors.usage_monitor import UsageMonitor
24
  from llmguardian.scanners.prompt_injection_scanner import PromptInjectionScanner
 
25
  except ImportError:
26
  # Fallback for demo mode
27
  Config = None
src/llmguardian/data/leak_detector.py CHANGED
@@ -2,15 +2,16 @@
2
  data/leak_detector.py - Data leakage detection and prevention
3
  """
4
 
 
5
  import re
6
- from typing import Dict, List, Optional, Any, Set
7
  from dataclasses import dataclass
8
  from datetime import datetime
9
  from enum import Enum
10
- import hashlib
11
- from collections import defaultdict
12
- from ..core.logger import SecurityLogger
13
  from ..core.exceptions import SecurityError
 
14
 
15
 
16
  class LeakageType(Enum):
 
2
  data/leak_detector.py - Data leakage detection and prevention
3
  """
4
 
5
+ import hashlib
6
  import re
7
+ from collections import defaultdict
8
  from dataclasses import dataclass
9
  from datetime import datetime
10
  from enum import Enum
11
+ from typing import Any, Dict, List, Optional, Set
12
+
 
13
  from ..core.exceptions import SecurityError
14
+ from ..core.logger import SecurityLogger
15
 
16
 
17
  class LeakageType(Enum):
src/llmguardian/data/poison_detector.py CHANGED
@@ -2,16 +2,18 @@
2
  data/poison_detector.py - Detection and prevention of data poisoning attacks
3
  """
4
 
5
- import numpy as np
6
- from typing import Dict, List, Optional, Any, Set, Tuple
 
7
  from dataclasses import dataclass
8
  from datetime import datetime
9
  from enum import Enum
10
- from collections import defaultdict
11
- import json
12
- import hashlib
13
- from ..core.logger import SecurityLogger
14
  from ..core.exceptions import SecurityError
 
15
 
16
 
17
  class PoisonType(Enum):
 
2
  data/poison_detector.py - Detection and prevention of data poisoning attacks
3
  """
4
 
5
+ import hashlib
6
+ import json
7
+ from collections import defaultdict
8
  from dataclasses import dataclass
9
  from datetime import datetime
10
  from enum import Enum
11
+ from typing import Any, Dict, List, Optional, Set, Tuple
12
+
13
+ import numpy as np
14
+
15
  from ..core.exceptions import SecurityError
16
+ from ..core.logger import SecurityLogger
17
 
18
 
19
  class PoisonType(Enum):
src/llmguardian/data/privacy_guard.py CHANGED
@@ -2,19 +2,21 @@
2
  data/privacy_guard.py - Privacy protection and enforcement
3
  """
4
 
5
- # Add these imports at the top
6
- from typing import Dict, List, Optional, Any, Set, Union
7
- from dataclasses import dataclass, field
8
- from datetime import datetime
9
- from enum import Enum
10
- import re
11
  import hashlib
12
  import json
 
13
  import threading
14
  import time
15
  from collections import defaultdict
16
- from ..core.logger import SecurityLogger
 
 
 
 
 
 
17
  from ..core.exceptions import SecurityError
 
18
 
19
 
20
  class PrivacyLevel(Enum):
 
2
  data/privacy_guard.py - Privacy protection and enforcement
3
  """
4
 
 
 
 
 
 
 
5
  import hashlib
6
  import json
7
+ import re
8
  import threading
9
  import time
10
  from collections import defaultdict
11
+ from dataclasses import dataclass, field
12
+ from datetime import datetime
13
+ from enum import Enum
14
+
15
+ # Add these imports at the top
16
+ from typing import Any, Dict, List, Optional, Set, Union
17
+
18
  from ..core.exceptions import SecurityError
19
+ from ..core.logger import SecurityLogger
20
 
21
 
22
  class PrivacyLevel(Enum):
src/llmguardian/defenders/__init__.py CHANGED
@@ -2,11 +2,11 @@
2
  defenders/__init__.py - Security defenders initialization
3
  """
4
 
 
 
5
  from .input_sanitizer import InputSanitizer
6
  from .output_validator import OutputValidator
7
  from .token_validator import TokenValidator
8
- from .content_filter import ContentFilter
9
- from .context_validator import ContextValidator
10
 
11
  __all__ = [
12
  "InputSanitizer",
 
2
  defenders/__init__.py - Security defenders initialization
3
  """
4
 
5
+ from .content_filter import ContentFilter
6
+ from .context_validator import ContextValidator
7
  from .input_sanitizer import InputSanitizer
8
  from .output_validator import OutputValidator
9
  from .token_validator import TokenValidator
 
 
10
 
11
  __all__ = [
12
  "InputSanitizer",
src/llmguardian/defenders/content_filter.py CHANGED
@@ -3,11 +3,12 @@ defenders/content_filter.py - Content filtering and moderation
3
  """
4
 
5
  import re
6
- from typing import Dict, List, Optional, Any, Set
7
  from dataclasses import dataclass
8
  from enum import Enum
9
- from ..core.logger import SecurityLogger
 
10
  from ..core.exceptions import ValidationError
 
11
 
12
 
13
  class ContentCategory(Enum):
 
3
  """
4
 
5
  import re
 
6
  from dataclasses import dataclass
7
  from enum import Enum
8
+ from typing import Any, Dict, List, Optional, Set
9
+
10
  from ..core.exceptions import ValidationError
11
+ from ..core.logger import SecurityLogger
12
 
13
 
14
  class ContentCategory(Enum):
src/llmguardian/defenders/context_validator.py CHANGED
@@ -2,12 +2,13 @@
2
  defenders/context_validator.py - Context validation for LLM interactions
3
  """
4
 
5
- from typing import Dict, Optional, List, Any
6
  from dataclasses import dataclass
7
  from datetime import datetime
8
- import hashlib
9
- from ..core.logger import SecurityLogger
10
  from ..core.exceptions import ValidationError
 
11
 
12
 
13
  @dataclass
 
2
  defenders/context_validator.py - Context validation for LLM interactions
3
  """
4
 
5
+ import hashlib
6
  from dataclasses import dataclass
7
  from datetime import datetime
8
+ from typing import Any, Dict, List, Optional
9
+
10
  from ..core.exceptions import ValidationError
11
+ from ..core.logger import SecurityLogger
12
 
13
 
14
  @dataclass
src/llmguardian/defenders/input_sanitizer.py CHANGED
@@ -3,10 +3,11 @@ defenders/input_sanitizer.py - Input sanitization for LLM inputs
3
  """
4
 
5
  import re
6
- from typing import Dict, Any, List, Optional
7
  from dataclasses import dataclass
8
- from ..core.logger import SecurityLogger
 
9
  from ..core.exceptions import ValidationError
 
10
 
11
 
12
  @dataclass
 
3
  """
4
 
5
  import re
 
6
  from dataclasses import dataclass
7
+ from typing import Any, Dict, List, Optional
8
+
9
  from ..core.exceptions import ValidationError
10
+ from ..core.logger import SecurityLogger
11
 
12
 
13
  @dataclass
src/llmguardian/defenders/output_validator.py CHANGED
@@ -3,10 +3,11 @@ defenders/output_validator.py - Output validation and sanitization
3
  """
4
 
5
  import re
6
- from typing import Dict, List, Optional, Set, Any
7
  from dataclasses import dataclass
8
- from ..core.logger import SecurityLogger
 
9
  from ..core.exceptions import ValidationError
 
10
 
11
 
12
  @dataclass
 
3
  """
4
 
5
  import re
 
6
  from dataclasses import dataclass
7
+ from typing import Any, Dict, List, Optional, Set
8
+
9
  from ..core.exceptions import ValidationError
10
+ from ..core.logger import SecurityLogger
11
 
12
 
13
  @dataclass
src/llmguardian/defenders/test_context_validator.py CHANGED
@@ -2,10 +2,12 @@
2
  tests/defenders/test_context_validator.py - Tests for context validation
3
  """
4
 
5
- import pytest
6
  from datetime import datetime, timedelta
7
- from llmguardian.defenders.context_validator import ContextValidator, ValidationResult
 
 
8
  from llmguardian.core.exceptions import ValidationError
 
9
 
10
 
11
  @pytest.fixture
 
2
  tests/defenders/test_context_validator.py - Tests for context validation
3
  """
4
 
 
5
  from datetime import datetime, timedelta
6
+
7
+ import pytest
8
+
9
  from llmguardian.core.exceptions import ValidationError
10
+ from llmguardian.defenders.context_validator import ContextValidator, ValidationResult
11
 
12
 
13
  @pytest.fixture
src/llmguardian/defenders/token_validator.py CHANGED
@@ -2,13 +2,15 @@
2
  defenders/token_validator.py - Token and credential validation
3
  """
4
 
5
- from typing import Dict, Optional, Any, List
6
- from dataclasses import dataclass
7
  import re
8
- import jwt
9
  from datetime import datetime, timedelta
10
- from ..core.logger import SecurityLogger
 
 
 
11
  from ..core.exceptions import TokenValidationError
 
12
 
13
 
14
  @dataclass
 
2
  defenders/token_validator.py - Token and credential validation
3
  """
4
 
 
 
5
  import re
6
+ from dataclasses import dataclass
7
  from datetime import datetime, timedelta
8
+ from typing import Any, Dict, List, Optional
9
+
10
+ import jwt
11
+
12
  from ..core.exceptions import TokenValidationError
13
+ from ..core.logger import SecurityLogger
14
 
15
 
16
  @dataclass
src/llmguardian/monitors/__init__.py CHANGED
@@ -2,11 +2,11 @@
2
  monitors/__init__.py - Monitoring system initialization
3
  """
4
 
5
- from .usage_monitor import UsageMonitor
6
  from .behavior_monitor import BehaviorMonitor
7
- from .threat_detector import ThreatDetector
8
  from .performance_monitor import PerformanceMonitor
9
- from .audit_monitor import AuditMonitor
 
10
 
11
  __all__ = [
12
  "UsageMonitor",
 
2
  monitors/__init__.py - Monitoring system initialization
3
  """
4
 
5
+ from .audit_monitor import AuditMonitor
6
  from .behavior_monitor import BehaviorMonitor
 
7
  from .performance_monitor import PerformanceMonitor
8
+ from .threat_detector import ThreatDetector
9
+ from .usage_monitor import UsageMonitor
10
 
11
  __all__ = [
12
  "UsageMonitor",
src/llmguardian/monitors/audit_monitor.py CHANGED
@@ -3,15 +3,16 @@ monitors/audit_monitor.py - Audit trail and compliance monitoring
3
  """
4
 
5
  import json
6
- from typing import Dict, List, Optional, Any, Set
 
7
  from dataclasses import dataclass
8
  from datetime import datetime, timedelta
9
  from enum import Enum
10
- import threading
11
  from pathlib import Path
12
- from collections import defaultdict
13
- from ..core.logger import SecurityLogger
14
  from ..core.exceptions import MonitoringError
 
15
 
16
 
17
  class AuditEventType(Enum):
 
3
  """
4
 
5
  import json
6
+ import threading
7
+ from collections import defaultdict
8
  from dataclasses import dataclass
9
  from datetime import datetime, timedelta
10
  from enum import Enum
 
11
  from pathlib import Path
12
+ from typing import Any, Dict, List, Optional, Set
13
+
14
  from ..core.exceptions import MonitoringError
15
+ from ..core.logger import SecurityLogger
16
 
17
 
18
  class AuditEventType(Enum):
src/llmguardian/monitors/behavior_monitor.py CHANGED
@@ -2,11 +2,12 @@
2
  monitors/behavior_monitor.py - LLM behavior monitoring
3
  """
4
 
5
- from typing import Dict, List, Optional, Any
6
  from dataclasses import dataclass
7
  from datetime import datetime
8
- from ..core.logger import SecurityLogger
 
9
  from ..core.exceptions import MonitoringError
 
10
 
11
 
12
  @dataclass
 
2
  monitors/behavior_monitor.py - LLM behavior monitoring
3
  """
4
 
 
5
  from dataclasses import dataclass
6
  from datetime import datetime
7
+ from typing import Any, Dict, List, Optional
8
+
9
  from ..core.exceptions import MonitoringError
10
+ from ..core.logger import SecurityLogger
11
 
12
 
13
  @dataclass
src/llmguardian/monitors/performance_monitor.py CHANGED
@@ -2,15 +2,16 @@
2
  monitors/performance_monitor.py - LLM performance monitoring
3
  """
4
 
5
- import time
6
  import threading
7
- from typing import Dict, List, Optional, Any
 
8
  from dataclasses import dataclass
9
  from datetime import datetime, timedelta
10
  from statistics import mean, median, stdev
11
- from collections import deque
12
- from ..core.logger import SecurityLogger
13
  from ..core.exceptions import MonitoringError
 
14
 
15
 
16
  @dataclass
 
2
  monitors/performance_monitor.py - LLM performance monitoring
3
  """
4
 
 
5
  import threading
6
+ import time
7
+ from collections import deque
8
  from dataclasses import dataclass
9
  from datetime import datetime, timedelta
10
  from statistics import mean, median, stdev
11
+ from typing import Any, Dict, List, Optional
12
+
13
  from ..core.exceptions import MonitoringError
14
+ from ..core.logger import SecurityLogger
15
 
16
 
17
  @dataclass
src/llmguardian/monitors/threat_detector.py CHANGED
@@ -2,14 +2,15 @@
2
  monitors/threat_detector.py - Real-time threat detection for LLM applications
3
  """
4
 
5
- from typing import Dict, List, Optional, Set, Any
 
6
  from dataclasses import dataclass
7
  from datetime import datetime, timedelta
8
  from enum import Enum
9
- import threading
10
- from collections import defaultdict
11
- from ..core.logger import SecurityLogger
12
  from ..core.exceptions import MonitoringError
 
13
 
14
 
15
  class ThreatLevel(Enum):
 
2
  monitors/threat_detector.py - Real-time threat detection for LLM applications
3
  """
4
 
5
+ import threading
6
+ from collections import defaultdict
7
  from dataclasses import dataclass
8
  from datetime import datetime, timedelta
9
  from enum import Enum
10
+ from typing import Any, Dict, List, Optional, Set
11
+
 
12
  from ..core.exceptions import MonitoringError
13
+ from ..core.logger import SecurityLogger
14
 
15
 
16
  class ThreatLevel(Enum):
src/llmguardian/monitors/usage_monitor.py CHANGED
@@ -2,14 +2,16 @@
2
  monitors/usage_monitor.py - Resource usage monitoring
3
  """
4
 
5
- import time
6
- import psutil
7
  import threading
8
- from typing import Dict, List, Optional
9
  from dataclasses import dataclass
10
  from datetime import datetime
11
- from ..core.logger import SecurityLogger
 
 
 
12
  from ..core.exceptions import MonitoringError
 
13
 
14
 
15
  @dataclass
 
2
  monitors/usage_monitor.py - Resource usage monitoring
3
  """
4
 
 
 
5
  import threading
6
+ import time
7
  from dataclasses import dataclass
8
  from datetime import datetime
9
+ from typing import Dict, List, Optional
10
+
11
+ import psutil
12
+
13
  from ..core.exceptions import MonitoringError
14
+ from ..core.logger import SecurityLogger
15
 
16
 
17
  @dataclass
src/llmguardian/scanners/prompt_injection_scanner.py CHANGED
@@ -3,12 +3,12 @@ LLMGuardian Prompt Injection Scanner
3
  Core module for detecting and preventing prompt injection attacks in LLM applications.
4
  """
5
 
 
6
  import re
 
7
  from dataclasses import dataclass
8
  from enum import Enum
9
- from typing import List, Optional, Dict, Tuple
10
- import logging
11
- from abc import ABC, abstractmethod
12
 
13
  # Configure logging
14
  logging.basicConfig(level=logging.INFO)
 
3
  Core module for detecting and preventing prompt injection attacks in LLM applications.
4
  """
5
 
6
+ import logging
7
  import re
8
+ from abc import ABC, abstractmethod
9
  from dataclasses import dataclass
10
  from enum import Enum
11
+ from typing import Dict, List, Optional, Tuple
 
 
12
 
13
  # Configure logging
14
  logging.basicConfig(level=logging.INFO)
src/llmguardian/vectors/__init__.py CHANGED
@@ -3,8 +3,8 @@ vectors/__init__.py - Vector security initialization
3
  """
4
 
5
  from .embedding_validator import EmbeddingValidator
6
- from .vector_scanner import VectorScanner
7
  from .retrieval_guard import RetrievalGuard
8
  from .storage_validator import StorageValidator
 
9
 
10
  __all__ = ["EmbeddingValidator", "VectorScanner", "RetrievalGuard", "StorageValidator"]
 
3
  """
4
 
5
  from .embedding_validator import EmbeddingValidator
 
6
  from .retrieval_guard import RetrievalGuard
7
  from .storage_validator import StorageValidator
8
+ from .vector_scanner import VectorScanner
9
 
10
  __all__ = ["EmbeddingValidator", "VectorScanner", "RetrievalGuard", "StorageValidator"]
src/llmguardian/vectors/embedding_validator.py CHANGED
@@ -2,13 +2,15 @@
2
  vectors/embedding_validator.py - Embedding validation and security
3
  """
4
 
5
- import numpy as np
6
- from typing import Dict, List, Optional, Any, Tuple
7
  from dataclasses import dataclass
8
  from datetime import datetime
9
- import hashlib
10
- from ..core.logger import SecurityLogger
 
 
11
  from ..core.exceptions import ValidationError
 
12
 
13
 
14
  @dataclass
 
2
  vectors/embedding_validator.py - Embedding validation and security
3
  """
4
 
5
+ import hashlib
 
6
  from dataclasses import dataclass
7
  from datetime import datetime
8
+ from typing import Any, Dict, List, Optional, Tuple
9
+
10
+ import numpy as np
11
+
12
  from ..core.exceptions import ValidationError
13
+ from ..core.logger import SecurityLogger
14
 
15
 
16
  @dataclass
src/llmguardian/vectors/retrieval_guard.py CHANGED
@@ -2,16 +2,18 @@
2
  vectors/retrieval_guard.py - Security for Retrieval-Augmented Generation (RAG) operations
3
  """
4
 
5
- import numpy as np
6
- from typing import Dict, List, Optional, Any, Tuple, Set
7
- from dataclasses import dataclass
8
- from datetime import datetime
9
- from enum import Enum
10
  import hashlib
11
  import re
12
  from collections import defaultdict
13
- from ..core.logger import SecurityLogger
 
 
 
 
 
 
14
  from ..core.exceptions import SecurityError
 
15
 
16
 
17
  class RetrievalRisk(Enum):
 
2
  vectors/retrieval_guard.py - Security for Retrieval-Augmented Generation (RAG) operations
3
  """
4
 
 
 
 
 
 
5
  import hashlib
6
  import re
7
  from collections import defaultdict
8
+ from dataclasses import dataclass
9
+ from datetime import datetime
10
+ from enum import Enum
11
+ from typing import Any, Dict, List, Optional, Set, Tuple
12
+
13
+ import numpy as np
14
+
15
  from ..core.exceptions import SecurityError
16
+ from ..core.logger import SecurityLogger
17
 
18
 
19
  class RetrievalRisk(Enum):
src/llmguardian/vectors/storage_validator.py CHANGED
@@ -2,16 +2,18 @@
2
  vectors/storage_validator.py - Vector storage security validation
3
  """
4
 
5
- import numpy as np
6
- from typing import Dict, List, Optional, Any, Tuple, Set
7
- from dataclasses import dataclass
8
- from datetime import datetime
9
- from enum import Enum
10
  import hashlib
11
  import json
12
  from collections import defaultdict
13
- from ..core.logger import SecurityLogger
 
 
 
 
 
 
14
  from ..core.exceptions import SecurityError
 
15
 
16
 
17
  class StorageRisk(Enum):
 
2
  vectors/storage_validator.py - Vector storage security validation
3
  """
4
 
 
 
 
 
 
5
  import hashlib
6
  import json
7
  from collections import defaultdict
8
+ from dataclasses import dataclass
9
+ from datetime import datetime
10
+ from enum import Enum
11
+ from typing import Any, Dict, List, Optional, Set, Tuple
12
+
13
+ import numpy as np
14
+
15
  from ..core.exceptions import SecurityError
16
+ from ..core.logger import SecurityLogger
17
 
18
 
19
  class StorageRisk(Enum):
src/llmguardian/vectors/vector_scanner.py CHANGED
@@ -2,15 +2,17 @@
2
  vectors/vector_scanner.py - Security scanner for vector databases and operations
3
  """
4
 
5
- import numpy as np
6
- from typing import Dict, List, Optional, Any, Set
7
  from dataclasses import dataclass
8
  from datetime import datetime
9
  from enum import Enum
10
- import hashlib
11
- from collections import defaultdict
12
- from ..core.logger import SecurityLogger
 
13
  from ..core.exceptions import SecurityError
 
14
 
15
 
16
  class VectorVulnerability(Enum):
 
2
  vectors/vector_scanner.py - Security scanner for vector databases and operations
3
  """
4
 
5
+ import hashlib
6
+ from collections import defaultdict
7
  from dataclasses import dataclass
8
  from datetime import datetime
9
  from enum import Enum
10
+ from typing import Any, Dict, List, Optional, Set
11
+
12
+ import numpy as np
13
+
14
  from ..core.exceptions import SecurityError
15
+ from ..core.logger import SecurityLogger
16
 
17
 
18
  class VectorVulnerability(Enum):
tests/conftest.py CHANGED
@@ -2,13 +2,15 @@
2
  tests/conftest.py - Pytest configuration and shared fixtures
3
  """
4
 
5
- import pytest
6
- import os
7
  import json
 
8
  from pathlib import Path
9
- from typing import Dict, Any
10
- from llmguardian.core.logger import SecurityLogger
 
 
11
  from llmguardian.core.config import Config
 
12
 
13
 
14
  @pytest.fixture(scope="session")
 
2
  tests/conftest.py - Pytest configuration and shared fixtures
3
  """
4
 
 
 
5
  import json
6
+ import os
7
  from pathlib import Path
8
+ from typing import Any, Dict
9
+
10
+ import pytest
11
+
12
  from llmguardian.core.config import Config
13
+ from llmguardian.core.logger import SecurityLogger
14
 
15
 
16
  @pytest.fixture(scope="session")
tests/data/test_privacy_guard.py CHANGED
@@ -2,17 +2,19 @@
2
  tests/data/test_privacy_guard.py - Test cases for privacy protection functionality
3
  """
4
 
5
- import pytest
6
  from datetime import datetime
7
  from unittest.mock import Mock, patch
 
 
 
 
8
  from llmguardian.data.privacy_guard import (
9
- PrivacyGuard,
10
- PrivacyRule,
11
- PrivacyLevel,
12
  DataCategory,
13
  PrivacyCheck,
 
 
 
14
  )
15
- from llmguardian.core.exceptions import SecurityError
16
 
17
 
18
  @pytest.fixture
 
2
  tests/data/test_privacy_guard.py - Test cases for privacy protection functionality
3
  """
4
 
 
5
  from datetime import datetime
6
  from unittest.mock import Mock, patch
7
+
8
+ import pytest
9
+
10
+ from llmguardian.core.exceptions import SecurityError
11
  from llmguardian.data.privacy_guard import (
 
 
 
12
  DataCategory,
13
  PrivacyCheck,
14
+ PrivacyGuard,
15
+ PrivacyLevel,
16
+ PrivacyRule,
17
  )
 
18
 
19
 
20
  @pytest.fixture
tests/unit/test_prompt_injection_scanner.py CHANGED
@@ -2,12 +2,13 @@
2
  Tests for the LLMGuardian Prompt Injection Scanner
3
  """
4
 
5
- import pytest
6
  from typing import List
 
 
7
  from prompt_injection_scanner import (
8
- PromptInjectionScanner,
9
  InjectionPattern,
10
  InjectionType,
 
11
  ScanResult,
12
  )
13
 
 
2
  Tests for the LLMGuardian Prompt Injection Scanner
3
  """
4
 
 
5
  from typing import List
6
+
7
+ import pytest
8
  from prompt_injection_scanner import (
 
9
  InjectionPattern,
10
  InjectionType,
11
+ PromptInjectionScanner,
12
  ScanResult,
13
  )
14
 
tests/utils/test_utils.py CHANGED
@@ -4,7 +4,8 @@ tests/utils/test_utils.py - Testing utilities and helpers
4
 
5
  import json
6
  from pathlib import Path
7
- from typing import Dict, Any, Optional
 
8
  import numpy as np
9
 
10
 
 
4
 
5
  import json
6
  from pathlib import Path
7
+ from typing import Any, Dict, Optional
8
+
9
  import numpy as np
10
 
11