thảo luận Hỏi cách bảo vệ mã nguồn code dự án startup bị đánh cắp bởi các lập trình viên nội bộ?

noleha

Senior Member
Đây là vấn đề khá nhức nhối kể cả các công ty lớn trên thế giới cũng phải đau đầu vì mang yếu tố con người lớn nhất. Nếu chơi theo kiểu mạng LAN kiểm soát nội bộ thì cũng không thiếu cách để chôm source code qua nhiều thủ đoạn tinh vi (chụp/ghi hình giấu kín).
Vậy mạn phép xin hỏi cao kiến các vozer cần có những biện pháp gì để tránh bị đánh cắp mang cho đối thủ hoặc cạnh tranh lại chính công ty mình.

Có nhiều người (theo quora) nói rằng source code thật ra ít giá trị nhất trong 1 công ty product/startup, mọi người có đồng quan điểm như thế không? tại sao?
 
Đây là vấn đề khá nhức nhối kể cả các công ty lớn trên thế giới cũng phải đau đầu vì mang yếu tố con người lớn nhất. Nếu chơi theo kiểu mạng LAN kiểm soát nội bộ thì cũng không thiếu cách để chôm source code qua nhiều thủ đoạn tinh vi (chụp/ghi hình giấu kín).
Vậy mạn phép xin hỏi cao kiến các vozer cần có những biện pháp gì để tránh bị đánh cắp mang cho đối thủ hoặc cạnh tranh lại chính công ty mình.

Có nhiều người (theo quora) nói rằng source code thật ra ít giá trị nhất trong 1 công ty product/startup, mọi người có đồng quan điểm như thế không? tại sao?

Chuẩn rồi, giờ data mới có giá trị chứ code gì nữa. Ông thử lên github clone 1 cái dự án open source về xem thử có biết cách build không? Build xong biết cách xài không?
 
Chuẩn rồi, giờ data mới có giá trị chứ code gì nữa. Ông thử lên github clone 1 cái dự án open source về xem thử có biết cách build không? Build xong biết cách xài không?
cũng có lý, thời buổi công nghệ thì ai nhiều data, đổi mới sáng tạo liên tục là người đó thắng. Ngoài ra còn mang tính thời điểm, nhiều khi bê nguyên hệ thống làm lại từ đầu chưa chắc thành công bằng về mặt chiếm lĩnh thị trường.
 
Thì chặn tất cả những thủ đoạn tinh vi ấy lại, chụp hình thì cấm chụp, ghi âm cấm ghi. Cấm điện thoại, chặn internet, nhân viên khó chịu kệ họ, quan trọng là đạt được mục đích của mình.
Làm sao bảo mật đề thi? Tương tự, cách li người làm đề trong 22 ngày, không cho dùng điện thoại...

Trong khu vực in sao đề thi, không được sử dụng các phương tiện thông tin liên lạc, các loại điện thoại, trừ 01 điện thoại cố định có loa ngoài SP-phone đặt tại vòng 2 được cán bộ công an kiểm soát 24/24 giờ.
Mọi cuộc liên lạc đều phải bật loa ngoài, phải ghi biên bản hoặc ghi âm.
Nhắm không làm được, thì thôi, sống tinh thần cho đi - còn mãi nhớ :LOL:
 
Không có nhức nhối đâu. Trong open source, npm hay yarn nó clone thông qua github link để setup & install depedency/plugin/library thì bên mấy công ty lớn nó cũng làm y chang thôi, tổ chức một monorepo, xài yarn/npm hoặc bootstrap script (almost manual) để làm package control, dev một cái micro service/frontend quăng lên một version repo trên github, create release sau đó build package lock file và add encrypted key vô ENV để connect monorepo là xong, sau đó muốn xài thì phải clone service đó về, tất nhiên chỉ có function's name và params là visible trong module (node,...) còn code thì tất nhiên privated, cho nên mình chỉ biết những gì mình làm hoặc team mình làm cùng 1 feature, còn đâu thì privated hết. Vả lại người ta quan trọng là ý tưởng và thông hiểu đâu ai quan trọng code mà phải mất công chôm src code, đó là sự khác biệt giữa một thằng dev và một thằng coder đấy :LOL:
 
