Closed
Description
Describe the bug
When using plugins.stockpile.app.requirements.paw_provenance
to verify if the specified variable exists in source facts, it does not recognize manually created fact. It results in two unexpected behavior.
1st unexpected behavior – marking fact as not collected, despite there is a fact created
2nd unexpected behavior - Adversary operation does not run
To Reproduce
Steps to reproduce the behavior:
-
Create an ability which run nmap commands with fact-defined targets
-
Create a Linux executor inside the ability with requirement to verify
nmap.targets
exists
- command:
nmap -T4 -Pn #{nmap.targets}
- requirement module:
plugins.stockpile.app.requirements.paw_provenance
- requirement source:
nmap.targets
-
Refresh the page and select the newly created Adversary again
- A warning is shown
One or more of the abilities have unmet requirements, which may result in a failed operation if ran sequentially.
. However, the fact is actually created in step 1
- Proceed to create operation with the adversary created in step 4
- Adversary: name of the adversary profile created in step 4
- Fact source: name of the fact source created in step 1
- Let the operation runs for a few minutes. There will not be any ability run
Expected behavior
Two expectation
1st expectation - no warning in Adversary profile
- If the variable can be located in any fact sources, it should not throw warning
2nd expectation – ability successfully run in operation
-
Since the variable is retrievable from the selected fact source, it should be able to run
-
Secondly, if we manually select potential link, it can actually show the variable.
Desktop (please complete the following information):
- OS: MacOS Sonoma 14.3.1
- Browser: Firefox, Chrome
Backend
- Caldera version
git rev-parse HEAD
: 6d3d853 - OS: Ubuntu 24.04.2 LTS