Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
names = [
'image.bmp',
'second.txt.bkp',
'data.db',
'.config.cfg',
'file.ext.bkp'
]
И мы хотим убрать у них окончание ".bkp".
Не знаю зачем, пример довольно надуманный) Но суть он показывает, а это главное.
Те, кто еще не очень знаком с библиотекой os.path или pathlib, вероятно решат обработать имена как строки. И тут вполне подойдет метод строки strip().
Что делает этот метод? Он отрезает указанные символы по обеим сторонам строки. Если ничего не указать, то убирает невидимые символы (пробелы, табуляции и переносы строк).
В нашем случае будет выглядеть вот так:
>>> name.strip('.bkp')
То есть просим удалить строку '.bkp' по краям имени файла, если таковая есть.
Можно применить аналогичный метод rstrip(), чтобы отрезать только справа, но для этого примера используем обычный.
>>> for name in names:
>>> print(name.strip('.bkp'))
image.bm
second.txt
data.d
config.cfg
file.ext
Хм, что-то не то с нашими именами! Что случилось??? Видим нежелательное переименование в именах, где и близко не было указанной строки '.bkp'
А дело всё в том, что данный метод ищет не указанную строку, а указанные символы, и не важно в каком порядке.
Для метода strip() строка '.bkp' это не паттерн для поискаа список символов. Потому он отрезал симовол 'p' от '.bmp' и удалил точку из файла '.config.cfg'.
Как тогда правильно заменить именно паттерн? Для начинающего можно посоветовать метод строки replace(), который как раз использует для замены указанную строку целиком. В нашем примере заменим её на пустую строку.
>>> for name in names:
>>> print(name.replace('.bkp', ''))
image.bmp
second.txt
data.db
.config.cfg
file.ext
Уже лучше, но помните, это лишь пример про strip(). Для работы с именами файлов есть способы и более "правильные", дающие однозначно верный результат. Я взял файлы только в качестве примера. Даже replase() тут может сделать не то что ожидаем.
Просто впредь будьте внимательны с этим strip().
#basic
🍿#DRIFT Американская юридическая фирма Gibbs Mura объявила о начале расследования по поводу возможного коллективного иска в связи с взломом Drift Protocol. Расследование будет сосредоточено на том, приняла ли Circle своевременные меры по заморозке средств. Фирма заявила, что в настоящее время собирает информацию от пострадавших инвесторов и оценивает целесообразность подачи иска против Circle за непринятие действий по предотвращению потери средств.
#DRIFT запампился на >100% на новости. С утра он не покидает топы по спотовым и фьючерсным покупкам на всех CEX. Примечательно, что крупные покупки начались лишь спустя несколько часов после опубликования новости в боте в 2:25 по мск.
📊Chart👈
🏴☠️#DRIFT The fallout from the Drift incident continues to expand, with the number of affected protocols growing from 11 to 20, including PiggyBank, Perena, Vectis, Valeo, Amp Pay, Loopscale, Prime Numbers Fi, Gauntlet and Expent. Prime Numbers Fi is estimated to have lost >$10 million. Wublockchain
💸#DRIFT Проект Drift Protocol привлекает$127,500,000 от Tether для восстановления средств пользователей после взлома.
Еще $20,000,000 помощи выделят другие партнеры.
Ранее: взлом на $285m
Crypto Headlines
#DRIFT
Drift: атака 1 апреля готовилась около полугода и, вероятно, связана с северокорейской группой
Drift сообщила, что продолжает расследование атаки вместе с правоохранителями, Mandiant и ончейн-специалистами. Все оставшиеся функции протокола заморожены, а скомпрометированные кошельки удалены из multisig.
По предварительным выводам, атака готовилась с осени 2025 года.
Злоумышленники выдавали себя за торговую фирму, знакомились с участниками команды на крупных криптоконференциях, вели с ними рабочие обсуждения, создавали общий трек взаимодействия и даже завели на Drift более $1 млн собственного капитала через Ecosystem Vault.
Предполагаемые векторы компрометации:
— один из участников мог заразить устройство после клонирования репозитория, присланного как якобы фронтенд для vault
— второй мог установить через TestFlight приложение, которое выдавали за кошелек
— отдельно Drift допускает связь с известной уязвимостью в VSCode и Cursor, при которой открытие файла или репозитория могло запустить вредоносный код без предупреждения
По оценке Drift и команды SEAL 911, с атакой могут быть связаны те же участники, что стояли за взломом Radiant Capital в октябре 2024 года. Речь идет о группе, которую ранее связывали с UNC4736 / AppleJeus / Citrine Sleet, то есть с инфраструктурой, ассоциируемой с КНДР.
Drift отдельно подчеркивает важный момент: люди, которые лично выходили на связь с командой, скорее всего, не были гражданами КНДР. По версии проекта, для офлайн-контактов могли использоваться посредники с полностью проработанными легендами, карьерной историей и профессиональными профилями.
#DRIFT
Drift взломали через фейковый токен и отключение лимитов на вывод
Атакующий заранее выпустил 750 млн фейковых CVT, создал пул на Raydium с ликвидностью всего около $500 и неделями прогонял через него сделки, чтобы собрать историю цены. Затем через скомпрометированный админский ключ Drift токен добавили как новый spot market.
В той же транзакции лимиты на вывод по USDC и еще четырем рынкам подняли до 500 трлн, фактически отключив защиту. После этого злоумышленник завел 785 млн CVT как залог, нарисовав себе около $785 млн обеспечения при реальной ликвидности пула в районе $700.
С этим фейковым залогом за 12 минут вывели активы почти из всех хранилищ:
— 66,4 млн USDC
— 42,7 млн JLP
— 23,3 млн MOODENG
— 5,6 млн USDT
— 5,2 млн USDS
— 2,6 млн JUP
— 583 тыс. RAY
— 477 тыс. WETH
Дальше средства начали выводить и дробить:
— 103 млн USDC отправили на один адрес
— 42,7 млн JLP сожгли через Jupiter Perps
— остальное обменяли в SOL и раскидали по нескольким кошелькам
#drift
Немного о проекте над которым сейчас работаю в рамках Blockchain Sports Drift - это дрифтовый автопилот. Я как всегда себе верен и для начала создал довольно функциональный инструмент с помощью которого можно отображать телеметрию машины, делать записи и воспроизведения, работать над траекторией и контролировать обучение и всё через юзер-френдли интерфейс. Система работает как с симуляцией Assetto Corsa так и нашей специально подготовленной машиной. Пока я использую традиционные RL алгоритмы, но стараюсь делать платформу гибкой для расширения и использования альтернативных решений в бедующем.
И как врачи и алхимики древности плоды своих исследований я испытываю на себе) Также со мной в испытаниях в роли пилота Мак Кравец, контролирует большую зеленую кнопку (в нашем случае она зеленая) и страхует нас.
И конечно, развитие это проекта это результат совместной и слаженной работы очень грамотных инженеров и менеджеров. По мере развития проекта буду рассказывать о нем под тегом #drift