Không có nhức nhối đâu. Trong open source, npm hay yarn nó clone thông qua github link để setup & install depedency/plugin/library thì bên mấy công ty lớn nó cũng làm y chang thôi, tổ chức một monorepo, xài yarn/npm hoặc bootstrap script (almost manual) để làm package control, dev một cái micro service/frontend quăng lên một version repo trên github, create release sau đó build package lock file và add encrypted key vô ENV để connect monorepo là xong, sau đó muốn xài thì phải clone service đó về, tất nhiên chỉ có function's name và params là visible trong module (node,...) còn code thì tất nhiên privated, cho nên mình chỉ biết những gì mình làm hoặc team mình làm cùng 1 feature, còn đâu thì privated hết. Vả lại người ta quan trọng là ý tưởng và thông hiểu đâu ai quan trọng code mà phải mất công chôm src code, đó là sự khác biệt giữa một thằng dev và một thằng coder đấy :LOL:
Nếu ko pull về sao code nó chạy? Pull về thì vẫn mò ra source. Trừ phi đã biên dịch.
 
Nếu ko pull về sao code nó chạy? Pull về thì vẫn mò ra source. Trừ phi đã biên dịch.
Thế cho tôi hỏi, lúc ông install một package bằng yarn/npm thì trong node module nó có define nguyên source code trong đó không hay chỉ có tên hàm, tên biến và vài cái interface? Ông hỏi câu đó dám chắc ông chưa từng build package để share trong monorepo thông qua node modules rồi :LOL:
 
Đây là vấn đề khá nhức nhối kể cả các công ty lớn trên thế giới cũng phải đau đầu vì mang yếu tố con người lớn nhất. Nếu chơi theo kiểu mạng LAN kiểm soát nội bộ thì cũng không thiếu cách để chôm source code qua nhiều thủ đoạn tinh vi (chụp/ghi hình giấu kín).
Vậy mạn phép xin hỏi cao kiến các vozer cần có những biện pháp gì để tránh bị đánh cắp mang cho đối thủ hoặc cạnh tranh lại chính công ty mình.

Có nhiều người (theo quora) nói rằng source code thật ra ít giá trị nhất trong 1 công ty product/startup, mọi người có đồng quan điểm như thế không? tại sao?
Bác hỏi dưới vai trò là gì, nếu bác từng vận hành software thì bác sẽ thấy source code chả có giá trị mấy, trừ khi bán software dưới dạng self service/on prem. Còn SAAS/consumer software có lộ source code cũng chả quan trọng, năm nào chả có vài (chục) công ty lộ source code trên mạng, từ twitch cho tới github. Cái người ta thường lo là security issues khi source code bị lộ thôi chứ ko phải intellectual properties.

Chỉ có các công ty cực kỳ high tech, chưa ra sản phẩm, thị trường chưa ổn định thì mới lo. Self driving cars là một ví dụ. Thường trong điều khoản sẽ có NDA và non compete clause trong 1 - 3 năm.
 
Thế cho tôi hỏi, lúc ông install một package bằng yarn/npm thì trong node module nó có define nguyên source code trong đó không hay chỉ có tên hàm, tên biến và vài cái interface? Ông hỏi câu đó dám chắc ông chưa từng build package để share trong monorepo thông qua node modules rồi :LOL:
Tôi ko code javascript chính nên ko đi sâu, nhưng về nguyên tắc đối với ngôn ngữ thông dịch (python, javascript, php v.v...) source code phải có ở máy thì mới chạy, việc ông ko tìm thấy source gốc đâu có nghĩ nó ko nằm trên máy.

Ông thông não giúp tôi làm sao ứng dụng chạy được mà "chỉ có tên hàm, tên biến và vài cái interface", kèo theo tài liệu về việc này càng tốt.
 
Tôi ko code javascript chính nên ko đi sâu, nhưng về nguyên tắc đối với ngôn ngữ thông dịch (python, javascript, php v.v...) source code phải có ở máy thì mới chạy, việc ông ko tìm thấy source gốc đâu có nghĩ nó ko nằm trên máy.

Ông thông não giúp tôi làm sao ứng dụng chạy được mà "chỉ có tên hàm, tên biến và vài cái interface", kèo theo tài liệu về việc này càng tốt.
cãi nhau chi cho mệt, thử test biết liền mà, kêu ông trên đưa 1 ví dụ về cái ổng nói, ông tải phpstorm hay webstorm của jetbrain về, ctrl click vào tên hàm là nó trỏ ngay về source chứa hàm đó mà, nếu nó có chứa trong project chắc chắn thằng ide sẽ mò ra đc:D
 
