Changes to the project will be tracked in this file via the date of change.
- Updated ScanTLSH to reference
diffxlen
function call instead ofdiff
function to ignore padding when creating TLSH hashes to better attribute samples to known malware families (@ronbarrey) - Added in
ScanPyInstaller
scanner which extracts metadata from python installer binaries. (@ronbarrey) - Updated taste.yara file to add simple yara rule "docx_file" to help classifying docx files which are currently coming through as octet-stream. Updated backend.yaml file to add this taste to ScanDocx and ScanExiftool for better processing
- Updated dependencies in order to remediate non-breaking known vulnerabilities
- Added the unless-stopped Restart Policy to the coordinator, gatekeep, ui, and postgresdb docker containers in both the docker-compose.yaml and docker-compose-no-build.yaml files (@m3636)
- Updated README to remove typo (@martinspielmann)
- In response to CVE-2024-11477 published on 11/22, updated the version of 7zip from 23.01 to 24.09 in order to patch this vulnerability.
- 7zip update to 24.09 means that we are no longer dependent on the archived Ubuntu Mantic version, so the mantic.list and pin.fref files and references were removed. Applicable tests were updated to reflect this change.
- Updated mantic.list file to point to the ubuntu archive after the mantic depreciation on 11/14.
- Updated package dependencies in order to remediate any vulnerable dependant packages
- Added in "package-mode = false" to pyproject.toml file to correct inconsistency nightly build
- Updated readme to reflect the changes from docker v1 to v2 upgrade
- Updated all dependent packages, including certifi, requests, zipp, and setuptools dependencies which had open issues created by dependabot
- Added in "package-mode = false" reference in pyproject.toml file in order to address inconsistency in nightly build.
- Update nightly build to reflect changed from docker v1 to v2
- Remove WeasyPrint package dependency from Strelka
- Adding mimetype check for XML files for
ScanXml
- Refactor of
ScanXml
- Adding
ScanJnlp
scanner. - Refactored
ScanXml
scanner to include more extraction potential / IoCs. - Refacted
ScanEmail
scanner to include safer collection of fields. - Bumping several dependencies.
- Updating
ScanYara
with additional grouping / metadata functionality.
- Adding
ScanOcr
functionality to allow for full string output. (@skalupa)
- Fix for logic pertaining to the
ScanPe.flags
field.
- Adding YARA for
ScanJnlp
- Adding image preview for
ScanEmail
- Adding IOC support for
ScanJavascript
ScanZip
improvements (@ryanohoro)
- Fix for Invalid Stripping for Email Message ID Parsing
- Error Handling + Readibility Updates for
ScanPdf
,ScanPe
, and more. - Added optional redundancy logging to remote S3 location functinonality (@skalupa)
- Updated
golang
versions for relevant Dockerfiles (@skalupa) - Error handling / readability update for
ScanPdf
- Added Kafka logging integration with command-line toggle between Kafka and local logging (@skalupa)
- Implemented duplicate removal in IOC list processing across scanners
- Implemented thumbnail generation and formatting options for
ScanOcr
- Updated several dependencies
- Added
ScanYara
warning upon YARA compilation failures
- Removed
ScanCapa
andScanFloss
from scanners, dependencies, and tests
- Added
ScanIqy
to target and extract network addressed from IQY (Internet Query) files - Added tests for
ScanIqy
- Fix for a
poetry
build issue - Fix for
ScanPcap
tests
- Changes to
ScanExiftool
scanner and tests - Update
google.golang.org/grpc
dependency
- Improvements and tests for
ScanQR
scanner (@ryanohoro)
- Adding the ability to use precompiled YARA rules: Speed up YARA initialization on Strelka boot by using precompiled rules
- Configuration file updates: Adding compiled YARA location
- Updates to multiple scanners: To accommodate new package versions
- Updates to multiple scanner tests: To accommodate updated scanners
- Minor XL4MA scanner updates: Removing references to author / comments
- Dockerfile improvements and fixes: Removing references to venv as poetry is used. Other various additions to ensure package installs work.
- Small error handling fixes
- Updated Ubuntu base image from
22.10
to23.04
. Updated documentation and references.
- Bug fix for IOC collection
- Adding
ScanOnenote
extraction counter - Bug fix for
ScanTranscode
test
- Updating
pygments
dependency
- Adds feature to ScanOCR that will perform OCR on PDF documents (If enabled). (@alexk307)
- Bumps
grpcio
dependencies forpython
andgo
- Bug fix for Frontend Request ID (@nighttardis)
- Updating
requests
dependency.
- Added compilation script for project
Go
binaries to be used for local compilation, testing, and releases.
- Added support for Docker Hub Tag submission
- Changes for
ScanUdf
/ New Tests forScanHtml
(@ryanohoro)
- Updating YARA dependency
- Add support / tests for UDF image files using
ScanVhd
(@ryanohoro)
- Adding
ScanSave
scanner (@keiche) - Updating
go.mod
files (@cameron-dunn-sublime) - Updating
docker
container names (@malvidin)
- Bumping Redis Dependency
- Slimming Backend Dockerfile, several scanner fixes (@Derekt2)
- Updating Github workflows to accomodate above fixes
- Removing
mmbot
references
- Updating docs / removing broken test / adding no build support
- Bug fix / updating
ScanManifest
(@Derekt2)
- Bug fix to account for default mime DB (@jertel)
- Ading
ScanVsto
to extract VSTO file metadata.
- Adding
ScanPDF
XREF collection with limiters, tests, and updated docstrings.
- Adding rich fields to
ScanPE
- Changing
ScanIso
pattern configuration inbackend.yml
(@ryanohoro)
- Go client updates to address vulnerability.
- Updating
capa
and associated tests.
- Adding default password file reference to
EncryptedZip
andEncryptedDoc
scanners. - Bug fixes for multiple scanners.
- Moving
strelka-ui
indocker-compose.yaml
to a prebuilt image to reduce error potential and decrease build time.
- Bug fix for YARA scanner (@ryanohoro)
- Removing redundant Python setup/requirements (@ryanohoro)
- Adding Strelka UI to default
docker-compose.yaml
. (@ryanohoro) - Adding Scanner checker on worker start to display scanner load errors. (@ryanohoro)
- Adding
ScanTranscode
which converts new or uncommon image formats. (@ryanohoro)
- Adding
Jaeger
support service for tracing. (@ryanohoro)
- Telemetry tracing support added. (@ryanohoro)
- Updating
cryptography
dependency across project. - Added 'ScanOnenote' and associated tests.
- Removed
ScanBITS
and associated references. - Added style / formatting Github action automations
- Added tests and option limiters to
ScanHtml
andScanJavascript
- Bug fix + tests for
ScanXl4ma
- Documentation update (@jertel)
- Updating backend flavors
- Bug fixes and tests
- Added
ScanTlsh
scanner and tests (@ryanborre)
- Bug fixes for various tastes / tests (@ryanohoro)
- Updating scanners with common function for file submission to reduce code reuse / potential errors (@ryanohoro)
- Added additional functionality (e.g.,
ScanOcr
can not concatenate output into single line) (@ryanohoro)
- Additional tests (@ryanohoro)
- Refactoring backend (@ryanohoro)
- Bug fix for strelka backend (cached scanners) (@ryanohoro)
- Test updates (@ryanohoro)
- Adds local execution functionality (@ryanohoro)
- ARM fix for container build
- Updated documentation for tests (@ryanohoro)
- Adds
ScanSevenZip
and associated tests. (@ryanohoro)
- Adds tests for
ScanPgp
,ScanPlist
,ScanNf
, Updates forScanOle
(@ryanohoro) - Bug fix in
ScanQR
(@ryanohoro) - Adds support for WEBP to multiple scanners (@ryanohoro)
- Increase collection potential for PGP (@ryanohoro)
- Backend Dockerfile modification (@ryanohoro)
- Adds tracebacks to events that have unhandled exceptions. (@ryanohoro)
- Updates to
ScanCapa
, tests, and associated build files. (@ryanohoro)
- Adds a test for scanner timeout behavior
test_scan_delay
(@ryanohoro)
- Adds an encodings option to ScanHeader/ScanFooter for additional data encodings (@ryanohoro)
- Adds a new test that throws an exception in a scanner and verifies an event with an uncaught_exception flag is created. (@ryanohoro)
- Added dozens of tests over the last few weeks.
- Updated with bugfixes or updates:
ScanBase64
,ScanEncryptedZip
,ScanIni
,ScanJPEG
,ScanLibarchive
,ScanMacho
,ScanPDF
,ScanPNGEoF
,ScanQR
,ScanRar
,ScanTAR
,ScanUPX
,ScanVHD
,ScanZip
(@ryanohoro)
- Setup package pinning for Backend Dockerfile (@ryanohoro)
- Updated default YARA tastes to include CCN support (@ryanohoro)
- Updated
backend.yaml
to include CCN support (@ryanohoro)
- Updated
Fileshot
go client to include additional functionality - Updated
Fileshot
Dockerfile dependencies
- Added
ScanDmg
Scanner (@ryanohoro)
- Added CMake to Backend dockerfile for LIEF (M1 Fix) (@aaronherman)
- Added support for Winzip AES (Updated Backend Dockerfile)
- Small update to fix test warning for ScanPDF
- Small update to fix test warning for ScanQR
- Updated workflows. (@ryanohoro)
- Updated multiple dependencies. (@ryanohoro)
- Added
ScanDocx
Scanner test. (@ryanohoro) - Added
ScanLNK
Scanner test. - Added
ScanDocx
Scanner test. (@ryanohoro) - Added
ScanPe
Scanner test. (@ryanohoro) - Added
ScanJpeg
Scanner test. (@ryanohoro) - Added
ScanHtml
Scanner test. (@ryanohoro) - Added
ScanPdf
Scanner test. (@ryanohoro) - Added
ScanExiftool
Scanner test. (@ryanohoro) - Added
ScanRar
Scanner test. (@ryanohoro) - Added
ScanZip
Scanner test. (@ryanohoro) - Added
ScanEncryptedZip
Scanner test. (@ryanohoro)
- Updated
ScanLNK
YAARA taste. - Updated
ScanPngEof
to fix some bugs (@ryanohoro) - Updated multiple dependencies.
- Added
ScanVHD
Scanner. (@ryanohoro) - Added
ScanVHD
Scanner test. (@ryanohoro)
- Added
ScanISO
Scanner test. (@ryanohoro)
- Added
ScanMsi
Scanner. - Added
ScanMsi
Scanner test.
- Added PyTest scanner testing functionality (@cawalch)
- Added several scanner tests (
ScanFooter
,ScanGif
,ScanURL
) (@cawalch) - Added documentation for test execution.
- Updated
ScanPDF
to include phone number collection (@Derekt2)
- Updated
ScanISO
to include additional metadata (e.g., Creation Date) - Updated
ScanISO
to include bucketing of of hidden directories. - Updated
ScanZip
to include known password extraction. - Updated
ScanZip
to display file names, sizes, and compression metrics. (@ryanohoro)
- Updated
ScanPE
to fix issues with security certificate parsing. - Updated verisons / dependencies
- Updated verisons / dependencies
- Added
ScanBITS
Windows BITS file scanner. - Added
ScanXL4MA
Excel 4 macro scanner. (Ryan Borre) - Added
AddIOC
IOC parsing to allow for IOC storage in root files. (Ryan Borre)
- Updated
ScanPDF
with small fix. (Ryan Borre)
- Added
ScanISO
for ISO metadata collection and file extraction. - Updated
ScanLibarchive
inbackend.yml
to removeiso_file
- Updated
ScanLibarchive
inbackend.yml
to removeiso_file
. - Disabled
ScanELF
inbackend.yml
after observing excessive data extraction issues.
- Updated README.
- Updated base docker image for
backend
andmmrpc
. - Updated various dependencies.
- Added
TLSH
hashing toScanHash
- Updated
lxml
dependency.
- Updated
lxml
dependency.
- Updated Filesetream to decrease privilege access. (@cawalch)
- Updated
ScanEmail
with new logic and collection fields. - Updated
numpy
dependency.
- Updated
numpy
dependency.
- Updated Readme.
- Updated Readme.
- Bug fix for
signal
timeout functionality.
- Updated backend timeout functionality, replacing
interruptingcow
withsignal
(@cawalch)
- Added
ScanBMPEoF
steganalysis scanner. (University of Minnesota) - Added
ScanLSB
steganalysis scanner. (University of Minnesota) - Added
ScanNF
steganalysis scanner. (University of Minnesota) - Added
ScanPNGEoF
steganalysis scanner. (University of Minnesota)
- Adding
embedded_files
andneeds_pass
fields toScanPDF
- Updated
ScanLNK
with additional fields and new scanner structure. (Ryan Borre / @Derekt2 / @swackhamer) - Added Github CodeQL vulnerability identification Action
- Fixed / updated
ScanPdf
with new functionality. May require current implementations to change parsing. (Ryan Borre) - Removed
[DEBUG]
warnings fromScanQR
. - Updated
ScanELF
with bug fix. - Removed error logging from
ScanELF
- Updating build to include
exiftool
dependency. (@cameron-dunn-sublime)
- Pinned and updated all
go
build dockerfiles to1.17.6
- Updated all
go mod
files to matchgo
requirements. - Updated
numpy
dependency. - Updated
readme
with new client application build instructions.
- Fix bug with
scan_javascript
pertaining to regular expression identification. (@cawalch)
- Updating
lxml
from version4.6.3
to4.6.5
. - Updating
CAPA
from version3.0.1
to3.0.3
. - Updating
exiftool
from version12.36
to12.38
.
- Modified
mmrpc
Dockerfile to fix compilation build issues on ARM architecture.
- Modified
exiftool
repository reference to increase stability - Updating
backend
dependencies - Updating
go
dependencies
- Fix K8S backend configmap yaml (@cameron-dunn-sublime)
- Updated
exiftool
from version12.28
to12.30
(@cameron-dunn-sublime)
- Updated
exiftool
from version12.25
to12.28
- Default YARA volume mount and placeholder test YARA rule to verify ScanYARA functionality. (@Derekt2)
scan_pe
refactor / additions (@swackhamer)
scan_qr
QR code scanner (@aaronherman)
- Updated
YARA
from 3.11.0 to 4.0.5
- Updated various
python
dependencies
- Bug fix for
scan_footer
scan_footer
file footer scanner
- Updated
pygments
dependency
- Refactored
go
Dockerfiles - Hardcoded container names
- Changed ScanPDF scanner from
pdfminer.six
toPyMuPDF
- Accepted
dependabot
pull request, updating dependencylxml
from4.6.2
to4.6.3
README
updated with formatting and images
Python-Client
Strelka standalone python file submission client (@scottpas)Strelka Oneshot
DockerfileGitHub Actions
additional workflows for client builds
- Updated
filestream
sample config
Filestream Processed Directory
Added ability to move files from a staging directory to a processed directory on completion. (@weslambert)
GitHub Actions
Strelka builder and badge to test main branch on push and each day
- Updated
go
Dockerfiles with module fixes
- Pinned python versions for module
cryptography
ubuntu
versions forstrelka-backend
andstrelka-mmrpc
updated to20.04
- Accepted
dependabot
pull request, updating dependencylxml
from4.5.0
to4.6.2
kubernetes
deployment example added. (@scottpas)
- Added option to disable Strelka Backend shutdown (@weslambert)
scan_manifest
scanner (@Derekt2)
- Pinned redis module to version 8 due to bug causing frontend and manager to fail compilation (#142) (phutelmyer)
scan_capa
FireEye scanner (@phutelmyer)scan_floss
FireEye scanner (@phutelmyer)
- Fixed bug caused by update to go-redis, requiring Context objects to be added to redis commands
- Fixed bug causing path issue when building container.
strelka-oneshot
cli app to allow for submission of a file for testing without the need for a config file. (@rhaist)swig
as build/wheel dependency for M2Crypto (@rhaist)
- Updating dependencies for various packages (@rhaist)
- Formatting all go source files to match official guidelines (@rhaist)
- Added additional error handling for
scan_lnk
scanner (@Derekt2) - Typo fixed in README.md (@weslambert)
- Added
tree.root
metadata totree
object - Added
scan_base64_pe
scanner which decodes base64-encoded files - Added
scan_lnk
scanner which provides metadata for LNK files - Added
yara.tags
toyara
scanner which collects Tags from YARA matches
- Changed scanner imports in
scan_vba
. Changed olevba3 package to olevba due to deprecation.
- Added additional error handling for corrupt documents in ScanDocx
- Updated YARA version from 3.10 to 3.11
- Removed logging reference in ScanEncryptedDoc
- Modified error handling for ScanPlist
- Added ScanAntiword into backend scanner configuration file (commented out)
- Added ScanEncryptedDoc which allows users to decrypt documents.
- Added additional error handling for ScanDocx
- Modified ScanPE to include additional error handling.
- Added ScanDoc support for additional metadata extraction.
- Added support for ScanRar RAR extraction with passwords.
- Added olecf flavor to ScanIni default
- Fixed bug in ScanTnef where key is not present, an exception is thrown.
- Fixed bug in ScanPe when header field is nonexistent (jshlbrd)
- Improved speed of ScanZip decryption (jshlbrd)
- ScanMmbot fields are now internally consistent with other event dictionaries (jshlbrd)
- Fixed bug in ScanMacho dynamic symbols (jshlbrd)
- Renamed 'decompressed_size' to 'size' across all decompression scanners (jshlbrd)
- Two new fields in ScanIni (comments and sections) (jshlbrd)
- New scanner ScanZlib can decompress Zlib files (jshlbrd)
- Fixed unintended CRC exception when decrypting ZIP files (jshlbrd)
- New scanner ScanIni can parse INI files (jshlbrd)
- Renamed strelka-redis to strelka-manager (jshlbrd)
- Updated ScanPe to better sync with ScanElf and ScanMacho (jshlbrd)
- Fixed frontend crashing issues when empty files are sent to cluster (jshlbrd)
- Added Gatekeeper (temporary event cache), a new required component (jshlbrd)
- Transitioned ScanMacho from macholibre to LIEF (jshlbrd)
- Fixed multiple issues in ScanElf JSON dictionary (jshlbrd)
- Transitioned ScanElf from pyelftools to LIEF (jshlbrd)
- Fixed ScanPdf f-string flags (jshlbrd)
- scan_* dictionaries are now nested under scan: {} (jshlbrd)
- 'time' field is now 'request.time' (jshlbrd)
- 'file.scanners_list' is now 'file.scanners' (jshlbrd)
- Updated YAML files to use 2 spaces instead of 4 spaces (jshlbrd)
- Conflicting variable names were refactored (jshlbrd)
- Added .env file for cleaner execution of docker-compose (jshlbrd)
- go-redis Z commands changed to non-literal (jshlbrd)
- 'throughput' section added to fileshot and filestream configuration files (jshlbrd)
- Added default docker-compose DNS hosts to misc/envoy/* configuration templates (jshlbrd)
- Added Docker volume mapping to frontend in default docker-compose (jshlbrd)
- Forked pyopenssl replaced with M2Crypto (jshlbrd)
- 'tree' event dictionary is now nested under 'file' event dictionary (jshlbrd)
- Scanner event dictionaries now start with 'scan_' (jshlbrd)
- Timestamps are now unix/epoch (jshlbrd)
- ScanExiftool now outputs 'human readable' data (jshlbrd)
- Looping Redis commands sleep at a consistent interval of 250ms (jshlbrd)
- 'cache' is no longer used -- 'coordinator' takes over all Redis tasks (jshlbrd)
- Switched pyopenssl to forked package (jshlbrd)
- Archived 0MQ branch (jshlbrd)
- Migrated gRPC to master (jshlbrd)
- Dockerfile now supports UTC and local time (ufomorme)
- Scan event start and finish timestamps now support UTC and local time (ufomorme)
- Improved YARA tasting signature for email files (DavidJBianco)
- Fixed install path for taste directory (jshlbrd)
- "beautified" field (bool) to ScanJavascript (jshlbrd)
- strelka_dirstream.py now supports recursive directory scanning (zachsis)
- ScanZip now supports decryption via password bruteforcing (ksdahl)
- Unit tests for ScanPe added (infosec-intern)
- strelka_dirstream.py now supports moving files after upload (zachsis)
- Added version info to ScanPe (infosec-intern)
- Expanded identification of email files (DavidJBianco)
- pip packages now installed via requirements.txt file(s) (infosec-intern)
- EOF error flag to ScanBzip2 (jshlbrd)
- taste_yara now loads files from directories, not a static file (ksdahl)
- Options for manually setting ZeroMQ TCP reconnections on the task socket (between broker and workers) (jshlbrd)
- "request_port" option renamed to "request_socket_port" (jshlbrd)
- "task_port" option renamed to "task_socket_port" (jshlbrd)
- strelka_dirstream.py switched from using inotify to directory polling (jshlbrd)
- strelka_dirstream.py supports monitoring multiple directories (jshlbrd)
- extract-strelka.bro will temporarily disable file extraction when the extraction directory reaches a maximum threshold (jshlbrd)
- New scanner ScanFalconSandbox can send files to CrowdStrike's Falcon Sandbox (ksdahl)
- New scanner ScanPhp can collect tokenized metadata from PHP files (jshlbrd)
- New scanner ScanStrings can collect strings from file data (similar to Unix "strings" utility) (jshlbrd)
- ScanPdf was unintentionally extracting duplicate streams, but now it is fixed to only extract unique streams (jshlbrd)
- ScanJavascript now supports deobfuscating JavaScript files before parsing metadata (jshlbrd)
- ScanUrl now supports user-defined regular expressions that can be called per-file (jshlbrd)
- Refactored taste.yara
javascript_file
rule for readability (jshlbrd) - Removed JavaScript files from ScanUrl in the default strelka.yml (jshlbrd)
- Project went public!