Class SecurityPolicy

java.lang.Object
com.ultikits.ultitools.utils.SecurityPolicy

public class SecurityPolicy extends Object
Security policy configuration for UltiTools class loading and reflection operations. This class defines security rules and validation logic to prevent malicious code execution.
UltiTools类加载和反射操作的安全策略配置。 此类定义安全规则和验证逻辑以防止恶意代码执行。
Version:
1.0.0
Author:
UltiKits Security Team
  • Field Details

    • LOGGER

      private static final Logger LOGGER
    • SYSTEM_DANGEROUS_CLASSES

      private static final Set<String> SYSTEM_DANGEROUS_CLASSES
    • DANGEROUS_PACKAGE_PREFIXES

      private static final Set<String> DANGEROUS_PACKAGE_PREFIXES
    • TRUSTED_PACKAGE_PREFIXES

      private static final Set<String> TRUSTED_PACKAGE_PREFIXES
    • SUSPICIOUS_KEYWORDS

      private static final Set<String> SUSPICIOUS_KEYWORDS
  • Constructor Details

    • SecurityPolicy

      public SecurityPolicy()
  • Method Details

    • isSafeClassName

      public static boolean isSafeClassName(String className)
      Validate if a class name is safe to load.
      验证类名是否可以安全加载。
      Parameters:
      className - class name to validate
      要验证的类名
      Returns:
      true if safe, false otherwise
      如果安全则为true,否则为false
    • isSafeParameterType

      public static boolean isSafeParameterType(Class<?> clazz)
      Validate if a parameter type is safe for reflection operations.
      验证参数类型是否对反射操作安全。
      Parameters:
      clazz - parameter class
      参数类
      Returns:
      true if safe, false otherwise
      如果安全则为true,否则为false
    • isSafeFileStructure

      public static boolean isSafeFileStructure(long fileSize, int entryCount)
      Validate file size and structure for security.
      验证文件大小和结构的安全性。
      Parameters:
      fileSize - file size in bytes
      文件大小(字节)
      entryCount - number of entries in archive
      归档中的条目数
      Returns:
      true if safe, false otherwise
      如果安全则为true,否则为false
    • addTrustedPackage

      public static void addTrustedPackage(String packagePrefix)
      Add a trusted package prefix at runtime.
      在运行时添加信任的包前缀。
      Parameters:
      packagePrefix - package prefix to trust
      要信任的包前缀
    • addDangerousClass

      public static void addDangerousClass(String className)
      Add a dangerous class to the blacklist.
      将危险类添加到黑名单。
      Parameters:
      className - class name to blacklist
      要加入黑名单的类名
    • logSecurityViolation

      private static void logSecurityViolation(String reason, String details)
      Log security violation for monitoring and audit purposes.
      记录安全违规以用于监控和审计。
      Parameters:
      reason - violation reason
      违规原因
      details - violation details
      违规详情
    • getSecurityPolicySummary

      public static String getSecurityPolicySummary()
      Get current security policy information.
      获取当前安全策略信息。
      Returns:
      security policy summary
      安全策略摘要