Перейти к основному содержимому

Меню команд

Перейти на страницу или искать в каталоге

ИИ-инструменты и скрипты

Проверка персональных данных (PII) в логах

Проверьте вызовы логирования и настройки до выпуска: пароли, токены, строки подключения, заголовки Authorization и номера карт в логах, тела запросов входа, email и номера документов, целые объекты пользователей, DEBUG в продакшене, PII в Sentry.

$5.00

Что вы получите: 1 файл · 65.54 KB · ZIP

Варианты покупки

Описание товара

console.log("login", req.body) в маршруте входа записывает пароль каждого пользователя в ваш сервис логов, а log.info("user={}", user) выводит все поля объекта пользователя, включая хеш пароля. Логи копируются в большее число мест и читаются большим числом людей, чем база данных, из которой пришли данные. Этот навык находит такие ошибки и ещё одиннадцать других ошибок логирования до выпуска и объясняет, как исправить каждую из них.

Ваш агент запускает сканер для кода на Python, JavaScript и TypeScript, Java, Kotlin, Go, Ruby, PHP и C#, а также для application.properties и application.yml в Spring Boot, appsettings.json в ASP.NET Core, файлов logback и log4j, sentry.properties и .env.production. Он находит каждый вызов логирования или вывода (Python logging, structlog, print; console, pino, winston, NestJS; SLF4J, Log4j, Android Log, kotlin-logging; Go log, slog, zap, logrus; логгер Rails; Laravel Log, error_log; ILogger, Serilog) и читает, что он записывает: аргументы, ключи объектов, f-строки и шаблонные строки, а также значение после метки вроде "password=%s" или места подстановки {Password} в шаблоне. Он понимает, когда значение только проверяется, измеряется, обрезается или маскируется (token is None, len(token), token[:6], mask(card)), и что исключение не является секретом (logger.error("Failed to refresh token: %s", e)). Он учитывает пути redact в pino для ключей объектов в вызовах pino, типы LogValuer в Go и типы, объявленные в том же файле, чьи секретные поля исключены из логов (SecretStr, field(repr=False), @ToString.Exclude, [NotLogged]). Он пропускает только профили dev, development, local, test, ci и staging и считает вывод print в утилитах командной строки выводом, а не логами, тогда как обработчики Lambda, задачи Celery и веб-приложения по-прежнему считаются логами. Он никогда не запускает ваш код. Он возвращает BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного подхода. Секреты никогда не выводятся.

Что проверяется

BLOCK (исправьте до выпуска)

  • P01: пароли, токены, API-ключи, клиентские секреты и секретные ключи доступа AWS, приватные ключи, одноразовые коды, строки подключения и URL баз данных или всё окружение целиком, записанные в лог или выведенные на экран
  • P02: значения заголовков Authorization, Cookie или API-ключа (в том числе через HttpHeaders.AUTHORIZATION и HeaderNames.Authorization), идентификатор сессии или cookies запроса, morgan :req[authorization] или Authorization, добавленный в HTTP-логирование ASP.NET Core
  • P03: номера карт и коды безопасности CVV/CVC
  • P04: всё тело или форма запроса входа, регистрации или смены пароля

REVIEW (проверьте перед релизом)

  • P11: адреса электронной почты, номера телефонов, почтовые адреса и даты рождения
  • P12: номера социального страхования, национальных удостоверений, паспортов, налоговые номера и номера водительских прав, IBAN, номера банковских счетов, маршрутные номера банков и номера медицинских карт
  • P13: целые объекты пользователей, клиентов, учётных записей или запросов, объекты запросов входа или регистрации, наборы заголовков и сессии запросов
  • P14: целые тела запросов, формы, строки запроса и коллекции параметров
  • P15: DEBUG или TRACE как корневой уровень или уровень по умолчанию в продакшен-конфигурации (Spring Boot, appsettings.json, logback, log4j, production.rb в Rails, .env.production, корневой логгер Django в продакшене)
  • P16: логирование тела или заголовков HTTP, включённое вне проверки на режим разработки (HttpLoggingFields в ASP.NET Core, log-request-details и фильтры логирования запросов в Spring, HttpLoggingInterceptor в OkHttp без redactHeader, debuglevel в Python http.client, httputil.DumpRequest в Go)
  • P17: значения параметров SQL в логах (EnableSensitiveDataLogging в EF Core вне проверки на режим разработки, логгер привязок Hibernate на уровне TRACE)
  • P18: включённая в Sentry отправка PII по умолчанию (send-default-PII) или настройка dataCollection / data_collection, при которой остаются включёнными данные пользователя, cookies, заголовки или тела запросов
  • P19: значение с нейтральным именем, записанное в лог сразу после метки сообщения, которая называет секрет ("password: %s", value)

Что входит в комплект

  • Сканер (Python 3.9+, только стандартная библиотека)
  • Руководство по правилам с причиной, более безопасным подходом и источником (OWASP, CWE, PCI SSC, Microsoft, Sentry) для каждого правила
  • Рискованный и безопасный примеры проектов на пяти языках, а также реальный отчёт сканера по рискованному примеру

Ограничения

Он принимает решения по именам: значение в переменной с именем x или result сообщается, только если метка, ключ или присваивание в том же файле говорит, что в нём хранится, а значения, переданные через другие файлы, не отслеживаются. Маскирование в пользовательских фильтрах логов или шаблонах маскирования не учитывается. IP-адреса и имена пользователей не сообщаются, поскольку OWASP Logging Cheat Sheet рекомендует записывать их для событий безопасности. Вызов Sentry.init в JavaScript SDK 11 без dataCollection не сообщается, поскольку версия SDK не считывается. NOT FLAGGED не является гарантией.

Содержимое

Один ZIP-файл с 25 файлами: SKILL.md, сканер в scripts/ (8 файлов Python), references/rules.md (каждое правило с причиной и более безопасным подходом) и examples/ (14 файлов примеров плюс report.md, реальный вывод сканера для рискованного примера).

Как использовать: Это навык для агента: папка с файлом SKILL.md и скриптами Python, которые может запускать ИИ-агент для программирования, например Claude Code, Cursor или Codex CLI. Распакуйте его в папку навыков вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить ваш проект. Скрипты также работают самостоятельно с Python 3.9 или новее, ничего устанавливать не нужно. Они только читают ваши файлы: без доступа к сети, никакие данные никуда не отправляются.

Что вы получите

1 файл · 65.54 KB

  • pii-in-logs-check-1.0.0.zipZIP · 65.54 KB
ЛицензияКоммерческое использование разрешено
Проверка пакетаПройдена

Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.

Опубликовано12 нояб. 2026 г.
Размер файла65.54 KB
Формат файлаZIP
Версияv1.0

Теги

loggingprivacypiisecuritygdprai agent skill
R
RR HH

Частые вопросы

Доступ открывается сразу?

Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.

Можно ли использовать в коммерческих проектах?

Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.

Какие условия возврата?

Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.

Какие форматы и размеры файлов я получу?

Вы скачаете 1 файл - ZIP - всего 65.54 KB.

Обновления бесплатны?

Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.

Цена

$5.00