A contractor has requested access to my ‘source code’ or repo
If this happens Shipwreck Studio will need your express written permission to give it to them, only after you understand any potential exposure risks. Please read everything below before consenting
Review of what this means:
- Upsides:
- They now have every potential tool they need to complete work you may have hired them to do, however, in 95% of cases they do not need this extreme level of access to do the work and we often find it odd if they ask for it
- They can run a local dev server at home to work on your project if there is not an online dev server available
- Potential down sides (None of this might happen but you need to understand all of it):
- As soon as they download that source you have lost control of it forever
- They now have the ability to reproduce / repackage / rebrand / resell / replicate your entire application as many times as they like for whomever they like, very easily and quickly
- They now have access to all and any proprietary data in your database / potential corporate secrets, user lists etc..
- With open access to your source they can use software tools to scan it for the types vulnerabilities that CAN NOT be detected without access to that source code
- With access to your repo they can insert malware or backdoors completely undetected
- We can no longer guarantee the safety of your hosting accounts/servers/applications/sites if a third party has this kind of access
- If they are doing your work on a “local dev server” of their own, you have no control over that, no way of seeing what they are working on as local devs are not online, no way to know
- Solutions we recommend:
- Have a second server fired up as a dev server online, that you control. This negates 100% of any contractors needs to build a “local dev” with your source code
- Am I still exposed with an online dev server of my own?
- Yes you are – but to a much lower degree, the risks are different and more controllable
- Safest way to bring code changes over from the live dev to the main site
- Have your contractor organise ALL of their code additions into their own plugin or module, completely separate from your existing codebase. Having them weave random threads of Javascript/css/html/php etc through your existing code is a massive problem and can cause no end of drama down the road for your application. Isolating the new code like this allows it to be effectively scanned and examined for a lower risk of problems or compatibility issues etc.
- The more complex your application becomes the more often new code will conflict with something old code does, causing things to break. This is a daily occurrence for applications in constant dev. Often these problems go unnoticed until a QA officer/site owner/site customer finds them down the track. Be aware of this and aware of the dozens or hundreds of hours work it can take to resolve next week/month/year in many cases. These problems are amplified many times when running different devs on the same project, or changing devs on the same project
- Organising an outside contractors code completely into one plugin greatly aids in helping to find such conflicts quickly. Quick test such as disabling one plugin or another to isolate which codebase is the offender really do aid in bug hunting
- Have your contractor organise ALL of their code additions into their own plugin or module, completely separate from your existing codebase. Having them weave random threads of Javascript/css/html/php etc through your existing code is a massive problem and can cause no end of drama down the road for your application. Isolating the new code like this allows it to be effectively scanned and examined for a lower risk of problems or compatibility issues etc.
- Discuss with us the specific nature of the contractors tasks and we will tell you how much access they need in order to complete them
- LOWEST RISK – In most cases contractors only need backend access to your CMS
- MEDIUM RISK – Beyond that some may need access via FTP to your server
- HIGHER RISK – Beyond that some will ask for access to your cPanel
- VERY HIGH RISK – Beyond that some may ask for Console or even ROOT to your server but that is simply not allowed in our hosting environments
- VERY HIGH RISK – Beyond that some may ask for access to your SOURCE CODE or REPO
- DON’T hand out your source or the ‘keys to your kingdom’ unless you absolutely need to
- Have a second server fired up as a dev server online, that you control. This negates 100% of any contractors needs to build a “local dev” with your source code
- If you have any questions please speak to your client manager and be sure you fully understand all of the above
- If you do accept the risks (For instance the contractor is a trusted developer that you have met in person with, have an NDA signed, and you feel you can trust with the keys to your kingdom) Then please email us now and tell us in writing you have read this document “A contractor has requested access to my ‘source code’ or repo” and are happy to hand over your source
- In doing so you release Shipwreck Studio from all responsibility and duty of care to protecting your code/ip/security as it is now out of our hands
Other Articles for Security
No items found
Shipwreck Studio PTY LTD
25/2 Burelli St
Wollongong 2500
Australia | ABN 95762680527
Copyright © 2023 Shipwreck Studio PTY LTD. All rights reserved.