Help us shape the future of Go! Take the 2026 Go Developer Survey

security

package
v1.26.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package security provides functionality for the TDTP framework.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetCurrentUser

func GetCurrentUser() string

GetCurrentUser возвращает имя текущего пользователя. Использует os/user.Current() — читает реальный UID процесса, не env-переменную. Env-переменная USER/USERNAME тривиально подменяется, что позволяло спуфить аудит.

func IsAdmin

func IsAdmin() bool

IsAdmin проверяет, запущена ли программа с административными правами.

Для Unix/Linux систем проверяет effective UID (euid == 0 означает root). Для Windows пытается открыть защищенный системный ресурс.

Возвращает:

  • true если программа запущена от root/Administrator
  • false в противном случае

Types

type SQLValidator

type SQLValidator struct {
	// contains filtered or unexported fields
}

SQLValidator проверяет SQL запросы на соответствие политикам безопасности.

В safe mode (по умолчанию) разрешены только SELECT и WITH запросы, блокируются все изменяющие операции (INSERT, UPDATE, DELETE, DROP, etc).

В unsafe mode (только для администраторов) все запросы разрешены.

func NewSQLValidator

func NewSQLValidator(safeMode bool) *SQLValidator

NewSQLValidator создает новый SQL валидатор.

Параметры:

  • safeMode: true для безопасного режима (только READ-ONLY запросы), false для unsafe режима (все запросы разрешены)

func (*SQLValidator) IsSafeMode

func (v *SQLValidator) IsSafeMode() bool

IsSafeMode возвращает текущий режим валидатора

func (*SQLValidator) SetSafeMode

func (v *SQLValidator) SetSafeMode(safeMode bool)

SetSafeMode устанавливает режим валидатора

func (*SQLValidator) Validate

func (v *SQLValidator) Validate(sql string) error

Validate проверяет SQL запрос на соответствие политикам безопасности.

В safe mode проверяет:

  • Запрос начинается с SELECT или WITH
  • Отсутствуют запрещенные ключевые слова (DROP, DELETE, UPDATE, etc)
  • Нет множественных команд (через ;)
  • Нет SQL комментариев (могут скрывать вредоносный код)

В unsafe mode все запросы проходят без проверки.

Возвращает error если запрос не соответствует политикам безопасности.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL