ШІ-інструменти та скрипти
Перевірка персональних даних (PII) у логах
Перевірте виклики логування та налаштування до випуску: паролі, токени, рядки підключення, заголовки Authorization і номери карток у логах, тіла запитів входу, email і номери документів, цілі об'єкти користувачів, DEBUG у продакшені, PII в Sentry.
Що ви отримаєте: 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
ШІ-інструменти та скрипти
Перевірка персональних даних (PII) у логах
Перевірте виклики логування та налаштування до випуску: паролі, токени, рядки підключення, заголовки Authorization і номери карток у логах, тіла запитів входу, email і номери документів, цілі об'єкти користувачів, DEBUG у продакшені, PII в Sentry.
Getly відкрив завантажені файли й не знайшов нічого, що завадило б їх відкрити. Це не антивірусна перевірка і не оцінка якості.
Теги
Поширені запитання
Чи отримаю я доступ одразу?
Так. Це цифровий товар: ви можете завантажити його одразу після оплати, просто зі своєї бібліотеки.
Чи можна використовувати його в комерційних проєктах?
Так. Комерційне використання дозволено: користуйтеся в особистому бізнесі та в тому, що продаєте. Ви не можете перепродавати чи поширювати сам файл.
Яка у вас політика повернення коштів?
Ви можете запросити повернення коштів протягом 30 дн. Якщо щось не так, подайте запит зі свого замовлення, і команда Getly його розгляне.
Які формати та розміри файлів я отримаю?
Ви завантажите 1 файл - ZIP - загалом 65.54 KB.
Чи отримую я безкоштовні оновлення?
Так: коли продавець випускає нову версію, ви можете повторно завантажити свіжі файли зі своєї бібліотеки безкоштовно. Останні оновлення дивіться в журналі змін.
Ціна
$5.00



