Skip to content

Commit 88dd694

Browse files
authored
Merge pull request #478 from rfxn/2.0.1
LMD v2.0.1
2 parents 77d2712 + 3a3143d commit 88dd694

224 files changed

Lines changed: 46126 additions & 4451 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.ca.def

Lines changed: 0 additions & 1 deletion
This file was deleted.

.dockerignore

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# VCS history (largest savings ~33MB)
2+
.git
3+
4+
# Working/planning files (not source)
5+
.claude/
6+
CLAUDE.md
7+
PLAN*.md
8+
MEMORY.md
9+
AUDIT.md
10+
REGR.md
11+
audit-output/
12+
13+
# Benchmark/dev scripts
14+
bench-*.sh
15+
16+
# Reference documentation (dev-only)
17+
reference/

.gitattributes

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Exclude dev-only artifacts from release tarballs (git archive, GitHub downloads)
2+
tests/ export-ignore
3+
docs/ export-ignore
4+
pkg/ export-ignore
5+
audit-output/ export-ignore
6+
work-output/ export-ignore
7+
.github/ export-ignore
8+
.rdf/ export-ignore
9+
reference/ export-ignore
10+
CLAUDE.md export-ignore
11+
PLAN*.md export-ignore
12+
AUDIT.md export-ignore
13+
MEMORY.md export-ignore
14+
HANDOFF.md export-ignore
15+
FEATURE-*.md export-ignore
16+
GEMINI-*.md export-ignore

.github/workflows/smoke-test.yml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: LMD Smoke Tests
2+
3+
on:
4+
push:
5+
branches: [master, '2.*']
6+
pull_request:
7+
branches: [master, '2.*']
8+
9+
jobs:
10+
smoke-test:
11+
uses: rfxn/batsman/.github/workflows/test.yml@v1.4.2
12+
with:
13+
project-name: lmd
14+
os-matrix: '["debian12","centos6","centos7","rocky8","rocky9","rocky10","ubuntu2004","ubuntu2404"]'
15+
timeout: 25
16+
file-groups: 3
17+
reports: true
18+
docker-run-flags: '-e BATS_TEST_TIMEOUT=180'
19+
20+
yara-x:
21+
runs-on: ubuntu-latest
22+
timeout-minutes: 25
23+
steps:
24+
- uses: actions/checkout@v4
25+
with:
26+
submodules: recursive
27+
- uses: docker/setup-buildx-action@v3
28+
- name: Build base image (debian12 for yara-x)
29+
uses: docker/build-push-action@v6
30+
with:
31+
context: tests/infra
32+
file: tests/infra/dockerfiles/Dockerfile.debian12
33+
tags: lmd-base-debian12
34+
load: true
35+
cache-from: type=gha,scope=base-debian12
36+
cache-to: type=gha,mode=max,scope=base-debian12
37+
- name: Build yara-x image
38+
run: |
39+
docker build \
40+
--build-arg BASE_IMAGE=lmd-base-debian12 \
41+
-f tests/Dockerfile.yara-x \
42+
-t lmd-test-yara-x .
43+
- name: Run yara-x tests
44+
run: |
45+
mkdir -p "${{ runner.temp }}/reports"
46+
docker run --rm \
47+
-e BATS_TEST_TIMEOUT=180 \
48+
-v "${{ runner.temp }}/reports:/reports" \
49+
lmd-test-yara-x \
50+
bats --formatter tap \
51+
--report-formatter junit --output /reports \
52+
/opt/tests/
53+
- name: Upload yara-x test reports
54+
if: always()
55+
uses: actions/upload-artifact@v4
56+
with:
57+
name: test-reports-lmd-yara-x
58+
path: ${{ runner.temp }}/reports/
59+
retention-days: 14
60+
if-no-files-found: ignore
61+
62+
uat:
63+
runs-on: ubuntu-latest
64+
timeout-minutes: 15
65+
steps:
66+
- uses: actions/checkout@v4
67+
with:
68+
submodules: recursive
69+
- uses: docker/setup-buildx-action@v3
70+
- name: Build base image
71+
uses: docker/build-push-action@v6
72+
with:
73+
context: tests/infra
74+
file: tests/infra/dockerfiles/Dockerfile.debian12
75+
tags: lmd-base-debian12
76+
load: true
77+
cache-from: type=gha,scope=base-debian12
78+
cache-to: type=gha,mode=max,scope=base-debian12
79+
- name: Build test image
80+
run: |
81+
docker build \
82+
--build-arg BASE_IMAGE=lmd-base-debian12 \
83+
-f tests/Dockerfile \
84+
-t lmd-test-debian12 .
85+
- name: Run UAT scenarios
86+
run: make -C tests uat
87+
- name: Upload UAT results
88+
if: always()
89+
uses: actions/upload-artifact@v4
90+
with:
91+
name: uat-results
92+
path: /tmp/uat-output/
93+
retention-days: 14
94+
if-no-files-found: ignore

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "tests/infra"]
2+
path = tests/infra
3+
url = https://github.com/rfxn/batsman.git

CHANGELOG

Lines changed: 474 additions & 94 deletions
Large diffs are not rendered by default.

CHANGELOG.RELEASE

Lines changed: 380 additions & 12 deletions
Large diffs are not rendered by default.

CHANGELOG.VARIABLES

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ maxdepth => scan_max_depth
66
minfilesize => scan_min_filesize
77
maxfilesize => scan_max_filesize
88
hexdepth => scan_hexdepth
9-
hex_fifo_scan => scan_hexfifo
10-
hex_fifo_depth => scan_hexfifo_depth
9+
hex_fifo_scan => scan_hexfifo => DEPRECATED (v2.0.1)
10+
hex_fifo_depth => scan_hexfifo_depth => scan_hexdepth (v2.0.1)
1111
clamav_scan => scan_clamscan
1212
tmpdir_scan => DELETED
1313
tmpdir_paths => scan_tmpdir_paths
@@ -17,6 +17,8 @@ scan_nice => scan_cpunice
1717
inotify_stime => inotify_sleep
1818
inotify_webdir => inotify_docroot
1919
inotify_nice => inotify_cpunice
20+
inotify_verbose => DELETED (v2.0.1)
21+
telegram_file_caption => DELETED (v2.0.1)
2022
def_verf => sig_version_file
2123
defurl_ver => sig_version_url
2224
def_ver => sig_version

CONTRIBUTING.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Contributing to linux-malware-detect
2+
3+
## How to Contribute
4+
5+
- **Bug reports**: Open a GitHub Issue with steps to reproduce
6+
- **Feature requests**: Open a GitHub Issue with use case and rationale
7+
- **Security vulnerabilities**: See [SECURITY.md](SECURITY.md)
8+
9+
## Development Setup
10+
11+
```bash
12+
git clone https://github.com/rfxn/linux-malware-detect.git
13+
cd linux-malware-detect
14+
# Project-specific setup instructions
15+
```
16+
17+
## Code Standards
18+
19+
- All shell scripts pass `bash -n` and `shellcheck`
20+
- Tests use the BATS framework: `make -C tests test`
21+
- Commit messages follow project conventions (see CHANGELOG for format)
22+
23+
## Pull Requests
24+
25+
1. Fork the repository
26+
2. Create a feature branch from the current release branch
27+
3. Make your changes with tests
28+
4. Ensure all tests pass: `make -C tests test`
29+
5. Submit a pull request with a clear description
30+
31+
## License
32+
33+
By contributing, you agree that your contributions will be licensed
34+
under the GNU GPL v2.

0 commit comments

Comments
 (0)