Skip to content

Security: Forman75/AIE-1

Security

SECURITY.md

Политика безопасности и работы с данными

Этот репозиторий используется в учебных целях в рамках курса «Инженерия Искусственного Интеллекта». Репозиторий может быть публичным, поэтому обращайтесь с данными и секретами максимально осторожно.

Ниже перечислены правила, которые необходимо соблюдать всем студентам.


1. Общие принципы

  1. Репозиторий не должен содержать:

    • реальных персональных данных третьих лиц;
    • секретов доступа (пароли, токены, приватные ключи и т.п.);
    • конфиденциальной или служебной информации.
  2. Всё, что вы выкладываете в репозиторий, рассматривается как информация, которую условно можно показать внешнему миру.

  3. Если вам нужны реальные данные для проекта:

    • используйте обезличивание/анонимизацию;
    • по возможности заменяйте реальные данные синтетическими.

2. Нельзя коммитить в репозиторий

Строго запрещено коммитить:

  • Секреты и учетные данные:

    • пароли, токены API, ключи доступа (включая токены Telegram, Discord, VK, GitHub, облаков и т.п.);
    • приватные ключи (id_rsa, .pem, .key и др.);
    • файлы .env с реальными значениями секретов;
    • куки, экспортированные сессии, дампы менеджеров паролей.
  • Персональные данные (ПДн) третьих лиц:

    • реальные ФИО, телефоны, адреса, e-mail, логины;
    • паспортные данные, номера полисов, СНИЛС и т.п.;
    • любые таблицы/выгрузки с идентифицирующей информацией.
  • Конфиденциальную/служебную информацию:

    • закрытые внутренние документы организаций;
    • выгрузки из реальных внутренних систем без явного разрешения.

Если вы случайно закоммитили секрет или ПДн, необходимо:

  1. немедленно удалить файл из репозитория;
  2. при необходимости переписать историю (или сообщить преподавателю);
  3. скомпрометированные секреты нужно отозвать/заменить.

3. Допустимые данные

Что можно использовать в репозитории:

  • общедоступные открытые датасеты (OpenML, Kaggle, UCI и т.п.), если это не нарушает их лицензию;
  • синтетические данные, сгенерированные специально для проекта;
  • обезличенные данные, из которых невозможно восстановить конкретное лицо;
  • небольшие демонстрационные выборки, необходимые для запуска проекта, без ПДн и секретов.

Если есть сомнения, можно исходить из простого правила:

«Если я не уверен, можно ли это показать кому угодно – лучше не класть в репозиторий».


4. Конфигурации и файлы .env

  • Реальные секреты и пароли храните только локально, вне репозитория.
  • Для конфигураций используйте:
    • файлы в project/configs/ (например, config.yaml);
    • шаблоны окружения, например: .env.example без реальных значений.

Рекомендуемый подход:

  1. В репозитории:
    • project/configs/.env.example – список переменных окружения без значений.
  2. Локально (не в репозитории):
    • файл .env с реальными значениями (он игнорируется .gitignore).

5. Поддержка чистоты репозитория

В репозитории уже настроен файл .gitignore, который помогает:

  • не добавлять в Git временные файлы, кеши и окружения;
  • случайно не закоммитить .env и некоторые другие служебные файлы.

Перед коммитом:

  1. Просматривайте список изменённых файлов (git status, git diff).
  2. Убедитесь, что среди них нет:
    • неожиданных файлов данных,
    • секретов,
    • временных артефактов.

6. Ответственность студента

Соблюдение этих правил:

  • снижает риски утечек данных и компрометации аккаунтов;
  • помогает придерживаться требований законодательства о персональных данных и внутренних политик организации;
  • формирует у вас корректные практики разработки ИИ-систем.

Если вы не уверены, можно ли добавлять конкретный файл в репозиторий, лучше:

  • не коммитить его;
  • уточнить у преподавателя.

There aren’t any published security advisories