Dark Mode
Capec-692 Detail
Spoof Version Control System Commit Metadata
Detailed Social Engineering Supply Chain Software Likelihood: Medium Typical Severity: High
Parents: 691
| External ID | Source | Link | Description |
|---|---|---|---|
| CAPEC-692 | capec | https://capec.mitre.org/data/definitions/692.html | |
| CWE-494 | cwe | http://cwe.mitre.org/data/definitions/494.html | |
| REF-719 | reference_from_CAPEC | https://checkmarx.com/blog/unverified-commits-are-you-unknowingly-trusting-attackers-code/ | Aviad Gershon, Unverified Commits: Are You Unknowingly Trusting Attackers’ Code?, 2022--07---15, Checkmarx |
| REF-720 | reference_from_CAPEC | https://www.hackread.com/hackers-spoof-commit-metadata-false-github-repositories/ | Deeba Ahmed, Hackers can spoof commit metadata to create false GitHub repositories, 2022--07---17, HackRead |
Explore
-
Identify target: The adversary must first identify a target repository for them to spoof. Typically, this will be a popular and widely used repository, as to increase the amount of victims a successful attack will exploit.
Experiment
-
Create malicious repository: The adversary must create a malicious repository that imitates the legitimate repository being spoofed. This may include creating a username that closely matches the legitimate repository owner; creating a repository name that closely matches the legitimate repository name; uploading the legitimate source code; and more.
-
Spoof commit metadata: Once the malicious repository has been created, the adversary must then spoof the commit metadata to make the repository appear to be frequently maintained and originating from trusted sources.
| Techniques |
|---|
| Git Commit Timestamps: The adversary generates numerous fake commits while setting the "GIT_AUTHOR_DATE" and "GIT_COMMITTER_DATE" environment variables to a date which is to be spoofed. |
| Git Commit Contributors: The adversary obtains a legitimate and trusted user's email address and then sets this information via the "git config" command. The adversary can then commit changes leveraging this username. |
Exploit
-
Exploit victims: The adversary infiltrates software and/or system environments with the goal of conducting additional attacks.
| Techniques |
|---|
| Active: The adversary attempts to trick victims into downloading the malicious software by means such as phishing and social engineering. |
| Passive: The adversary waits for victims to download and leverage malicious software. |
- Identification of a popular open-source repository whose metadata is to be spoofed.
Not present
| Medium |
|---|
| Ability to spoof a variety of repository metadata to convince victims the source is trusted. |
| Integrity | Authorization | Access Control | Accountability |
|---|---|---|---|
| Modify Data | Execute Unauthorized Commands | Execute Unauthorized Commands | Hide Activities |
| Alter Execution Logic | Alter Execution Logic | ||
| Gain Privileges | Gain Privileges |
- In July 2022, Checkmarx reported that GitHub commit metadata could be spoofed if unsigned commits were leveraged by the repository. Adversaries were able to spoof commit contributors, as well as the date/time of the commit. This resulted in commits appearing to originate from trusted developers and a GitHub activity graph that duped users into believing that the repository had been maintained for a significant period of time. The lack of commit metadata validation ultimately allowed adversaries to propagate malware to unsuspecting victims [REF-719] [REF-720].