Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
2b64f08
feat: Session/Action architecture + proton post-auth scanning
M09Ic Jun 12, 2026
28045be
fix: add nil session guard and nil Err guard to prevent panics
M09Ic Jun 12, 2026
f379ee4
feat: improve stability and UX — graceful shutdown, error stats, debu…
M09Ic Jun 12, 2026
9bcfed7
feat: add ResourceLoader for controllable resource loading
M09Ic Jun 16, 2026
6bf4579
fix: data race between Output send and OutputCh close
M09Ic Jun 24, 2026
a9b0cc8
feat: add service protocol for YAML-driven post-exploitation templates
M09Ic Jun 24, 2026
f20f7a9
feat: add ExecuteWithOptions, payload CLI override, chain mechanism, …
M09Ic Jun 24, 2026
2a58d2d
refactor(action): use neutron ChainExecutor for service chain walking
M09Ic Jun 24, 2026
3f040c3
chore: bump neutron to 6264ae4 (ChainExecutor)
M09Ic Jun 24, 2026
d781ca8
feat: service template enhancements — neutron HTTP/Network, risk/tags…
M09Ic Jun 26, 2026
febc74b
refactor: remove hardcoded info gathering from PostAction, delegate t…
M09Ic Jun 26, 2026
856103e
refactor: invert plugin registry — each plugin self-registers via init()
M09Ic Jun 26, 2026
3f666b9
refactor: simplify session layer — atomic DSL execution interfaces
M09Ic Jun 26, 2026
4327a6c
refactor: MongoDB session from KVSession to SQLSession
M09Ic Jun 26, 2026
8f32178
feat: loot extraction pipeline + CI for zombie 2.0
M09Ic Jun 26, 2026
72b321d
chore: update templates submodule (loot rules)
M09Ic Jun 26, 2026
56408a3
refactor: move loot templates to zombie/loot/, fix load path
M09Ic Jun 26, 2026
781b278
refactor: rename Services to RequestsService for semantic alignment
M09Ic Jun 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 69 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,36 +12,88 @@ permissions:
contents: read

jobs:
basic:
name: basic checks (${{ matrix.os }})
lint:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true

- run: go vet ./...

test:
name: test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true

- run: go mod download

- name: Unit & E2E tests
run: go test -count=1 -timeout 300s ./...

build:
name: build (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Set up Go
uses: actions/setup-go@v5
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true

- name: Download dependencies
run: go mod download
- run: go build ./...

- name: Build with emptytemplates tag
run: go build -tags emptytemplates ./...

templates:
name: template validation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true

- name: Test
run: go test -count=1 ./...
- name: Validate service templates
run: go test -count=1 -run TestLoadAllTemplates ./service/...

- name: Vet
run: go vet ./...
- name: Validate loot templates
run: go test -count=1 -run TestLoadLootTemplates ./service/...

- name: Build packages
run: go build ./...
- name: Verify embedded data is current
run: |
go run templates/templates_gen.go -t templates -o /tmp/templates_check.go -need zombie -embed
diff -q pkg/templates.go /tmp/templates_check.go || {
echo "::error::pkg/templates.go is out of date — run 'go generate' and commit"
exit 1
}
Loading
Loading