Skip to main content

Модульная библиотека для анализа, защиты и валидации данных

Project description


🔐 SecurityCore

SecurityCore — модульная библиотека Python для анализа, защиты, валидации и безопасной обработки данных.
Каждый модуль — это самостоятельный «артефакт безопасности», который можно использовать в веб‑приложениях, API‑сервисах, CLI‑утилитах и инфраструктурных системах.

Библиотека построена по принципам:

  • строгой валидации
  • безопасных дефолтов
  • отсутствия циклических зависимостей
  • чистой архитектуры
  • предсказуемого API

✨ Возможности

🔑 Криптография

  • PBKDF2‑HMAC хеширование (hash_data, verify_hash)
  • генерация криптографических ключей (generate_bytes_key, generate_hex_key, generate_hmac_key)
  • подпись и проверка данных (sign_data, verify_signature)
  • токены с подписью (generate_token, verify_token, create_token_pair)
  • анализ энтропии (entropy, total_entropy, estimate_charset_size)

🛡️ Защита

  • защита от XSS (sanitize_xss, ensure_no_xss)
  • защита от SQL‑инъекций (sanitize_sql_input, ensure_no_sql_injection)
  • безопасная работа с путями (ensure_safe_path, ensure_safe_filename)

✔️ Валидация

  • email
  • URL
  • IPv4 / IPv6
  • пароли
  • строки, длины, форматы

📜 Аудит

  • текстовый аудит (audit)
  • JSON‑аудит (audit_json)
  • безопасная сериализация и структурированные записи

📦 Установка

pip install securitycore

Или локально:

git clone https://github.com/mihhail327/SecurityCore.git
cd SecurityCore
pip install -r requirements.txt

📁 Структура библиотеки

securitycore/
    crypto/
    protection/
    validators/
    analysis/
    audit/
    utils/
    _internal/

📊 Примеры использования

Хеширование

from securitycore import hash_data, verify_hash

salt, hashed = hash_data("mypassword")
print(verify_hash("mypassword", salt, hashed))

Токены

from securitycore import generate_token, verify_token, generate_hmac_key

key = generate_hmac_key()
token = generate_token({"user_id": 42}, key)

print(verify_token(token, key))

Защита от XSS

from securitycore import sanitize_xss

print(sanitize_xss("<script>alert('XSS')</script>"))

Валидация email

from securitycore import validate_email

validate_email("user@example.com")

Аудит

from securitycore import audit

audit("user_login", {"user": "alice"})

Энтропия

from securitycore import entropy, total_entropy

print(entropy("MyP@ssw0rd"))

🧪 Тестирование

pytest -v

📜 Лицензия

MIT License — см. файл LICENSE.


🛡️ Автор

Разработано Mihhail327.
SecurityCore вырос из простого интереса к безопасности и желания разобраться в теме на практике.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

securitycore-1.0.3.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

securitycore-1.0.3-py3-none-any.whl (28.8 kB view details)

Uploaded Python 3

File details

Details for the file securitycore-1.0.3.tar.gz.

File metadata

  • Download URL: securitycore-1.0.3.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for securitycore-1.0.3.tar.gz
Algorithm Hash digest
SHA256 18c4c78862b19b3c7e5c775a112891b4ed60cb7e33352ae16759fa057de016ca
MD5 b7aefad4d6f78bee183420211631ab0c
BLAKE2b-256 c167174d5af70d9b48575cd2946c34f697877c8d2647064587d60a7e01f812ef

See more details on using hashes here.

File details

Details for the file securitycore-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: securitycore-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 28.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for securitycore-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 27a98d8d1d9a7bea8000aad101266e18de9c0ad37accdb82ad6834d61a250330
MD5 fc1781daac9710934cdc17349e2bb9e0
BLAKE2b-256 ba528f92fb289d6525c13081066668477e01302e1a9be6a81245148b59ad077a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page