А вот кто сталкивался или просто подскажите такой момент. Допустим, есть SaaS, который распространяется on-premise или даже утилита на питоне/другом интерпретируемом языке. Как ее можно продавать, не раскрыв исходников и снизив вероятность утечки сорцов?
Достаточно ли будет сгенерить исполняемый файл (pyinstaller)?
Поставив себя на место пользователя, в том числе корпоративного, или даже сам покупая и ставя в компанию утилиты/SaaS, как бы вы могли взломать исходники, если бы была такая нужда? Стали бы вообще такое делать?
Ну и чтобы два раза не вставать. Поделитесь опытом распространения продуктов в готовых Докер-контейнерах. Есть ли там что защищать, что скрывать, чего опасаться и чему уделить внимание в плане безопасности сорцов?
Здравствуйте, DiPaolo, Вы писали:
DP>Ну и чтобы два раза не вставать. Поделитесь опытом распространения продуктов в готовых Докер-контейнерах. Есть ли там что защищать, что скрывать, чего опасаться и чему уделить внимание в плане безопасности сорцов?
Работал в Амриканской фирме. Они ПХП код зашифровывали обфускатором.
Может по этому же пути идти?
Здравствуйте, DiPaolo, Вы писали:
DP> А вот кто сталкивался или просто подскажите такой момент. Допустим, есть SaaS, который распространяется on-premise или даже утилита на питоне/другом интерпретируемом языке. Как ее можно продавать, не раскрыв исходников и снизив вероятность утечки сорцов?
(особо посмотри на тулзы, которые компилируют питон в сишечку или плюсы: nuitka, pyqtdeploy)
DP> Достаточно ли будет сгенерить исполняемый файл (pyinstaller)?
Нет. Это очень просто снимается. Посмотри https://habr.com/ru/articles/258613/ Там не pyinstaller, но из той же оперы защита.
DP> Поставив себя на место пользователя, в том числе корпоративного, или даже сам покупая и ставя в компанию утилиты/SaaS, как бы вы могли взломать исходники, если бы была такая нужда? Стали бы вообще такое делать?
Ну, если есть нужда, то не останавливает не то что байткод питона, но и натив
Здравствуйте, DiPaolo, Вы писали:
DP>Поставив себя на место пользователя, в том числе корпоративного, или даже сам покупая и ставя в компанию утилиты/SaaS, как бы вы могли взломать исходники, если бы была такая нужда? Стали бы вообще такое делать?
Надо понять, от чего конкретно хотим защищаться:
— От кряков?
— Чтобы конкуренты не зареверсили хитрый алгоритм?
— Чтобы конкуренты не стырили куски кода?
— Чтобы совсем ушлые люди не склонировали весь проект?
Для каждого из этих пунктов будет оптимален разный уровень защиты с разным бюджетом.
Re: Python/другие интерпретируемые языки и защита исходников
Ценность исходников сильно преувеличена. Компания, где я трудился, по моей просьбе покупала лицензии, к которым в комплекте шли исходники — в исходники никто ни разу не заглянул.
Если постоянно вносить изменения, что толку со снапшота? Форкнувшие сами развивать его будут? Во что?
А вообще, как выше правильно написали, надо понять, от чего защищаться.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Ну чтобы было больше конкретики, опишу подробнее. Я в последнее время очень много использую питон. Хотя в базе плюсы и потом го. Сильно удобно на питоне и быстро.
В планах несколько проектов. Хочу по-привычному использовать питон (из преимуществ – один базовый код и для SaaS, и для CLI, и даже для десктопа). И хочется ответить себе на вопрос: а безопасно ли будет это поставлять клиентам. Или лучше взять компилируемый язык, тот же Го.
Безопасность – тут я в первую очередь про крики и во-второую – про клонировать весь проект целиком.
Патриот здравого смысла
Re[2]: Python/другие интерпретируемые языки и защита исходников
Здравствуйте, Alekzander, Вы писали:
A>Здравствуйте, DiPaolo, Вы писали:
A>Ценность исходников сильно преувеличена. Компания, где я трудился, по моей просьбе покупала лицензии, к которым в комплекте шли исходники — в исходники никто ни разу не заглянул.
Подтверждаю, часто такое бывает, но:
A>Если постоянно вносить изменения, что толку со снапшота? Форкнувшие сами развивать его будут? Во что?
— это только до первого реально пожелавшего использовать продукт в хвост и в гриву, не платя x1000, как положено. Когда будет такая финансовая заинтересованность, такая контора-хитрец найдёт способ и деобфусцировать, и ужиться с багами (в конце концов сейчас как-то живут, хуже не будет), и даже если не развивать продукт, то как минимум фиксить баги.
И никому не известно как именно будет использован этот код. Для того, чтобы не платить за лицензии поштучно, или тихой сапой будет встроен в какой-то внутренний продукт, который они пишут для своих заказчиков или заказчика — вы и не узнаете.
Всё, написанное выше, неактуально для НЕуспешных проектов. Но когда и если ваш проект зацепит какую-то аудиторию, у которой есть возможная длинная шкала роста сколько платить — к примеру от $100 до $100K, именно эту потенциальную прибыль вы и потеряете, и, повторюсь, даже не узнаете об этом.
Да, там есть много способов вас обмануть и даже если всё заобфусцированно, но они — ДОРОЖЕ и рискованнее в техническом плане (они по-прежнему задают себе вопрос "а смогу ли я это поддерживать сам" или всё, что они видят — технические трудности, которые уже созданные для этого, и новые которые, вероятно, будут созданы автором в будущем, это нужно демонстрировать!).
Re[3]: Python/другие интерпретируемые языки и защита исходников
Здравствуйте, sharez, Вы писали:
S>контора-хитрец найдёт способ и деобфусцировать, и ужиться с багами
Звучит как "платёжеспособный покупатель", ага.
А вообще, конечно, случаи бывают разные. Я просто привёл пример, за что лично мы платили деньги (за поддержку), а на что нам было начихать (на исходники).
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Re: Python/другие интерпретируемые языки и защита исходников
Здравствуйте, DiPaolo, Вы писали:
DP>Привет!
DP>А вот кто сталкивался или просто подскажите такой момент. Допустим, есть SaaS, который распространяется on-premise или даже утилита на питоне/другом интерпретируемом языке. Как ее можно продавать, не раскрыв исходников и снизив вероятность утечки сорцов?
В 2024-ом имеет смысл скрывать исходники, если в проекте используется GPL, и нужно скрыть этот факт. В остальных случаях исходники сами по себе имеют околонулевую ценность, потому что в придачу ещё нужна команда, которая будет поддерживать и развёртывать код, вносить изменения. И тут мы приходим к парадоксу — деньги на такое мероприятие есть только у больших компаний, а им, как раз, прощё купить лицензию и жить спокойно.
P.S. Разумеется, это всё верно, если проект хоть сколько нибудь сложный. Если под SaaS понимается переименованный бинарник с заменёнными логотипами, то нужно шифровать по полной
Re[4]: Python/другие интерпретируемые языки и защита исходников
Здравствуйте, Alekzander, Вы писали:
A>Здравствуйте, sharez, Вы писали:
S>>контора-хитрец найдёт способ и деобфусцировать, и ужиться с багами
A>Звучит как "платёжеспособный покупатель", ага.
Именно так и звучит. Деобфускация, как и любое телодвижение стоит денег. Заплатить $1K за деобфускацию или $10K за лицензии — такая сильная денежная мотивация срежет вам платежеспособного покупателя, и только уменьшение этой разницы позволит вам стрясти деньги.
Ни один платежеспособный человек, не купил бы Ламборгини, если бы её можно было нелегально "скачать", но чтобы никто не узнал. Те, кто заплатил — вот они первые и ездили бы на них бесплатно.
A>А вообще, конечно, случаи бывают разные. Я просто привёл пример, за что лично мы платили деньги (за поддержку), а на что нам было начихать (на исходники).
Именно, что разные. Из 100 разных случаев бывает 1, который будет годами кормить. Вот его нужно не прозевать.
Re[2]: Python/другие интерпретируемые языки и защита исходников
Здравствуйте, sharez, Вы писали:
S>>>контора-хитрец найдёт способ и деобфусцировать, и ужиться с багами
A>>Звучит как "платёжеспособный покупатель", ага.
S>Именно так и звучит. Деобфускация, как и любое телодвижение стоит денег. Заплатить $1K за деобфускацию или $10K за лицензии — такая сильная денежная мотивация срежет вам платежеспособного покупателя, и только уменьшение этой разницы позволит вам стрясти деньги.
Вложить $1K в воровство с неизвестным результатом (получится или нет вообще) и юридическими (что будет, если правда вылезет?) и техническими (как понять, откуда баг — был изначально или внесён при "деобфускации"? и кто его фиксить будет?) последствиями? Вместо того, чтобы для начала попробовать выторговать скидку? Что может пойти не так.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Re[2]: Python/другие интерпретируемые языки и защита исходников
Здравствуйте, Alekzander, Вы писали:
A>Вложить $1K в воровство с неизвестным результатом (получится или нет вообще) и юридическими (что будет, если правда вылезет?) и техническими (как понять, откуда баг — был изначально или внесён при "деобфускации"? и кто его фиксить будет?) последствиями? Вместо того, чтобы для начала попробовать выторговать скидку? Что может пойти не так.
$1K для конторы недорого, другое дело, что все же нужен специалист в такой специфической области Это его где-то искать надо, причем лучше по знакомству, иначе будет риск, что случится полицейская провокация. Конечно, люди разные, кто-то любит рисковать и готов может даже сесть за небольшие, в сущности, деньги.
Re: Python/другие интерпретируемые языки и защита исходников
DP>Поставив себя на место пользователя, в том числе корпоративного, или даже сам покупая и ставя в компанию утилиты/SaaS, как бы вы могли взломать исходники, если бы была такая нужда? Стали бы вообще такое делать?
мне, как в большей степени фронту, чем бэку, привычно дебажить обфусцированный js (не взлома ради, а в рамках разбирательств почему очередное чего-то-там не работает)
полагаю, для всех остальных языков нет проблем найти людей, которые компилированный/обфусцированный код дебажат не напрягаясь