Bác hỏi dưới vai trò là gì, nếu bác từng vận hành software thì bác sẽ thấy source code chả có giá trị mấy, trừ khi bán software dưới dạng self service/on prem. Còn SAAS/consumer software có lộ source code cũng chả quan trọng, năm nào chả có vài (chục) công ty lộ source code trên mạng, từ twitch cho tới github. Cái người ta thường lo là security issues khi source code bị lộ thôi chứ ko phải intellectual properties.

Chỉ có các công ty cực kỳ high tech, chưa ra sản phẩm, thị trường chưa ổn định thì mới lo. Self driving cars là một ví dụ. Thường trong điều khoản sẽ có NDA và non compete clause trong 1 - 3 năm.
em đang lên kế hoạch startup ứng dụng trả phí nên tìm hiểu thêm vấn đề này. Có vẻ đúc kết việc lộ code sợ ảnh hưởng bảo mật đánh cấp hay thay đổi dữ liệu quan trọng hơn là bị cạnh tranh gì đó.
 
Tôi ko code javascript chính nên ko đi sâu, nhưng về nguyên tắc đối với ngôn ngữ thông dịch (python, javascript, php v.v...) source code phải có ở máy thì mới chạy, việc ông ko tìm thấy source gốc đâu có nghĩ nó ko nằm trên máy.

Ông thông não giúp tôi làm sao ứng dụng chạy được mà "chỉ có tên hàm, tên biến và vài cái interface", kèo theo tài liệu về việc này càng tốt.
Theo tôi tài liệu tốt nhất mà tôi biết là keyword "node modules", ông cứ dùng bất kỳ lib/framework/package nào được quản lý bởi node modules (nodejs, expressjs, react, vue, angular,...), sau đó truy cập vào một số hàm có sẵn của lib đó (vs react sẽ có các XML jsx (View, Text, TouchableOpacity,...), các function như useState, useEffect,...), ông tìm defined của nó chắc chắn sẽ xuất hiện trong node modules, nhưng đảm bảo ông chỉ có thể tìm được function & params defined chứ không thể tìm thấy code, và depedency nó được định nghĩa thông qua github repo link chứ không clone nguyên source về máy
Tôi cũng ko biết giải thích gì thêm, ông cứ dùng đi rồi sẽ hiểu
 
Theo tôi tài liệu tốt nhất mà tôi biết là keyword "node modules", ông cứ dùng bất kỳ lib/framework/package nào được quản lý bởi node modules (nodejs, expressjs, react, vue, angular,...), sau đó truy cập vào một số hàm có sẵn của lib đó (vs react sẽ có các XML jsx (View, Text, TouchableOpacity,...), các function như useState, useEffect,...), ông tìm defined của nó chắc chắn sẽ xuất hiện trong node modules, nhưng đảm bảo ông chỉ có thể tìm được function & params defined chứ không thể tìm thấy code, và depedency nó được định nghĩa thông qua github repo link chứ không clone nguyên source về máy
Tôi cũng ko biết giải thích gì thêm, ông cứ dùng đi rồi sẽ hiểu
js mà ko code sao chạy. thím nói linh ta linh tinh rồi.
nó là mã nguồn đã build thì nếu dùng typescript nó có 1 file defined để định nghĩa các hàm các interface để hỗ trợ cho idle. còn vào thư mục của nó trong node_modules vẫn có các tệp minify đầy đủ.
 
Theo tôi tài liệu tốt nhất mà tôi biết là keyword "node modules", ông cứ dùng bất kỳ lib/framework/package nào được quản lý bởi node modules (nodejs, expressjs, react, vue, angular,...), sau đó truy cập vào một số hàm có sẵn của lib đó (vs react sẽ có các XML jsx (View, Text, TouchableOpacity,...), các function như useState, useEffect,...), ông tìm defined của nó chắc chắn sẽ xuất hiện trong node modules, nhưng đảm bảo ông chỉ có thể tìm được function & params defined chứ không thể tìm thấy code, và depedency nó được định nghĩa thông qua github repo link chứ không clone nguyên source về máy
Tôi cũng ko biết giải thích gì thêm, ông cứ dùng đi rồi sẽ hiểu
mở node_modules vẫn có source code mà nhỉ, chưa hiểu ý thím
 
Đây là vấn đề khá nhức nhối kể cả các công ty lớn trên thế giới cũng phải đau đầu vì mang yếu tố con người lớn nhất. Nếu chơi theo kiểu mạng LAN kiểm soát nội bộ thì cũng không thiếu cách để chôm source code qua nhiều thủ đoạn tinh vi (chụp/ghi hình giấu kín).
Vậy mạn phép xin hỏi cao kiến các vozer cần có những biện pháp gì để tránh bị đánh cắp mang cho đối thủ hoặc cạnh tranh lại chính công ty mình.

