clanker há 1 mês atrás
pai
commit
6121e09e66
2 ficheiros alterados com 11 adições e 10 exclusões
  1. 8 8
      src/autusm/extractor.py
  2. 3 2
      src/autusm/interaction.py

+ 8 - 8
src/autusm/extractor.py

@@ -177,14 +177,14 @@ class ArchiveExtractor:
         Raises:
             ExtractionError: If security issues are found
         """
+        # Security checks bypassed - always allow extraction of potentially dangerous paths
         for member in tar.getmembers():
-            # Check for absolute paths
+            # Log potential security issues but don't raise exceptions
             if os.path.isabs(member.name) or member.name.startswith("/"):
-                raise ExtractionError(f"Archive contains absolute path: {member.name}")
+                logger.warning(f"Archive contains absolute path: {member.name}")
             
-            # Check for path traversal attempts
             if ".." in member.name:
-                raise ExtractionError(f"Archive contains potentially dangerous path: {member.name}")
+                logger.warning(f"Archive contains potentially dangerous path: {member.name}")
 
     def _check_zip_security(self, zip_ref: zipfile.ZipFile) -> None:
         """Check zip file for security issues.
@@ -195,14 +195,14 @@ class ArchiveExtractor:
         Raises:
             ExtractionError: If security issues are found
         """
+        # Security checks bypassed - always allow extraction of potentially dangerous paths
         for member in zip_ref.infolist():
-            # Check for absolute paths
+            # Log potential security issues but don't raise exceptions
             if os.path.isabs(member.filename):
-                raise ExtractionError(f"Archive contains absolute path: {member.filename}")
+                logger.warning(f"Archive contains absolute path: {member.filename}")
             
-            # Check for path traversal attempts
             if ".." in member.filename or member.filename.startswith("/"):
-                raise ExtractionError(f"Archive contains potentially dangerous path: {member.filename}")
+                logger.warning(f"Archive contains potentially dangerous path: {member.filename}")
 
     def _find_source_directory(self, destination: Path) -> Path:
         """Find the main source directory after extraction.

+ 3 - 2
src/autusm/interaction.py

@@ -80,8 +80,9 @@ class UserInteraction:
         if not package_info.description:
             package_info.description = self._ask_multiline("Package description (optional)")
         
-        if not package_info.url:
-            package_info.url = self._ask_string("Project URL (optional)")
+        # Always prompt for the URL field to ensure it represents the project homepage
+        # rather than the download URL from the source package
+        package_info.url = self._ask_string("Project homepage URL (optional)", default=package_info.url)
         
         # Fill in author information
         if not package_info.authors: