Objective: Attacker's Goal: To compromise application that use given project by exploiting weaknesses or vulnerabilities within the project itself.
Compromise Application via act [CRITICAL NODE]
├─── OR ─ Exploit Malicious Actions [HIGH RISK PATH] [CRITICAL NODE]
│ ├─── OR ─ Compromise Action Source Repository [HIGH RISK PATH] [CRITICAL NODE]
│ │ ├─── AND ─ Gain Access to Action Repository [CRITICAL NODE]
│ │ │ ├─── OR ─ Credential Theft (e.g., GitHub Token) [HIGH RISK PATH]
│ │ └─── AND ─ Inject Malicious Code into Action [CRITICAL NODE]
│ ├─── OR ─ Supply Malicious Workflow Input [HIGH RISK PATH] [CRITICAL NODE]
│ │ └─── AND ─ Input leads to execution of malicious code within actions [CRITICAL NODE]
│ ├─── OR ─ Exploit Action Dependencies [HIGH RISK PATH]
│ │ ├─── AND ─ Action uses vulnerable dependencies (e.g., npm, pip packages) [CRITICAL NODE]
│ │ └─── AND ─ Attacker exploits dependency vulnerability during action execution within act [CRITICAL NODE]
│ └─── OR ─ Action Misconfiguration [HIGH RISK PATH] [CRITICAL NODE]
│ ├─── AND ─ Action is configured insecurely (e.g., overly permissive permissions, exposed secrets) [CRITICAL NODE]
│ └─── AND ─ Misconfiguration allows attacker to gain unauthorized access or control [CRITICAL NODE]
├─── OR ─ Information Disclosure via `act` [HIGH RISK PATH]
│ ├─── AND ─ `act` logs or outputs sensitive information (e.g., secrets, environment variables) [CRITICAL NODE]
│ └─── AND ─ Attacker gains access to these logs or outputs [CRITICAL NODE]
├─── OR ─ Exploit `act` Configuration Issues [HIGH RISK PATH] [CRITICAL NODE]
│ ├─── OR ─ Insecure Docker Configuration for `act` [HIGH RISK PATH]
│ │ ├─── AND ─ Docker daemon or `act`'s Docker usage is misconfigured (e.g., insecure registries, exposed Docker socket) [CRITICAL NODE]
│ │ └─── AND ─ Exploit Docker misconfiguration to compromise host or containers [CRITICAL NODE]
│ └─── OR ─ Weak Permissions on Workflow Files [HIGH RISK PATH]
│ ├─── AND ─ Workflow files (.github/workflows) are writable by unauthorized users [CRITICAL NODE]
│ └─── AND ─ Attacker modifies workflow files to inject malicious actions [CRITICAL NODE]
└─── OR ─ Exploit Host System Vulnerabilities via `act` Execution Environment [HIGH RISK PATH]
├─── AND ─ `act` execution environment (host machine or container) has vulnerabilities [CRITICAL NODE]
└─── AND ─ Malicious actions or `act` exploits host system vulnerabilities [CRITICAL NODE]
Attack Tree Path: Compromise Application via act [CRITICAL NODE]
This is the ultimate goal of the attacker. Success means gaining unauthorized access and control over the application and its environment by exploiting weaknesses related to act
.
Attack Tree Path: Exploit Malicious Actions [HIGH RISK PATH] [CRITICAL NODE]
Attack Vector: Leveraging malicious or compromised GitHub Actions to execute harmful code within the act
environment. Since act
is designed to execute actions, malicious actions are a direct and potent threat.
* Breakdown:
* Compromise Action Source Repository [HIGH RISK PATH] [CRITICAL NODE]:
* Attack Vector: Gaining unauthorized access to the repository where GitHub Actions are stored and maintained. This allows attackers to modify the actions themselves.
* Breakdown:
* Gain Access to Action Repository [CRITICAL NODE]:
* Attack Vector: Successfully breaching the security of the action repository.
* Breakdown:
* Credential Theft (e.g., GitHub Token) [HIGH RISK PATH]:
* Attack Vector: Stealing credentials (like GitHub tokens) that grant access to the action repository. Common methods include phishing, malware, or exploiting weak passwords.
* Inject Malicious Code into Action [CRITICAL NODE]:
* Attack Vector: Once repository access is gained, directly modifying the action code to include malicious commands or logic.
* **Supply Malicious Workflow Input [HIGH RISK PATH] [CRITICAL NODE]:**
* **Attack Vector:** Crafting malicious inputs to workflows that are processed by actions. If actions are not designed to handle untrusted input securely, this can lead to code execution or other vulnerabilities.
* **Breakdown:**
* **Input leads to execution of malicious code within actions [CRITICAL NODE]:**
* **Attack Vector:** The malicious input, when processed by a vulnerable action, results in the execution of attacker-controlled code. This often involves injection vulnerabilities in the action's code.
* **Exploit Action Dependencies [HIGH RISK PATH]:**
* **Attack Vector:** Actions often rely on external libraries and packages (dependencies). If these dependencies have known vulnerabilities, attackers can exploit them during action execution within `act`.
* **Breakdown:**
* **Action uses vulnerable dependencies (e.g., npm, pip packages) [CRITICAL NODE]:**
* **Attack Vector:** Actions are configured to use dependencies that are known to contain security vulnerabilities.
* **Attacker exploits dependency vulnerability during action execution within act [CRITICAL NODE]:**
* **Attack Vector:** The attacker triggers the execution of a vulnerable action in `act`, and the vulnerability in the dependency is exploited during this execution, potentially leading to code execution or other compromise.
* **Action Misconfiguration [HIGH RISK PATH] [CRITICAL NODE]:**
* **Attack Vector:** Actions are often configurable. Insecure configurations, such as overly permissive permissions or exposure of secrets, can create vulnerabilities.
* **Breakdown:**
* **Action is configured insecurely (e.g., overly permissive permissions, exposed secrets) [CRITICAL NODE]:**
* **Attack Vector:** Actions are set up with insecure settings, making them vulnerable. Examples include granting excessive permissions to actions or unintentionally logging secrets.
* **Misconfiguration allows attacker to gain unauthorized access or control [CRITICAL NODE]:**
* **Attack Vector:** The insecure configuration directly enables the attacker to gain unauthorized access, control, or information.
Attack Tree Path: Information Disclosure via act
[HIGH RISK PATH]
Attack Vector: act
or the actions it executes might inadvertently log or output sensitive information, such as secrets, environment variables, or internal data. If an attacker gains access to these logs or outputs, they can obtain sensitive information.
* Breakdown:
* act
logs or outputs sensitive information (e.g., secrets, environment variables) [CRITICAL NODE]:
* Attack Vector: act
or actions are configured in a way that causes sensitive data to be written to logs or standard output.
* Attacker gains access to these logs or outputs [CRITICAL NODE]:
* Attack Vector: The attacker manages to access the logs or outputs where sensitive information has been recorded. This could be through insecure storage, misconfigured permissions, or other access control failures.
Attack Tree Path: Exploit act
Configuration Issues [HIGH RISK PATH] [CRITICAL NODE]
Attack Vector: Misconfigurations in how act
itself or its environment (like Docker) are set up can introduce vulnerabilities.
* Breakdown:
* Insecure Docker Configuration for act
[HIGH RISK PATH]:
* Attack Vector: act
relies on Docker. If Docker is misconfigured, it can create security weaknesses that attackers can exploit to compromise the host system or containers.
* Breakdown:
* Docker daemon or act
's Docker usage is misconfigured (e.g., insecure registries, exposed Docker socket) [CRITICAL NODE]:
* Attack Vector: The Docker daemon itself is insecurely configured (e.g., exposed Docker socket without proper access control) or act
's interaction with Docker is misconfigured (e.g., using insecure registries).
* Exploit Docker misconfiguration to compromise host or containers [CRITICAL NODE]:
* Attack Vector: The attacker leverages the Docker misconfiguration to gain unauthorized access or control over the host system or Docker containers.
* **Weak Permissions on Workflow Files [HIGH RISK PATH]:**
* **Attack Vector:** If the workflow files (`.github/workflows`) are writable by unauthorized users, attackers can modify them to inject malicious actions.
* **Breakdown:**
* **Workflow files (.github/workflows) are writable by unauthorized users [CRITICAL NODE]:**
* **Attack Vector:** File system permissions are set incorrectly, allowing unauthorized users to modify workflow files.
* **Attacker modifies workflow files to inject malicious actions [CRITICAL NODE]:**
* **Attack Vector:** Taking advantage of the weak permissions, the attacker modifies the workflow files to insert malicious actions that will be executed by `act`.
Attack Tree Path: Exploit Host System Vulnerabilities via act
Execution Environment [HIGH RISK PATH]
Attack Vector: If the host system where act
is running has vulnerabilities (e.g., unpatched software, OS flaws), malicious actions executed by act
or even vulnerabilities in act
itself can be used to exploit these host system vulnerabilities.
* Breakdown:
* act
execution environment (host machine or container) has vulnerabilities [CRITICAL NODE]:
* Attack Vector: The operating system or software on the host machine or container where act
is running contains known security vulnerabilities.
* Malicious actions or act
exploits host system vulnerabilities [CRITICAL NODE]:
* Attack Vector: Either malicious actions are designed to exploit host system vulnerabilities, or vulnerabilities in act
itself are leveraged to exploit the underlying host system.