One chestnut from my history in lottery game development:
While our security staff was incredibly tight and did a generally good job, oftentimes levels of paranoia were off the charts.
Once they went around hot gluing shut all of the “unnecessary” USB ports in our PCs under the premise of mitigating data theft via thumb drive, while ignoring that we were all Internet-connected and VPNs are a thing, also that every machine had a RW optical drive.
One IT security team insisted we have separate source code repositories for production and development environments.
I’m honestly not sure how they thought that would work.
That’s fucking bananas.
In my job, the only difference between prod/dev is a single environmental file. Two repositories would literally serve no purpose and if anything, double the chances of having the source code be stolen.
That was the only difference for us as well. The CI/CD process built container images. Only difference between dev, test, and prod was the environment variables passed to the container.
At first I asked the clueless security analyst to explain how that improves security, which he couldn’t. Then I asked him how testing against one repository and deploying from another wouldn’t invalidate the results of the testing done by the QA team, but he kept insisting we needed it to check some box. I asked about the source of the policy and still no explanation, at least not one that made any sense.
Security analyst escalated it to his (thankfully not clueless) boss who promptly gave our process a pass and pointed out to Mr security analyst that literally nobody does that.
Just manually copy-paste everything. That never goes wrong, right?
I mean, it’s what the Security guys do, right? Just copy+paste everything, mandate that everyone else does it too, Management won’t argue because it’s for “security” reasons.
Then the Security guys will sit around jerking each other off about how much more secure they made the system
Could work if dev was upstream from prod. But honestly there would be no difference between that and branches.
Maybe it is a rights issue. Preventing a prod build agent of sorts to access develop code.
Yeah…assuming that the policy was written “from blood” (meaning someone did something stupid).
But even then you can put other checks and balances in place to make sure that kind of thing doesn’t happen.
This is such an extreme reaction though. Or the policy was made from someone dumb