Skip to content

Commit 75969a6

Browse files
committed
ci: test only on Python 3.13 and document nmap scanner
- Simplify CI by removing the multi-version Python matrix and standardizing all jobs on Python 3.13 to reduce maintenance overhead and focus on the current stable runtime. - Drop the experimental Python 3.14 job and associated continue-on-error handling since it is no longer needed. - Remove the "dangerous API" grep scan step from the pipeline to avoid noisy, brittle checks in CI. - Add .env to .gitignore so local environment files are not tracked in version control. - Expand documentation for the optional nmap-based scanner with security warnings, legal considerations, and guidance for responsible use by security researchers. - Add tests for the nmap scanner and metasploit matcher using mocked runners, improving coverage and validating behavior without invoking real network scans.
1 parent c8f540d commit 75969a6

Some content is hidden

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

41 files changed

+2503
-1378
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,8 @@ jobs:
2626
fail-fast: false
2727
matrix:
2828
include:
29-
- python-version: "3.11"
30-
experimental: false
31-
- python-version: "3.12"
32-
experimental: false
3329
- python-version: "3.13"
3430
experimental: false
35-
- python-version: "3.14" # treat 3.14 as experimental so CI doesn't block if it breaks
36-
experimental: true
37-
continue-on-error: ${{ matrix.experimental }}
3831

3932
steps:
4033
- name: Checkout
@@ -61,16 +54,6 @@ jobs:
6154
- name: Tests (pytest)
6255
run: uv run pytest --cov --cov-report=xml --cov-report=html
6356

64-
- name: Dangerous API scan (grep)
65-
continue-on-error: true
66-
shell: bash
67-
run: |
68-
set -euo pipefail
69-
if grep -rn -E '\beval\(|\bexec\(|pickle\.loads|yaml\.load\(|subprocess\.(Popen|call)\(' src/ tests/ 2>/dev/null | grep -v 'yaml\.load_safe' || true; then
70-
echo "⚠️ Potentially dangerous API usage detected. Please review." >&2
71-
exit 2
72-
fi
73-
7457
- name: Upload coverage.xml
7558
uses: actions/upload-artifact@v5
7659
with:
@@ -103,7 +86,7 @@ jobs:
10386
enable-cache: true
10487

10588
- name: Set up Python
106-
run: uv python install 3.11
89+
run: uv python install 3.13
10790

10891
- name: Sync dependencies
10992
run: uv sync --all-extras --dev
@@ -141,7 +124,7 @@ jobs:
141124
enable-cache: true
142125

143126
- name: Set up Python
144-
run: uv python install 3.11
127+
run: uv python install 3.13
145128

146129
- name: Sync dependencies (includes sphinx)
147130
run: uv sync --all-extras --dev

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,5 @@ scan_results/
6969

7070
# Sphinx documentation build output (generated files only)
7171
docs/_build/
72+
73+
.env

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ lint:
2929
uv run ruff check .
3030

3131
type:
32-
uv run mypy src
32+
uv run mypy src --ignore-missing-imports
3333

3434
format:
3535
uv run ruff format .

0 commit comments

Comments
 (0)