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/README.md
+42Lines changed: 42 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,6 +53,8 @@ Strelka differs from its sibling projects in a few significant ways:
53
53
*[Protobuf](#protobuf)
54
54
*[Scanners](#scanners)
55
55
*[Scanner List](#scanner-list)
56
+
*[Tests](#tests)
57
+
*[Setup](#tests-setup)
56
58
*[Use Cases](#use-cases)
57
59
*[Contributing](#contributing)
58
60
*[Related Projects](#related-projects)
@@ -594,6 +596,46 @@ The table below describes each scanner and its options. Each scanner has the hid
594
596
| ScanZip | Extracts files from zip archives |"limit" -- maximum number of files to extract (defaults to 1000)<br>"password_file" -- location of passwords file for zip archives (defaults to etc/strelka/passwords.txt) |
595
597
| ScanZlib | Decompresses gzip files | N/A
596
598
599
+
## Tests
600
+
As Strelka consists of many scanners and dependencies for those scanners, Pytests are particularly valuable for testing the ongoing functionality of Strelka and it's scanners. Tests allow users to write test cases that verify the correct behavior of Strelka scanners to ensure that the scanners remain reliable and accurate. Additionally, using pytests can help streamline the development process, allowing developers to focus on writing new features and improvements for the scanners. The following section details how to setup Pytests.
601
+
602
+
If using Strelka on Github, this repository supports Github Actions which runs on Pull Requests
603
+
604
+
### Tests Setup
605
+
Here are the steps for setting up a virtualenv virtual environment, installing requirements from src/python/requirements.txt, and running pytest:
606
+
607
+
1. Install virtualenv, if it is not already installed:
608
+
609
+
```
610
+
pip install virtualenv
611
+
```
612
+
2. Create a new virtual environment:
613
+
614
+
```
615
+
virtualenv <environment-name>
616
+
```
617
+
618
+
3. Activate the virtual environment:
619
+
620
+
```
621
+
source <environment-name>/bin/activate
622
+
```
623
+
624
+
4. Install the requirements from src/python/requirements.txt:
625
+
626
+
```
627
+
pip install -r src/python/requirements.txt
628
+
```
629
+
630
+
5. Run pytest to execute the test cases:
631
+
632
+
```
633
+
pytest
634
+
```
635
+
636
+
Upon execution, you will be provided the successes and failures for any available scanner test.
637
+
638
+
597
639
## Use Cases
598
640
Below are some select use cases that show the value Strelka can add to a threat detection tech stack. Keep in mind that these results are parsed in real time without post-processing and are typically correlated with other detection/response tools (e.g. Bro, Volatility, etc.). The file metadata shown below was derived from files found in [VirusShare](https://virusshare.com/) torrent no. 323 and from a test file in the [MaliciousMacroBot (MMBot) repository](https://github.com/egaus/MaliciousMacroBot).
0 commit comments