safeuploads 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- safeuploads/__init__.py +92 -0
- safeuploads/config.py +842 -0
- safeuploads/enums.py +455 -0
- safeuploads/exceptions.py +468 -0
- safeuploads/file_validator.py +525 -0
- safeuploads/inspectors/__init__.py +10 -0
- safeuploads/inspectors/zip_inspector.py +411 -0
- safeuploads/protocols.py +51 -0
- safeuploads/validators/__init__.py +22 -0
- safeuploads/validators/base.py +43 -0
- safeuploads/validators/compression_validator.py +286 -0
- safeuploads/validators/extension_validator.py +97 -0
- safeuploads/validators/unicode_validator.py +132 -0
- safeuploads/validators/windows_validator.py +95 -0
- safeuploads-0.1.0.dist-info/METADATA +170 -0
- safeuploads-0.1.0.dist-info/RECORD +18 -0
- safeuploads-0.1.0.dist-info/WHEEL +4 -0
- safeuploads-0.1.0.dist-info/licenses/LICENSE.md +7 -0
safeuploads/__init__.py
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"""
|
|
2
|
+
File Security Module
|
|
3
|
+
|
|
4
|
+
A comprehensive file security system for validating uploads and preventing attacks.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
# Core classes and configurations
|
|
8
|
+
from .config import SecurityLimits, FileSecurityConfig
|
|
9
|
+
from .exceptions import (
|
|
10
|
+
ConfigValidationError,
|
|
11
|
+
FileSecurityConfigurationError,
|
|
12
|
+
ErrorCode,
|
|
13
|
+
FileSecurityError,
|
|
14
|
+
FileValidationError,
|
|
15
|
+
FilenameSecurityError,
|
|
16
|
+
UnicodeSecurityError,
|
|
17
|
+
ExtensionSecurityError,
|
|
18
|
+
WindowsReservedNameError,
|
|
19
|
+
FileSizeError,
|
|
20
|
+
MimeTypeError,
|
|
21
|
+
FileSignatureError,
|
|
22
|
+
CompressionSecurityError,
|
|
23
|
+
ZipBombError,
|
|
24
|
+
ZipContentError,
|
|
25
|
+
FileProcessingError,
|
|
26
|
+
)
|
|
27
|
+
from .enums import (
|
|
28
|
+
DangerousExtensionCategory,
|
|
29
|
+
CompoundExtensionCategory,
|
|
30
|
+
UnicodeAttackCategory,
|
|
31
|
+
SuspiciousFilePattern,
|
|
32
|
+
ZipThreatCategory,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
# Main validator
|
|
36
|
+
from .file_validator import FileValidator
|
|
37
|
+
|
|
38
|
+
# Specialized validators
|
|
39
|
+
from .validators import (
|
|
40
|
+
BaseValidator,
|
|
41
|
+
UnicodeSecurityValidator,
|
|
42
|
+
ExtensionSecurityValidator,
|
|
43
|
+
WindowsSecurityValidator,
|
|
44
|
+
CompressionSecurityValidator,
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
# Inspectors
|
|
48
|
+
from .inspectors import ZipContentInspector
|
|
49
|
+
|
|
50
|
+
# Perform configuration validation when module is imported
|
|
51
|
+
# This ensures configuration issues are caught early during application startup
|
|
52
|
+
FileSecurityConfig.validate_and_report(strict=False)
|
|
53
|
+
|
|
54
|
+
# Export all public APIs
|
|
55
|
+
__all__ = [
|
|
56
|
+
# Core configuration
|
|
57
|
+
"SecurityLimits",
|
|
58
|
+
"FileSecurityConfig",
|
|
59
|
+
# Exceptions
|
|
60
|
+
"ConfigValidationError",
|
|
61
|
+
"FileSecurityConfigurationError",
|
|
62
|
+
"ErrorCode",
|
|
63
|
+
"FileSecurityError",
|
|
64
|
+
"FileValidationError",
|
|
65
|
+
"FilenameSecurityError",
|
|
66
|
+
"UnicodeSecurityError",
|
|
67
|
+
"ExtensionSecurityError",
|
|
68
|
+
"WindowsReservedNameError",
|
|
69
|
+
"FileSizeError",
|
|
70
|
+
"MimeTypeError",
|
|
71
|
+
"FileSignatureError",
|
|
72
|
+
"CompressionSecurityError",
|
|
73
|
+
"ZipBombError",
|
|
74
|
+
"ZipContentError",
|
|
75
|
+
"FileProcessingError",
|
|
76
|
+
# Enums
|
|
77
|
+
"DangerousExtensionCategory",
|
|
78
|
+
"CompoundExtensionCategory",
|
|
79
|
+
"UnicodeAttackCategory",
|
|
80
|
+
"SuspiciousFilePattern",
|
|
81
|
+
"ZipThreatCategory",
|
|
82
|
+
# Main validator
|
|
83
|
+
"FileValidator",
|
|
84
|
+
# Specialized validators
|
|
85
|
+
"BaseValidator",
|
|
86
|
+
"UnicodeSecurityValidator",
|
|
87
|
+
"ExtensionSecurityValidator",
|
|
88
|
+
"WindowsSecurityValidator",
|
|
89
|
+
"CompressionSecurityValidator",
|
|
90
|
+
# Inspectors
|
|
91
|
+
"ZipContentInspector",
|
|
92
|
+
]
|