Adversaries may leverage code repositories to collect valuable information. Code repositories are tools/services that store source code and automate software builds. They may be hosted internally or privately on third party sites such as Github, GitLab, SourceForge, and BitBucket. Users typically interact with code repositories through a web application or command-line utilities such as git.
Once adversaries gain access to a victim network or a private code repository, they may collect sensitive information such as proprietary source code or credentials contained within software's source code. Having access to software's source code may allow adversaries to develop Exploits, while credentials may provide access to additional resources using Valid Accounts.
Consider periodic reviews of accounts and privileges for critical and sensitive code repositories. Scan code repositories for exposed credentials or other sensitive information.
Use multi-factor authentication for logons to code repositories.
|M1018||User Account Management||
Enforce the principle of least-privilege. Consider implementing access control mechanisms that include both authentication and authorization for code repositories.
Develop and publish policies that define acceptable information to be stored in code repositories.
|ID||Data Source||Data Component|
|DS0015||Application Log||Application Log Content|
|DS0028||Logon Session||Logon Session Creation|
Monitor access to code repositories, especially performed by privileged users such as Active Directory Domain or Enterprise Administrators as these types of accounts should generally not be used to access code repositories. In environments with high-maturity, it may be possible to leverage User-Behavioral Analytics (UBA) platforms to detect and alert on user-based anomalies.