Có nhiều người (theo quora) nói rằng source code thật ra ít giá trị nhất trong 1 công ty product/startup, mọi người có đồng quan điểm như thế không? tại sao?
Về mặt kỹ thuật thì rất khó, nên thường các công ty chặn bằng mặt pháp lý. Ví dụ như nếu anh nghỉ công ty đang làm thì không được làm cho cty đối thủ trong vòng bao nhiêu năm.
Thêm nữa anh đem nguyên cái codebase qua chỗ mới cũng không chạy ngay được, vì hệ sinh thái mỗi cty mỗi khác, các cty lớn thường có hẳn một hệ thống phần mềm nội bộ, cái product chính thường nối vào đó mới chạy trơn tru. Không lẽ anh ăn cắp luôn cả 1 đống phần mềm đó theo về dựng lại, rồi người đâu bảo trì?
 
Theo tôi tài liệu tốt nhất mà tôi biết là keyword "node modules", ông cứ dùng bất kỳ lib/framework/package nào được quản lý bởi node modules (nodejs, expressjs, react, vue, angular,...), sau đó truy cập vào một số hàm có sẵn của lib đó (vs react sẽ có các XML jsx (View, Text, TouchableOpacity,...), các function như useState, useEffect,...), ông tìm defined của nó chắc chắn sẽ xuất hiện trong node modules, nhưng đảm bảo ông chỉ có thể tìm được function & params defined chứ không thể tìm thấy code, và depedency nó được định nghĩa thông qua github repo link chứ không clone nguyên source về máy
Tôi cũng ko biết giải thích gì thêm, ông cứ dùng đi rồi sẽ hiểu
linh tinh. 1 đống source trong các file js đó
 
Về mặt kỹ thuật thì rất khó, nên thường các công ty chặn bằng mặt pháp lý. Ví dụ như nếu anh nghỉ công ty đang làm thì không được làm cho cty đối thủ trong vòng bao nhiêu năm.
Thêm nữa anh đem nguyên cái codebase qua chỗ mới cũng không chạy ngay được, vì hệ sinh thái mỗi cty mỗi khác, các cty lớn thường có hẳn một hệ thống phần mềm nội bộ, cái product chính thường nối vào đó mới chạy trơn tru. Không lẽ anh ăn cắp luôn cả 1 đống phần mềm đó theo về dựng lại, rồi người đâu bảo trì?
Nếu ở phạm vi công ty startup (Đã là startup thì thường nghèo) nhỏ không có đủ nguồn lực tự build hệ sinh thái riêng phức tạp thì sao bác?
Nên là phạm vi startup mình nghĩ ngoài các biện pháp kỹ thuật và kèm theo pháp lý(nếu cần). Thì cần có sự đổi mới liên tục, cũng như có những chính sách và truyền thông khiến nhân viên tâm huyết dự án cty và nghĩ sẽ rất khó cạnh tranh được khi copy y chang ra ngoài.
 
Nếu ở phạm vi công ty startup (Đã là startup thì thường nghèo) nhỏ không có đủ nguồn lực tự build hệ sinh thái riêng phức tạp thì sao bác?
Nên là phạm vi startup mình nghĩ ngoài các biện pháp kỹ thuật và kèm theo pháp lý(nếu cần). Thì cần có sự đổi mới liên tục, cũng như có những chính sách và truyền thông khiến nhân viên tâm huyết dự án cty và nghĩ sẽ rất khó cạnh tranh được khi copy y chang ra ngoài.
Startup thì việc lo bị lộ code hay nghĩ tới việc bảo mật nội bộ là việc cuối cùng.
Codebase của startup thay đổi mỗi ngày, tuần sau thì cái product nó đã khác quắc tuần trước rồi, thêm hàng chục hàng trăm cái commits mới. Vì anh phải lo đi kéo khách hàng, quảng bá sản phẩm. Khi có khách rồi thì anh đã đập đi xây lại một phần hoặc hoàn toàn cái sản phẩm anh build tháng trước năm trước. Nó có bị lộ thì cũng chỉ là bản cũ không có giá trị gì. Thứ anh cần quan tâm là chống việc bị hack lộ dữ liệu khách hàng hoặc mất tiền gây ra bởi phía bên ngoài thôi
 
Back
Top