As I read this post, I'm shaking. Probably because I ate way too many carbs after avoiding them for a while, and I'm experiencing a bout of hypoglycemia... but probably because the idea of this genuinely terrifies me.
Remember, this is an Information Security site. Sometimes the answer you get isn't the answer you want.
- You claim to be working for the government.
- You're using your real name on this website. A little digging shows exactly who your employer is, among other things. Further digging, I'm able to find extra information on other things.
- You're thinking of a potentially insecure setup, and this leads me to worry about the fact that you might be able to touch production servers in such a way, and checkout/import from PRODUCTION servers which may have been hit by malware previously.
You might be well-served by visiting a wikipedia article on Operational Security.
Why can this be a problem?
A production environment is usually front-facing, meaning that's what your customers/clients/users will see. Let's assume you have the following environments:
- Development
- Testing
- Production
Checking out the code from production, which could've been modified in the event of a successfully exploited vulnerability - either in your web application(s), or your web server itself - and then debugging it locally, means that you may end up infecting your entire enterprise.
Your development team usually has access to a lot of critical things. Now that you're debugging it locally, you may be able to spread hidden malware across your entire infrastructure! Development, test, production, etc. From there, your attacker can do pretty much anything they want.
You need clear separation of concerns. Putting your repository onto your production server is just asking for trouble. If your production server gets hacked, you may be able to mitigate the damage if it's limited to just itself.
However, as soon as you let it break out of it's little closed environment, you could be in for a world of trouble. Keep in mind, attackers are looking for any tiny thing they can exploit. This is why I genuinely believe you should not put your SVN on your production server.
Example Pwnage Diagram
I made a crappy diagram in MS Paint to explain this better. Assume that once you debug, an infection occurs and starts propagating.