Computer fraud laws used to prosecute leaking air crash footage to CNN
Суть дела
После столкновения армейского вертолёта с пассажирским самолётом над Потомаком погибли 67 человек. Вместо выяснения причин катастрофы следователи из Виргинии сосредоточились на поиске того, кто передал CNN видео крушения.
Как карают источник
Сотрудник диспетчерской службы аэропорта Мохамед Мбенг записал на телефон кадры с мониторов и отправил их журналистам. Его обвинили по расплывчатому закону Виргинии о «компьютерном вторжении», хотя он имел законный доступ к видео и просто снял экран. Мбенг вынужден был признать вину.
Проблема закона
CFAA и похожие законы позволяют преследовать даже тех, кто легально работает с данными, но использует их «не так». Это превращает инструмент защиты информации в способ наказать тех, кто сообщает общественности важные факты.
Комментарии (80)
- Утечка видео с камеры наблюдения из диспетчерского центра полиции вызвала спор: одни считают это преступлением, другие — преувеличением.
- Основная претензия: журналисты CNN не замазали в кадре текст, выдавший местоположение камеры, что могло поставить под угрозу источник.
- Многие участники обсуждения считают применение CFAA и закона о «компьютерном мошенничестве» чрезмерным, поскольку инцидент происходил на публике и другие видео уже были доступны.
- Соглашение: сотрудника можно уволить и даже подать гражданский иск, но квалифицировать действия как уголовное преступление — спорно.
Top Secret: Automatically filter sensitive information
Top Secret — новая open-source библиотека от thoughtbot для удаления чувствительных данных из произвольного текста.
Проблема: регулярки не ловят всё (имена, адреса, карты). Решение: смесь regex и NER (распознавание именованных сущностей) через гем mitie-ruby.
Как работает:
TopSecret::Text.filter
заменяет сущности на токены[PERSON_1]
,[LOCATION_1]
и возвращаетmapping
.- После ответа LLM вызываем
TopSecret::FilteredText.restore
, чтобы вернуть реальные значения.
Пример:
input = "Ralph lives in Boston."
filtered = TopSecret::Text.filter(input)
#=> "[PERSON_1] lives in [LOCATION_1]."
mapping = { PERSON_1: "Ralph", LOCATION_1: "Boston" }
response = "Hi [PERSON_1]! How is the weather in [LOCATION_1]?"
TopSecret::FilteredText.restore(response, mapping: mapping)
#=> "Hi Ralph! How is the weather in Boston?"
Подходит для чат-ботов, где нужно скрыть персональные данные, но сохранить контекст.
Код и демо: GitHub и стрим.
Комментарии (12)
- Обсуждают лёгкий NER-фильтр на базе MITIE для автоматического скрытия чувствительных данных в строках.
- US Marshalls уже заинтересовались такой «авто-редактурой».
- Участники предупреждают: NER не 100 % точен, модель старая (~10 лет) и плохо переносится на новые домены.
- Возникает вопрос, можно ли применять фильтр к стримингу/шерингу экрана: технически возможно через accessibility-API, но нужно определять координаты сущностей и бороться с ложными срабатываниями.
- Для продакшена с длинными диалогами 1 с на инференс может быть медленно; логировать через LLM-фильтр тоже рискует «убить» скорость.