Аудит
Я не умею читать код. Совсем. Не понимаю, что там написано. Вижу буквы, скобки, точки с запятой. Смысл ускользает.
Как я тогда нахожу дыры? А никак. Я их не ищу. Их ищет Qwen-агент.
Вот как это работает.
Беру дамп кода. Весь проект целиком. Все файлы, все папки. Скидываю в Qwen. Не в обычный чат, а в агент. Это отдельный режим для сложных задач. Он умеет читать много кода сразу и держать всё в голове.
И говорю: проверь. Найди уязвимости. Скажи, где можно оптимизировать. Где логика хромает. Где тормозит.
Он читает. Долго. Иногда минуту, иногда две. Потом выдаёт отчёт.
Там всё. Критические дыры. Мелкие недочёты. Места, где код можно упростить. Места, где он жрёт лишнюю память. Места, где что-то может сломаться при определённых условиях.
Но вот что важно. Я не оставляю этот отчёт в Qwen. Я несу его обратно.
В тот самый чат, где идёт работа над проектом. Туда, где мы пишем код. Скидываю отчёт целиком. И говорю: вот тут такое, надо поправить. AI правит. Я проверяю поведение. Если всё работает и дыра закрыта, идём дальше.
А потом беру новый дамп. И повторяю.
Закрываю, повторяю. Закрываю, повторяю. И так по кругу.
Потому что иначе никак. Закрыл одно — вылезло другое. Не дыра, так логика. Не логика, так производительность. Не производительность, так ещё что-нибудь, о чём я даже не думал.
Граней столько, что голова кругом.
Вот пример. Поле поиска. Обычное поле, куда ты пишешь запрос. Я думал, что там может быть не так? Ну, найдет не то. Ну, пустой результат.
А оказалось, через это поле можно забить память сервера. Написать туда набор символов, который заставит движок сожрать всю оперативку. И всё, сервер лёг. Или завалить его вовсе. Просто написав что-то в поиск.
Я бы до этого никогда не додумался. Никогда. Мне такое в голову не придёт. Я не думаю как хакер. Я думаю как человек, который хочет найти пост.
А аудит думает. И говорит. И я закрываю. Потом снова аудит, снова закрываю. И снова.
Это как ремонт в старом доме. Заделал одну стену, а за ней труба течёт. Починил трубу, а там проводка старая. И так, пока не пройдёшь весь дом. Только дом не заканчивается. Всегда есть что-то ещё.
И вот зачем это всё. Не ради галочки. Не чтобы похвастаться, что у меня безопасный сайт.
А чтобы однажды, когда я зайду на свой блог, я не увидел там то, чего не должно быть. Чтобы какой-нибудь мамкин хакер не залил туда дикпик. Вот прям так, честно.
Думаю, это будет неприятно. И мне. И тебе, если ты это увидишь. Сидит такой человек, читает пост про Leptos, а там такое, что мама дорогая.
Я не хочу, чтобы так было.
Поэтому я не спорю с аудитом. Даже если кажется, что он не прав. Даже если думаю, что это ерунда. Потому что я не понимаю код. А он понимает. Если он говорит, что здесь дыра, значит, дыра. Может, ложная тревога. Может, не критично. Но лучше перебдеть.
Это как техосмотр. Ты не сам смотришь под капот. Ты едешь на станцию, и дядя в гараже говорит: тут тормоза стёрлись, тут масло течёт, тут ремень треснул. Ты не споришь. Ты едешь чинить.
Только у меня не дядя в гараже, а кремниевая башка. И работает она бесплатно. И читает быстрее любого дяди.
Не боюсь отдать
И вот ещё что. Я не боюсь отдавать код в чат.
Нечего скрывать. Что там такого, чего не может другой? Тем более ИИ?
Код это не секрет. Это логика. Решения. Ходы. Всё это можно повторить. Всё это AI напишет заново, если попросить. Ничего уникального в моём коде нет. Блог, редактор, поиск. Такое делали тысячу раз.
Единственное правило: не отдать файл с ключами и паролями. Вот это надо прятать. Это не моя логика, это доступ. Пароль от админки. Токен от GigaChat. Ключ от сервера. Если это утечёт, вот тогда будет больно.
А код пыль.
Почему я так думаю. Потому что я не строю ракету. Не пишу банковскую систему. Не храню чужие данные. У меня блог, где я рассказываю, как делаю блог. Если кто-то украдёт мой код, что он получит? Тот же блог. Только без моего контента, без моих постов, без моей истории. Пустышку.
И потом. Я сам отдаю код в Qwen. В облако. В чужую машину, которая где-то там. И ничего. Работает. И все так делают. Все, кто пишет с AI, отдают код. Это норма.
Так чего бояться.
Спросил правильно. Не «проверь код», а «найди уязвимости, слабые места, что можно улучшить». Конкретно. По пунктам. С деталями.
Вот в чём фокус. Не в том, что у меня есть Qwen. А в том, что я знаю, как его спросить. И знаю, куда отнести ответ. И не боюсь услышать, что всё плохо.
Потому что лучше услышать это от него, чем от того, кто взломает.