Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
52d652e
Server side seems good.
hulto Jun 10, 2024
1a4b06f
Add rust deps.
hulto Jun 10, 2024
091dc2f
Update codegen codec.
hulto Jun 10, 2024
598c132
Add workspace deps
hulto Jun 10, 2024
2f37e9e
Add xchacha codec
hulto Jun 10, 2024
30e7347
Update manual grpc codec.
hulto Jun 10, 2024
bbbdbc6
Code gen
hulto Jun 10, 2024
d96d1bb
Comment out crypto
hulto Jun 10, 2024
86810e7
Build test case.
hulto Jun 10, 2024
198e592
Re-enable crypto
hulto Jun 10, 2024
6058659
Remove enc.
hulto Jun 10, 2024
fb33f5a
Debbugging
hulto Jun 13, 2024
d8dcf32
Build with random password.
hulto Jun 13, 2024
f161726
Not needed
hulto Jun 13, 2024
5635219
Add env file.
hulto Jun 13, 2024
e2c2baa
set env var
hulto Jun 14, 2024
e96829b
Remove test thing.
hulto Jun 18, 2024
f477dcb
Set key with env var or random
hulto Jun 18, 2024
4b8af08
Update docs.
hulto Jun 18, 2024
fb1f77f
Fix tests?
hulto Jun 18, 2024
399f1d3
Abort if key is not set.
hulto Jun 19, 2024
7150c60
static defaults are dangerous.
hulto Jun 19, 2024
b5f908a
Remove set key from cicd
hulto Jun 19, 2024
dc5afef
Add var for encrypt key.
hulto Jun 19, 2024
fb78e54
Update terraform
hulto Jun 19, 2024
1ac96c5
Fix debug and errors.
hulto Jun 19, 2024
7c637ae
Updating warnings.
hulto Jun 19, 2024
5cb02e9
Fix prints
hulto Jun 19, 2024
cdaaf39
Remove required string.
hulto Jun 19, 2024
6397e69
Revert example tome
hulto Jun 19, 2024
7833462
Remove todo
hulto Jun 19, 2024
fbf83b1
Remove deny_warnings
hulto Jun 19, 2024
4425d12
Merge branch 'main' into app-layer-crypto-codec
hulto Jun 19, 2024
6cf358b
Remove docs - not supported.
hulto Jun 19, 2024
75273d8
No docs
hulto Jun 19, 2024
c7ce69e
Revert "Remove deny_warnings"
hulto Jun 19, 2024
d9bf87d
App layer crypto codec asym (#784)
hulto Jun 29, 2024
c267c02
Merge branch 'main' into app-layer-crypto-codec
hulto Jun 29, 2024
d1f0a84
Debug file secrets manager
hulto Jul 1, 2024
d2f4b52
Remove static key
hulto Jul 1, 2024
50c9de7
Remove static key
hulto Jul 1, 2024
7a8ff5e
Remove static key bits.
hulto Jul 1, 2024
7abe24c
Add launch.json
hulto Jul 1, 2024
6bf6a5b
Fix env! error
hulto Jul 2, 2024
3ae7a40
Stubbed out GCP KMS
hulto Jul 4, 2024
6128048
Implement gcp secret manager
hulto Jul 7, 2024
7bf6ff5
switch to []byte
hulto Jul 7, 2024
054eba4
key stays the same between reboots.
hulto Jul 7, 2024
7f3495b
Add prefix
hulto Jul 7, 2024
4094ef1
Debugging
hulto Jul 9, 2024
57aa516
Merge branch 'app-layer-crypto-codec' of https://github.com/spellshif…
hulto Jul 9, 2024
967cb50
Check another way
hulto Jul 9, 2024
3897e0a
Fix secret name
hulto Jul 9, 2024
c0d4d5b
Don't try to create secrets
hulto Jul 9, 2024
e81dc7d
And the peasants rejoice
hulto Jul 9, 2024
91088b7
Remove create secret code
hulto Jul 9, 2024
db4601a
Remove debug print
hulto Jul 9, 2024
de4c8e6
Fix tests
hulto Jul 9, 2024
8e53f57
Secrets manager defaults
hulto Jul 9, 2024
9c95a6e
Add env var to tests
hulto Jul 9, 2024
dff90f3
typo
hulto Jul 9, 2024
ea1f654
Let test cleanup temp files
hulto Jul 9, 2024
4a0afe4
defer close
hulto Jul 9, 2024
8c5487f
Test using tempdir
hulto Jul 9, 2024
5d7b732
Merge branch 'main' into app-layer-crypto-codec
hulto Jul 10, 2024
650b169
Resolve feedback
hulto Jul 10, 2024
3db67fa
Cleanup.
hulto Jul 11, 2024
9a44b73
Server side seems good.
hulto Jun 10, 2024
ebafc0e
Add rust deps.
hulto Jun 10, 2024
67bc557
Update codegen codec.
hulto Jun 10, 2024
4798fbc
Add workspace deps
hulto Jun 10, 2024
5302ff6
Add xchacha codec
hulto Jun 10, 2024
96b9955
Update manual grpc codec.
hulto Jun 10, 2024
d44fa1f
Code gen
hulto Jun 10, 2024
f9579cf
Comment out crypto
hulto Jun 10, 2024
c79f40f
Build test case.
hulto Jun 10, 2024
4748877
Re-enable crypto
hulto Jun 10, 2024
418f11a
Remove enc.
hulto Jun 10, 2024
5e0630a
Debbugging
hulto Jun 13, 2024
6cbdcd9
Build with random password.
hulto Jun 13, 2024
4beeaef
Not needed
hulto Jun 13, 2024
38f5e79
Add env file.
hulto Jun 13, 2024
1c56eca
set env var
hulto Jun 14, 2024
9a8372b
Remove test thing.
hulto Jun 18, 2024
6682383
Set key with env var or random
hulto Jun 18, 2024
48cbb7c
Update docs.
hulto Jun 18, 2024
1467c31
Fix tests?
hulto Jun 18, 2024
1ee4f42
Abort if key is not set.
hulto Jun 19, 2024
fcebdd6
static defaults are dangerous.
hulto Jun 19, 2024
8c08d2e
Remove set key from cicd
hulto Jun 19, 2024
7d00809
Add var for encrypt key.
hulto Jun 19, 2024
d70d7d6
Update terraform
hulto Jun 19, 2024
052c500
Fix debug and errors.
hulto Jun 19, 2024
399421b
Updating warnings.
hulto Jun 19, 2024
fe89969
Fix prints
hulto Jun 19, 2024
7860bac
Remove required string.
hulto Jun 19, 2024
9188434
Revert example tome
hulto Jun 19, 2024
dddc0c9
Remove todo
hulto Jun 19, 2024
96a9f9a
Remove deny_warnings
hulto Jun 19, 2024
a40e412
Remove docs - not supported.
hulto Jun 19, 2024
e5ff8a3
No docs
hulto Jun 19, 2024
8d61a76
Revert "Remove deny_warnings"
hulto Jun 19, 2024
3784c67
App layer crypto codec asym (#784)
hulto Jun 29, 2024
8752c9d
Debug file secrets manager
hulto Jul 1, 2024
9fa3028
Remove static key
hulto Jul 1, 2024
75285d3
Remove static key
hulto Jul 1, 2024
8685ea7
Remove static key bits.
hulto Jul 1, 2024
6efef7b
Add launch.json
hulto Jul 1, 2024
40dd618
Fix env! error
hulto Jul 2, 2024
58a6de5
Stubbed out GCP KMS
hulto Jul 4, 2024
0ebf641
Implement gcp secret manager
hulto Jul 7, 2024
d2f7759
switch to []byte
hulto Jul 7, 2024
60d40e4
key stays the same between reboots.
hulto Jul 7, 2024
c9c7103
Add prefix
hulto Jul 7, 2024
e4cda41
Debugging
hulto Jul 9, 2024
ba3dd19
Check another way
hulto Jul 9, 2024
ecda3b0
Fix secret name
hulto Jul 9, 2024
438f7ab
Don't try to create secrets
hulto Jul 9, 2024
439cb3e
And the peasants rejoice
hulto Jul 9, 2024
6ab79d1
Remove create secret code
hulto Jul 9, 2024
6c66351
Remove debug print
hulto Jul 9, 2024
e7965cc
Fix tests
hulto Jul 9, 2024
dd7914d
Secrets manager defaults
hulto Jul 9, 2024
631acaa
Add env var to tests
hulto Jul 9, 2024
e1b39b9
typo
hulto Jul 9, 2024
f709426
Let test cleanup temp files
hulto Jul 9, 2024
11cc7ce
defer close
hulto Jul 9, 2024
e11f752
Test using tempdir
hulto Jul 9, 2024
89e3865
Resolve feedback
hulto Jul 10, 2024
8403326
Cleanup.
hulto Jul 11, 2024
f5b5711
Merge branch 'app-layer-crypto-codec' of https://github.com/spellshif…
hulto Jul 11, 2024
b551d14
hhhh
hulto Jul 11, 2024
c76cd10
Cleanup
hulto Jul 12, 2024
7b089be
Comments
hulto Jul 12, 2024
89666b5
Merge branch 'main' into app-layer-crypto-codec
hulto Dec 30, 2024
96d7a7b
Merge branch 'main' into app-layer-crypto-codec
hulto Dec 30, 2024
653a291
merge
hulto May 5, 2025
b055cef
Resolve merge conflicts
hulto May 5, 2025
1c48279
Set var so IDE is happy.
hulto May 5, 2025
da5e0b6
Merge branch 'main' into app-layer-crypto-codec
hulto May 6, 2025
9fb0fc4
Upgrades people upgrades
hulto May 21, 2025
e56c162
Updates
hulto Jun 2, 2025
3868b32
Merge branch 'main' into app-layer-crypto-codec
hulto Aug 12, 2025
ea00bee
fix: update taiki-e/install-action to v2 (#951)
google-labs-jules[bot] Aug 28, 2025
83ab7f8
Resolve golang comments
hulto Aug 30, 2025
ba9e479
First pass
hulto Aug 30, 2025
3b9b315
fix(tests): update secrets test to match new struct (#955)
hulto Aug 30, 2025
887bb0e
Fix lint error
hulto Aug 30, 2025
561b1fd
format
hulto Aug 30, 2025
5512940
test: Add test for key_history size limit (#954)
hulto Aug 30, 2025
69695ec
format
hulto Aug 30, 2025
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
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
IMIX_SERVER_PUBKEY=PLACE_HOLDER
4 changes: 3 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ jobs:
implants:
runs-on: ${{ matrix.os }}
timeout-minutes: 60
env:
IMIX_SERVER_PUBKEY: "pR56vDJZb9b3BL3ZvCXIvgK0r2vCk7FiZ1RjeEhJVyU="
strategy:
matrix:
os:
Expand Down Expand Up @@ -71,7 +73,7 @@ jobs:
cd ./bin/reflective_loader/
cargo +nightly-2025-01-31 build --release -Z build-std=core,compiler_builtins -Z build-std-features=compiler-builtins-mem
- name: Install latest nextest & cargo-llvm-cov release
uses: taiki-e/install-action@v2.52.7
uses: taiki-e/install-action@v2
with:
tool: nextest,cargo-llvm-cov
- name: 🔎 Run tests
Expand Down
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
"--profile",
"rust-analyzer"
],
"rust-analyzer.server.extraEnv": {
"IMIX_SERVER_PUBKEY": "v3NEg3eB9/e3wi4HHSoIIgPq3BEi6xrurKOSuOVj72g="
},
"rust-analyzer.check.command": "clippy",
"rust-analyzer.showUnlinkedFileNotification": false,
}
9 changes: 9 additions & 0 deletions docs/_docs/admin-guide/tavern.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,15 @@ By default, Tavern does not export metrics. You may use the below environment co
| ENABLE_METRICS | Set to any value to enable the "/metrics" endpoint. | Disabled | No |
| HTTP_METRICS_LISTEN_ADDR | Listen address for the metrics HTTP server, it must be different than the value of `HTTP_LISTEN_ADDR`. | `127.0.0.1:8080` | No |

### Secrets

By default, Tavern wants to use a GCP KMS for secrets management. The secrets engine is used to generate keypairs when communicating with agents.
If you're running locally make suer to set the secrets manager to a local file path using:

```bash
SECRETS_FILE_PATH="/tmp/secrets" go run ./tavern/
```

### MySQL

By default, Tavern operates an in-memory SQLite database. To persist data, a MySQL backend is supported. In order to configure Tavern to use MySQL, the `MYSQL_ADDR` environment variable must be set to the `host[:port]` of the database (e.g. `127.0.0.1`, `mydb.com`, or `mydb.com:3306`). You can reference the [mysql.Config](https://pkg.go.dev/github.com/go-sql-driver/mysql#Config) for additional information about Tavern's MySQL configuration.
Expand Down
14 changes: 10 additions & 4 deletions docs/_docs/user-guide/imix.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,11 @@ This isn't ideal as in the UI each new beacon will appear as thought it were on

## Static cross compilation

**We strongly recommend building agents inside the provided devcontainer `.devcontainer`**
Building in the dev container limits variables that might cause issues and is the most tested way to compile.

**Imix requires a server public key so it can encrypt messsages to and from the server check the server log for `level=INFO msg="public key: <SERVER_PUBKEY_B64>"`. This base64 encoded string should be passed to the agent using the environment variable `IMIX_SERVER_PUBKEY`**

### Linux

```bash
Expand All @@ -91,7 +96,7 @@ rustup target add x86_64-unknown-linux-musl
sudo apt update
sudo apt install musl-tools
cd realm/implants/imix/
cargo build --release --bin imix --target=x86_64-unknown-linux-musl
IMIX_SERVER_PUBKEY="<SERVER_PUBKEY>" cargo build --release --bin imix --target=x86_64-unknown-linux-musl
```

### MacOS
Expand All @@ -113,10 +118,11 @@ sudo apt install gcc-mingw-w64

# Build imix
cd realm/implants/imix/

# Build imix.exe
cargo build --release --target=x86_64-pc-windows-gnu
IMIX_SERVER_PUBKEY="<SERVER_PUBKEY>" cargo build --release --target=x86_64-pc-windows-gnu
# Build imix.svc.exe
cargo build --release --features win_service --target=x86_64-pc-windows-gnu
IMIX_SERVER_PUBKEY="<SERVER_PUBKEY>" cargo build --release --features win_service --target=x86_64-pc-windows-gnu
# Build imix.dll
cargo build --release --lib --target=x86_64-pc-windows-gnu
IMIX_SERVER_PUBKEY="<SERVER_PUBKEY>" cargo build --release --lib --target=x86_64-pc-windows-gnu
```
70 changes: 35 additions & 35 deletions go.mod

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading