You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/usage/inject-status.md
+38-28Lines changed: 38 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,11 @@ Every Inject execution produces a **status** that tells you the outcome at a gla
4
4
completion. Statuses are computed automatically from the execution traces reported by
5
5
[OpenAEV Agents](openaev-agent.md).
6
6
7
+
**⚠️ IMPORTANT: Execution Status vs. Expectation Results**
8
+
> The **Execution Status** strictly reflects the *operational state* of the action (e.g., did the command run, crash, or time out); It exists **only to give the user visibility into the technical execution** of the injector.
9
+
>
10
+
> Execution Status **DOES NOT** represent your security posture. To evaluate if an attack was actually detected or prevented by your security controls, you must refer to **Expectation Results**, which gather data directly from OpenAEV Collectors.
11
+
7
12
## Why it matters
8
13
9
14
-**Diagnose at a glance**: know immediately whether an Inject worked, failed, or was blocked.
@@ -21,7 +26,7 @@ When an Inject targets [Endpoints](assets.md), each installed Agent reports its
21
26
|**Attack command**| Executes the actual Payload |
22
27
|**Cleanup**| Removes artifacts left by the attack |
23
28
24
-
!!! warning
29
+
!!! Note
25
30
26
31
If a prerequisite check succeeds, the retrieval step is skipped. The UI always marks prerequisite checks as "SUCCESS". Inspect the stderr logs to verify actual execution results.
27
32
@@ -37,64 +42,69 @@ Only tabs with at least one active target appear. Use pagination and filters to
37
42
38
43
## Trace statuses reference
39
44
40
-
Every execution step reports a **trace status**, grouped into three categories.
45
+
Every execution step reports a **trace status**. Below is the complete list of actionable execution statuses, divided into logical categories to help operators troubleshoot technical issues.
|`SUCCESS WITH CLEANUP FAIL`| Main command succeeded, but cleanup failed |The main command executed successfully, but the cleanup step failed. Check cleanup prerequisites and logs on the target.|
48
-
|`WARNING`| Command completed with stderr output | The command completed but produced stderr output. Review stderr for potential issues.|
49
-
|`ACCESS DENIED`| Command blocked due to insufficient privileges |The command was denied due to insufficient privileges. The agent attempted execution but was blocked|
52
+
|`EXECUTED`| Command executed to completion without system errors |*Note: This only means the command ran, not that it bypassed defenses*|
53
+
|`EXECUTED WITH CLEANUP FAIL`||Main command succeeded, but cleanup failed |Check if the action locked the file or if permissions changed during execution|
54
+
|`WARNING`| Command completed but produced stderr output|Review stderr logs for potential non-blocking issues |
55
+
|`ACCESS DENIED`| Command denied by the OS due to insufficient privileges |Check if the agent is running with the required rights (e.g., Admin/Root)|
|`COMMAND NOT FOUND`|Command not found on the target | The command was not found on the target. Ensure the tool is installed and available in the system `PATH`.|
57
-
|`COMMAND CANNOT BE EXECUTED`| Command exists but cannot run |The command exists but cannot be executed. Check file permissions and ensure the binary has execute rights. |
58
-
|`PREREQUISITE FAILED`|Prerequisite check failed |A prerequisite check failed before the main command could run. Review prerequisite dependencies and ensure they are met on the target.|
59
-
|`INVALID USAGE`| Incorrect arguments or syntax | The command was invoked with incorrect arguments or syntax. Verify the inject parameters and command.|
60
-
|`TIMEOUT`| Execution exceeded time threshold | The agent did not complete execution within the allowed time threshold. Consider investigating target performance.|
61
-
|`INTERRUPTED`| Inject interrupted before completion |The inject was interrupted before completion. This may be caused by a system signal, user intervention, or resource constraint.|
61
+
|`ERROR`| General, unclassified execution failure | Check the agent logs for detailed stack traces|
62
+
|`COMMAND NOT FOUND`|Executable or binary missing on the target system | Ensure dependencies (e.g., `curl`, `powershell`) are installed in the `PATH`|
63
+
|`COMMAND CANNOT BE EXECUTED`| Command exists but cannot run | Check file execute permissions (`chmod +x`) or architecture compatibility. |
64
+
|`PREREQUISITE FAILED`| A prerequisite check failed before the main command |Review prerequisite dependencies and ensure they are met on the target |
65
+
|`INVALID USAGE`| Incorrect arguments or syntax | The command was invoked with incorrect arguments or syntax Verify the inject parameters and command |
66
+
|`TIMEOUT`| Execution exceeded time threshold | The agent did not complete execution within the allowed time threshold. Consider investigating target performance |
67
+
|`INTERRUPTED`| Inject interrupted before completion | This may be caused by a system signal, user intervention, or resource constraint |
62
68
63
-
### Informational statuses (excluded from status computation)
69
+
### ℹ️ Informational statuses (excluded from status computation)
64
70
65
71
| Status | Description | Details |
66
72
|-------------------|-------------|---------|
67
73
|`AGENT INACTIVE`| Agent was not active during Inject execution | This agent was not active during the inject execution. Check your asset connectivity. |
68
-
|`ASSET AGENTLESS`| Asset has no Agent installed. ||
`MAYBE PREVENTED`, `PARTIAL`, and `MAYBE PARTIAL PREVENTED` are deprecated.
79
+
`MAYBE PREVENTED` and `MAYBE PARTIAL PREVENTED` are deprecated.
80
+
81
+
## Status computation hierarchy
74
82
75
-
## Status computation
83
+
In OpenAEV, the execution status is not a simple average of agents. The platform computes the final status by bubbling up the results through the architectural hierarchy:
76
84
77
-
The OAEV Server aggregates trace statuses in two levels: first per **Agent**, then across Agents to produce the
78
-
**Inject status**.
85
+
1.**Agent level:** The atomic execution result on a specific endpoint (e.g., `SUCCESS` or `BLOCKED_BY_EDR`).
86
+
2.**Asset level:** Aggregates the status of all agents running on that specific asset.
87
+
3.**Asset Group level:** Aggregates the status of all assets within the targeted group.
88
+
4.**Inject level:** The final global status displayed in the UI, aggregating all targeted asset groups and direct assets.
79
89
80
-
### Agent status
90
+
### Agent status computation
81
91
82
92
The server evaluates all traces for a single Agent with the following priority rules:
0 commit comments