fluidattacks-agent
Reports what a running Python workload actually imports and runs, so that a dependency inventory can say which of its findings are reachable at runtime and which are not.
It is a library, not a service. It observes the interpreter it is installed in, sends what it saw, and does nothing else. It takes no dependencies: the standard library only, because it is installed into workloads we do not own.
Installing
pip install fluidattacks-agent
That is the whole setup. A .pth file at the root of the wheel starts the probe
at interpreter start, before the workload's own program runs, so nothing has to
be imported or called by hand.
Turning it off
FLUIDATTACKS_AGENT=off
Also 0, false, no, disabled or none. A workload that says no pays for
reading the setting and for nothing above it. Saying nothing is taken for yes,
because installing the package is the consent.
What it observes
- distributions whose modules were imported, and which modules
- functions that were executed, where the interpreter offers that
- how often, in windows, and when a symbol was first reached
Only what an installed distribution owns is attributed. The standard library and a workload's own first-party code produce no records.
The credential
Naming a credential and a root is what makes the probe observe at all. A workload that leaves either out starts nothing:
FLUIDATTACKS_AGENT_TOKEN_FILE |
a file holding the credential, preferred |
FLUIDATTACKS_AGENT_TOKEN |
the credential itself, read only if no file is named |
FLUIDATTACKS_AGENT_ROOT |
the nickname of the root its reports are filed under |
FLUIDATTACKS_AGENT_WORKLOAD |
what this workload is called, optional |
A file is preferred over a variable because a file can be mode 400, while an environment variable is readable by any process of the same user.
The credential is issued for a group of the platform and serves every workload of it; each workload names its root by the nickname the platform shows for it. Where reports go is fixed in the probe; no setting names an address. A credential or a root of any other shape is a misconfiguration, and the probe starts nothing rather than sign what nobody could file.
What travels, and what does not
Reports are gzipped and signed with a key derived from the credential; the credential itself never travels, appears in no record, and is in no exception. The far end must prove who it is — certificate chain and hostname both — and no redirect is followed.
What a report contains is distribution names, versions, module and function names, and counts. No arguments, no return values, no file contents, no environment.
Licence
MPL-2.0
Release files for fluidattacks-agent 0.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fluidattacks_agent-0.6.1-cp311-abi3-manylinux_2_17_x86_64.whl | CPython 3.11 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| fluidattacks_agent-0.6.1-cp311-abi3-manylinux_2_17_aarch64.whl | CPython 3.11 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| fluidattacks_agent-0.6.1-cp311-abi3-macosx_11_0_arm64.whl | CPython 3.11 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 4.8 MB
Release files / fluidattacks_agent-0.6.1-cp311-abi3-manylinux_2_17_x86_64.whl
| Download URL | fluidattacks_agent-0.6.1-cp311-abi3-manylinux_2_17_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
d5fa7b352d6a9672b958339cfffb2aa7343728594b0829815b6d538118566dc8
|
|
BLAKE2b-256 checksum How to use checksums |
50f63d1f3abbed2e08e230492f350154497fa57248398f2098424ebd75abf9e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fluidattacks_agent-0.6.1-cp311-abi3-manylinux_2_17_aarch64.whl
| Download URL | fluidattacks_agent-0.6.1-cp311-abi3-manylinux_2_17_aarch64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
c90433a43fd8b015665696cec92ac79c6c6d821f4bb92126ad19abbdf46b3a32
|
|
BLAKE2b-256 checksum How to use checksums |
8271e83985b88519b839684bb44ad8b20c5463633e871b1a6f7cc862aa9ebe4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fluidattacks_agent-0.6.1-cp311-abi3-macosx_11_0_arm64.whl
| Download URL | fluidattacks_agent-0.6.1-cp311-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.11 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
61f3a2b8ae7d0af1d668211e72e32e1d21a516323fd97da8e22c41f279633df6
|
|
BLAKE2b-256 checksum How to use checksums |
ba78143b949f0a2fe055306ca751f3c74c4d4452a5c41b2812eeca18b78d1f01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|