инструмент, написанный на языке Go и предназначенный для обмена файлами, который позволяет найти ответственного пользователя за утечку.
Для установки можно скачать готовые двоичные файлы со страницы релизов, распаковать и запустить их
unzip wholeaked_0.1.0_macOS_amd64.zip
./wholeaked --help
Или установить утилиту через Go.
go install github.com/utkusen/wholeaked@latest
💡Принцип работы
wholeaked получает файл, которым нужно поделиться, и список получателей. Далее создается уникальная подпись для каждого получателя и добавляется в файл, при этом не влияя на его содержимое. После этого утилита может автоматически отправлять файлы соответствующим получателям с помощью интеграций с Sendgrid, AWS SES или SMTP. Вместо отправки по электронной почте можно поделиться файлами вручную.
Инструмент работает с файлами любого типа. Однако у него есть дополнительные функции для распространённых типов файлов, таких как PDF, DOCX, MOV и т. д.
Чтобы узнать, кто был ответственным за утечку документа, необходимо просто прогнать этот файл через wholeaked, и утилита определит ответственного, сравнив подписи в базе данных.
📎Типы файлов и режимы обнаружения
⏺️Хэш файла SHA256. Поддерживаются все типы файлов;
⏺️Добавление подписи непосредственно в бинарный файл. Поддерживаются большинство типов файлов;
⏺️Добавление подписи в раздел метаданных файла. Поддерживаемые типы файлов: PDF, DOCX, XLSX, PPTX, MOV, JPG, PNG, GIF, EPS, AI, PSD;
⏺️В текст вставляется невидимая подпись в виде водяного знака. Поддерживаются только PDF-файлы.
💻 Использование
./wholeaked -n test_project -f secret.pdf -t targets.txt
Файл targets.txt должен содержать имя и адрес электронной почты в следующем формате:
Utku Sen,utku@utkusen.com
Bill Gates,bill@microsoft.com
После завершения выполнения будут созданы следующие уникальные файлы:
test_project/files/Utku_Sen/secret.pdf
test_project/files/Bill_Gates/secret.pdf
По умолчанию добавляются подписи во все доступные места, но если нет необходимости использовать какой-либо метод, можно указать его с помощью значения false.
./wholeaked -n test_project -f secret.pdf -t targets.txt -binary=false -metadata=false -watermark=false
Для проверки подлинности утекшего файла используется флаг -validate, чтобы узнать, кому он принадлежит.
./wholeaked -n test_project -f secret.pdf -validate
❗️Для корректной валидации нельзя удалять файл project_folder/db.csv.
