Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
privacy-parser — Обратная функция фильтра конфиденциальности OpenAI. Та же модель 1.5b, возвращает PII в виде структурированных спанов вместо маскирования | Kitploit
Инструменты/GitHubGitHub/chiefautism/privacy-parser
OSINT (Разведка открытых источников)РазведкаАнализ уязвимостейЭксфильтрация данныхСбор информацииТестирование на ПроникновениеКонфиденциальностьМашинное Обучение
GitHubchiefautism/privacy-parser

privacy-parser

Обратная функция фильтра конфиденциальности OpenAI. Та же модель 1.5b, возвращает PII в виде структурированных спанов вместо маскирования

Репозиторий
40334234 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Privacy Parser

Находит все фрагменты PII в массиве текста и возвращает их в виде структурированных спанов.

Построен на основе OpenAI Privacy Filter: та же модель 1.5B, те же метки, те же веса.
Privacy Filter маскирует. Privacy Parser извлекает.

python license labels F1


Hi Quindle Testwick ([email protected] / +1-415-555-0102),
account 40702810500001234567, 14 Beautiful Ct, Anytown USA,
password Priv4cy-Filt3r-2026.
private_person      Quindle Testwick
private_email       [email protected]
private_phone       +1-415-555-0102
account_number      40702810500001234567
private_address     14 Beautiful Ct, Anytown USA
secret              Priv4cy-Filt3r-2026

Вместо <REDACTED> вы получаете что было найдено, где оно находится (start, end) и какого оно типа.

Зачем

Privacy Filter отвечает на вопрос «сделать этот текст безопасным». Иногда нужен другой ответ: «что именно здесь находится?»

  • Аудит логов, дампов и экспортов перед тем, как они покинут ваш периметр
  • Инвентаризация персональных данных для запросов GDPR / CCPA
  • Проверки pre-commit и CI на утечки секретов и контактных данных
  • Создание датасетов: разметка PII-спанов для обучения или оценки

Три бэкенда

БэкендНужны весаСкоростьF1 *Когда использовать
PIIParserнетµs1.000без зависимостей, структурированные шаблоны
ModelPIIParser1.5B~500 ms CPU0.733сырой вывод модели
HybridPIIParser1.5B~600 ms CPU0.929выбор по умолчанию

* точное совпадение спанов на пяти образцовых фикстурах opf. Небольшой набор: рассматривайте его как smoke-тест, а не как бенчмарк.

Установка

git clone https://github.com/openai/privacy-filter
git clone https://github.com/chiefautism/privacy-parser

uv venv
uv pip install -e ./privacy-filter    # only for the model backends
uv pip install -e ./privacy-parser

Первый запуск модели загружает контрольную точку opf (~3 ГБ) в ~/.opf/privacy_filter/. Задайте OPF_CHECKPOINT или передайте model=, чтобы использовать другое расположение.

Быстрый старт

Гибридный режим (рекомендуется)

from pii_parser.hybrid import HybridPIIParser

parser = HybridPIIParser(device="cpu")   # or "cuda"
result = parser.parse("Hi Quindle Testwick, call me at +1-415-555-0102")

for s in result.spans:
    print(s.label, s.start, s.end, s.text)

print(result.to_json())

Только регулярные выражения, без весов

from pii_parser import parse

result = parse("mail [email protected], token ghp_abcdefghijklmnopqrstuvwxyz0123456789")

result.detected_spans   # (DetectedSpan(label='private_email', ...), ...)
result.redacted_text    # 'mail <REDACTED>, token <REDACTED>'
result.summary          # {'span_counts': {...}, 'total_spans': 2}

CLI

Бэкенд на регулярных выражениях, без модели:

$ echo "Alice paid 40702810500001234567 on 2026-05-17." | pii-parser --mode spans
account_number  11  31  40702810500001234567
private_date    35  45  2026-05-17

$ pii-parser "mail [email protected]" --mode redacted
mail <REDACTED>
ФлагЗначенияПо умолчанию
TEXTтекст, или -f FILE, или stdin
--modejson · spans · redactedjson
--placeholderлюбая строка<REDACTED>
--indentint, 0 для компактного JSON2

Бэкенд модели:

python -m pii_parser.cli_model "Alice paid 40702810500001234567 on 2026-05-17."
python -m pii_parser.cli_model -f dump.txt --device cuda --mode spans

Метки

Таксономия opf v2, 8 категорий:

МеткаПример
private_personQuindle Testwick
private_email[email protected]
private_phone+1-415-555-0102
private_address14 Beautiful Ct, Anytown USA
private_urlhttps://example.com/u/quindle
private_date2026-05-17
account_number40702810500001234567
secretsk-…, ghp_…, AKIA…, Bearer …

При пересечении диапазонов побеждает более длинный, затем метка с более высоким приоритетом: email > url > secret > account > phone > date > address > person.

Как работает гибридный подход

text
  │
  ▼
opf 1.5B ──► BIOES logits ──► Viterbi (tuned biases) ──► char spans
  │
  ▼
span merge        glues "Quindle" + "Testwick" into one person
  │
  ▼
regex backstop    adds url / secret / account where the model missed them
  │
  ▼
spans[]

Каждый этап можно отключить:

HybridPIIParser(
    enable_merge=True,
    enable_regex_backstop=True,
    enable_viterbi_tuning=True,
    decode_mode="viterbi",   # or "argmax"
)

Схема вывода

{
  "text": "Hi Quindle Testwick ...",
  "spans": [
    { "label": "private_person", "start": 3, "end": 19, "text": "Quindle Testwick" }
  ]
}

Регулярное выражение PIIParser повторяет структуру opf.RedactionResult (schema_version, summary, detected_spans, redacted_text), поэтому вы можете менять бэкенды, не затрагивая потребителей.

Тесты

Тесты ожидают, что privacy-filter клонирован рядом с этим репозиторием (они читают его примеры фикстур).

python tests/test_hybrid.py
Fixture F1:  0.929
Scenarios:   8/8 passed
Latency:     ~600 ms CPU

Ответственное использование

Это инструмент двойного назначения. Запускайте его только на данных, которыми вы владеете или которые уполномочены обрабатывать. Извлечение персональных данных из утёкших или украденных источников незаконно в большинстве юрисдикций.

Лицензия

Apache-2.0

Скачать инструмент