Spaces:
Running
Running
Merge reviewed Eggcracker guidance and truthful self-service surface
Browse filesIntegrates only the independently accepted attribution, repository guidance, and public-surface changes. No GitHub Release, package publication, deployment, repository-settings change, or expanded product claim.
- .github/ISSUE_TEMPLATE/bug_report.yml +3 -3
- .github/pull_request_template.md +1 -1
- AGENTS.md +151 -0
- LIMITATIONS.md +8 -1
- QUALIFICATION.md +10 -0
- README.md +35 -5
- SECURITY.md +1 -1
- pyproject.toml +0 -1
.github/ISSUE_TEMPLATE/bug_report.yml
CHANGED
|
@@ -1,16 +1,16 @@
|
|
| 1 |
name: Bug report
|
| 2 |
-
description: Report a reproducible
|
| 3 |
title: "[Bug]: "
|
| 4 |
labels: [bug]
|
| 5 |
body:
|
| 6 |
- type: markdown
|
| 7 |
attributes:
|
| 8 |
-
value:
|
| 9 |
- type: input
|
| 10 |
id: version
|
| 11 |
attributes:
|
| 12 |
label: Version
|
| 13 |
-
placeholder: 0.
|
| 14 |
validations:
|
| 15 |
required: true
|
| 16 |
- type: input
|
|
|
|
| 1 |
name: Bug report
|
| 2 |
+
description: Report a reproducible Eggcracker defect (sign-in and repository permission required)
|
| 3 |
title: "[Bug]: "
|
| 4 |
labels: [bug]
|
| 5 |
body:
|
| 6 |
- type: markdown
|
| 7 |
attributes:
|
| 8 |
+
value: GitHub currently restricts issue creation in this repository, so this tracked form is not an anonymous feedback channel. If you have permission to open an issue, do not include credentials, private model files or sensitive exploit details. Use private vulnerability reporting for security issues.
|
| 9 |
- type: input
|
| 10 |
id: version
|
| 11 |
attributes:
|
| 12 |
label: Version
|
| 13 |
+
placeholder: 0.4.0 or exact source commit
|
| 14 |
validations:
|
| 15 |
required: true
|
| 16 |
- type: input
|
.github/pull_request_template.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
## Summary
|
| 2 |
|
| 3 |
-
Describe the user-visible change and why it belongs in
|
| 4 |
|
| 5 |
## Verification
|
| 6 |
|
|
|
|
| 1 |
## Summary
|
| 2 |
|
| 3 |
+
Describe the user-visible change and why it belongs in Eggcracker's narrow kill-switch scope.
|
| 4 |
|
| 5 |
## Verification
|
| 6 |
|
AGENTS.md
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Eggcracker repository instructions
|
| 2 |
+
|
| 3 |
+
These instructions apply to the whole repository. A deeper `AGENTS.md` may add
|
| 4 |
+
narrower rules for its subtree, but it may not relax the safety, evidence,
|
| 5 |
+
rights, preservation, or publication boundaries below.
|
| 6 |
+
|
| 7 |
+
## Authority and source truth
|
| 8 |
+
|
| 9 |
+
1. Exact action-specific founder, legal, risk, and publication authority in the
|
| 10 |
+
governing company control plane takes precedence.
|
| 11 |
+
2. An accepted bounded work order controls scope, branch, worktree, tests, and
|
| 12 |
+
stop conditions.
|
| 13 |
+
3. This file controls repository-local execution. Current tracked source,
|
| 14 |
+
tests, `README.md`, `SECURITY_MODEL.md`, `LIMITATIONS.md`, and
|
| 15 |
+
`QUALIFICATION.md` are the product-behaviour evidence to reconcile, not
|
| 16 |
+
permission to broaden an action.
|
| 17 |
+
|
| 18 |
+
The public source repository is
|
| 19 |
+
`https://github.com/noqt/Lumi-Eggcracker`. Bind work to an exact commit; do not
|
| 20 |
+
treat a local branch name, stale local `main`, tag, build, or worktree as proof
|
| 21 |
+
of current public state. On an instruction, source, documentation, or evidence
|
| 22 |
+
conflict, preserve the state and stop the affected claim or mutation until the
|
| 23 |
+
conflict is reconciled.
|
| 24 |
+
|
| 25 |
+
## Destructive enforcement boundary
|
| 26 |
+
|
| 27 |
+
Eggcracker is a privileged native-Linux enforcement daemon, not an alert-only
|
| 28 |
+
tool. An unapproved **complete** match to an active qualified profile is stopped,
|
| 29 |
+
captured into the exact delegated cgroup, and automatically killed with
|
| 30 |
+
`cgroup.kill`; it does not wait for operator confirmation. Root installation,
|
| 31 |
+
native discovery, containment, watchdog, cgroup, or uninstall tests may run only
|
| 32 |
+
under an explicit bounded assignment in a disposable supported Linux
|
| 33 |
+
environment whose loss is acceptable. Record the exact host/VM, kernel,
|
| 34 |
+
systemd/cgroup-v2 capabilities, operator, commit, artifacts, and cleanup result.
|
| 35 |
+
Never run destructive qualification on a workstation, server, shared host, or
|
| 36 |
+
non-disposable environment.
|
| 37 |
+
|
| 38 |
+
Exactly two profiles are active in version 0.4.0:
|
| 39 |
+
|
| 40 |
+
- `content.gguf-llama`: a bounded plausible GGUF v2/v3 header plus either the
|
| 41 |
+
qualified llama.cpp/GGML ELF marker pair or the exact pinned launcher build
|
| 42 |
+
ID.
|
| 43 |
+
- `content.safetensors-pytorch`: a structurally valid contiguous Safetensors
|
| 44 |
+
artifact plus the exact pinned CPU PyTorch bridge-and-ATen ELF build-ID pair,
|
| 45 |
+
observed in one process or the documented bounded related workload using the
|
| 46 |
+
dedicated workload UID.
|
| 47 |
+
|
| 48 |
+
Name-only Ollama, vLLM, TGI, LocalAI, llamafile, agent-CLI, and other catalogue
|
| 49 |
+
entries are inactive research until separately qualified. Do not claim
|
| 50 |
+
universal or arbitrary AI/agent/runtime identification, proof of inference,
|
| 51 |
+
malware prevention or detection, IDS/EDR capability, sandboxing, network,
|
| 52 |
+
credential, or filesystem isolation, container/cloud/remote-API protection,
|
| 53 |
+
zero escape, or protection of unobserved or already-escaped processes. A receipt
|
| 54 |
+
proves only that the exact captured quarantine cgroup was empty at the recorded
|
| 55 |
+
point.
|
| 56 |
+
|
| 57 |
+
## Evidence and claims
|
| 58 |
+
|
| 59 |
+
Use only these evidence labels:
|
| 60 |
+
|
| 61 |
+
- `OBSERVED`: directly inspected fact, bound to source, time, and identity.
|
| 62 |
+
- `IMPLEMENTED_INTERNAL`: present in an exact commit or artifact and exercised
|
| 63 |
+
by named internal checks; not independent use or market evidence.
|
| 64 |
+
- `INTENDED`: planned or designed but not demonstrated as implemented.
|
| 65 |
+
- `UNSUPPORTED`: absent, conflicting, stale, or insufficient evidence; do not
|
| 66 |
+
present the claim as fact.
|
| 67 |
+
|
| 68 |
+
Bind every technical result to the exact commit and artifact hash, test command,
|
| 69 |
+
OS/host or VM, Python version, timestamp, and relevant skips or limitations.
|
| 70 |
+
Do not generalise a fixture, internal Windows control run, one Linux host, CI
|
| 71 |
+
run, or receipt into universal capability, native qualification on another
|
| 72 |
+
host, independent installation, adoption, demand, or safety assurance.
|
| 73 |
+
|
| 74 |
+
Current release snapshot, recorded 12 August 2026 and requiring revalidation
|
| 75 |
+
before any external use:
|
| 76 |
+
|
| 77 |
+
- public annotated `v0.4.0` and its CI run are bound to
|
| 78 |
+
`418f877f0d450aeb26d4a1233257746808c490e5`; the recorded CI passed Ruff,
|
| 79 |
+
69 unit tests, build, and release verification;
|
| 80 |
+
- no matching GitHub Release was observed; and
|
| 81 |
+
- local commit `a3ad746682c89599ce582cd97acf5a99742dc3aa` is an unpushed
|
| 82 |
+
attribution-only descendant. Its exact candidate has **internal Windows
|
| 83 |
+
control evidence** accepted by a separate internal control reviewer for Ruff,
|
| 84 |
+
69 tests with three documented Windows skips, build/release verification,
|
| 85 |
+
hashes, archive identity, and preservation. This was an internal control
|
| 86 |
+
review, not an independent external audit or assessment. It is not public,
|
| 87 |
+
native-Linux qualification, independent use, or market evidence.
|
| 88 |
+
|
| 89 |
+
## Proportional verification
|
| 90 |
+
|
| 91 |
+
Run only checks material to the change, and report what actually ran:
|
| 92 |
+
|
| 93 |
+
- documentation-only: instruction precedence, links and repository paths,
|
| 94 |
+
evidence/claim vocabulary, prohibited-claim scan, one-file scope where
|
| 95 |
+
applicable, and `git diff --check`;
|
| 96 |
+
- Python or behavioural change: Ruff and the complete unit-test suite;
|
| 97 |
+
- packaging or release-material change: Ruff, unit tests, release build, and
|
| 98 |
+
`verify_release.py`, with exact artifact hashes; and
|
| 99 |
+
- detector, profile, approval, root boundary, cgroup, watchdog, containment,
|
| 100 |
+
install/uninstall, or other security-material change: all applicable checks
|
| 101 |
+
above plus the complete commit- and host-bound native qualification in
|
| 102 |
+
`QUALIFICATION.md`, inside the disposable supported Linux environment.
|
| 103 |
+
|
| 104 |
+
A Windows pass cannot substitute for a native gate. Do not silently weaken a
|
| 105 |
+
test, skip, threshold, negative control, or qualification matrix to obtain PASS.
|
| 106 |
+
|
| 107 |
+
## Preservation, compatibility, and rights
|
| 108 |
+
|
| 109 |
+
Treat Git history, tags, untracked files, generated candidates, evidence packs,
|
| 110 |
+
receipts, manifests, checksum files, and release artifacts as protected. Before
|
| 111 |
+
mutation, inventory the original checkout and all worktrees; after mutation,
|
| 112 |
+
prove preservation. Never use destructive reset, clean, history rewrite,
|
| 113 |
+
force-push, tag replacement, bulk overwrite, or deletion without exact
|
| 114 |
+
authority. Write new evidence and artifacts to a fresh task- and commit-bound
|
| 115 |
+
location, hash them, and stage only an explicit intended file list.
|
| 116 |
+
|
| 117 |
+
Preserve established repository, package, command, socket, policy, receipt,
|
| 118 |
+
manifest, artifact, and schema identifiers unless an authorised compatibility
|
| 119 |
+
plan proves the transition. The project is Apache-2.0: retain `LICENSE` and all
|
| 120 |
+
applicable notices and third-party terms. Do not change legal holders,
|
| 121 |
+
copyright/attribution, licence posture, or add a materially licensed dependency
|
| 122 |
+
without the corresponding reserved review and authority. Do not invent,
|
| 123 |
+
introduce, or infer a current company brand; preserve existing product and
|
| 124 |
+
technical identifiers where compatibility or provenance requires them.
|
| 125 |
+
|
| 126 |
+
Local branches, permanent worktrees, commits, test artifacts, and release
|
| 127 |
+
preparation are not pushes, tags, GitHub Releases, deployments, publication, or
|
| 128 |
+
public claims. Perform any product-remote push, tag creation/change, release,
|
| 129 |
+
deployment, or publication only with exact action-specific authority for this
|
| 130 |
+
repository, after independent review. Silence, an existing public tag, passing
|
| 131 |
+
CI, or a locally accepted candidate is not publication authority.
|
| 132 |
+
|
| 133 |
+
## Runtime, privacy, and secrets
|
| 134 |
+
|
| 135 |
+
In the controlled local execution environment, operate only on F: and G:.
|
| 136 |
+
Before any runtime, test, or tool that may use temporary or cache storage, create
|
| 137 |
+
a task-specific `[TASK_TEMP]` on F: or G: with
|
| 138 |
+
`New-Item -Path [TASK_TEMP] -ItemType Directory -Force -ErrorAction Stop` (do
|
| 139 |
+
not substitute `-LiteralPath` on `New-Item`); resolve it, prove it exists as a
|
| 140 |
+
directory on exactly F: or G:, set `TEMP`, `TMP`, `TMPDIR`, and
|
| 141 |
+
`PYTHONDONTWRITEBYTECODE`, and start a fresh runtime that asserts its selected
|
| 142 |
+
temporary directory resolves exactly to `[TASK_TEMP]`. Abort before substantive
|
| 143 |
+
execution on creation, resolution, drive, or equality failure. Disable caches
|
| 144 |
+
or bind them explicitly to F: or G:.
|
| 145 |
+
`Environment-variable assignment alone is not evidence.`
|
| 146 |
+
|
| 147 |
+
Do not inspect credential stores, reveal secrets, commit machine-specific paths,
|
| 148 |
+
personal data, raw process arguments or environments, private external data, or
|
| 149 |
+
customer/user material. Use synthetic fixtures and redacted, bounded evidence.
|
| 150 |
+
Raw arguments and environment values do not belong in approvals, detections,
|
| 151 |
+
receipts, logs, or committed guidance.
|
LIMITATIONS.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
| 1 |
# Limitations
|
| 2 |
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
Name-only profiles for Ollama, vLLM, TGI, LocalAI, llamafile and agent CLIs are intentionally not active in this release. They require exact invocation fixtures and launcher-identity qualification before they can become destructive profiles.
|
| 6 |
|
|
|
|
| 1 |
# Limitations
|
| 2 |
|
| 3 |
+
Eggcracker 0.4.0 autonomously acts only on a complete match from its two active, contract-qualified content profiles. Its content path supports a regular GGUF v2/v3 artifact combined with a qualified llama.cpp/GGML ELF runtime, or a regular Safetensors artifact combined with the exact pinned CPU PyTorch bridge-plus-ATen ELF build-ID pair. The two evidence groups may be observed in one process or across a bounded related workload using the installed dedicated workload UID: a live direct parent/child or sibling relation, or one exact Eggcracker-owned workload cgroup. Unrelated same-UID or common-init processes are not joined. There is no guarantee for evidence that escaped before observation, unobserved processes, or containerised or remote workloads. It does not recognise arbitrary, custom, fully stripped, encrypted or otherwise unlisted AI/agent workloads.
|
| 4 |
+
|
| 5 |
+
The qualification contract is published in `QUALIFICATION.md`. Project records
|
| 6 |
+
report a complete native result for exact commit
|
| 7 |
+
`418f877f0d450aeb26d4a1233257746808c490e5` on one WSL2 Ubuntu host, but the
|
| 8 |
+
checksum-bound evidence pack is not retained in this repository or a public
|
| 9 |
+
GitHub Release. That project-recorded result is not independently re-verifiable
|
| 10 |
+
from the durable public surface and does not qualify another commit or host.
|
| 11 |
|
| 12 |
Name-only profiles for Ollama, vLLM, TGI, LocalAI, llamafile and agent CLIs are intentionally not active in this release. They require exact invocation fixtures and launcher-identity qualification before they can become destructive profiles.
|
| 13 |
|
QUALIFICATION.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
| 1 |
# Qualification
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
The 0.4.0 candidate is releasable only when its exact commit passes the complete 0.3.1 regression, strict Safetensors and PyTorch/ATen direct tests, the existing selected-workload matrix, the native autonomous-discovery matrix, the GGUF and Safetensors content-recognition matrices, the combined detector self-protection matrix, and the host-overhead benchmark on one Ubuntu VM.
|
| 4 |
|
| 5 |
Mandatory autonomous gates are: 100/100 unapproved fixture discoveries and complete tree kills, 100/100 unrelated-canary survivals, zero surviving bounded replacement attempts, zero reused-PID signals, 50/50 exact approved survivals, zero kills in the benign and partial-match matrices, zero workload policy/socket accesses, restart recovery, p95 qualifying-snapshot-to-stop below 100 ms, and p95 trigger-to-empty below 500 ms. Full process-start-to-stop time is retained as diagnostic evidence because real model startup can occur before the runtime identity becomes observable; it is not a containment-latency gate.
|
|
|
|
| 1 |
# Qualification
|
| 2 |
|
| 3 |
+
This file defines the native qualification contract for an exact candidate and
|
| 4 |
+
host. Project records report a complete result for commit
|
| 5 |
+
`418f877f0d450aeb26d4a1233257746808c490e5` on one WSL2 Ubuntu host. The
|
| 6 |
+
corresponding checksum-bound native evidence pack is not retained in this
|
| 7 |
+
repository, a public GitHub Release, or current authorised durable evidence.
|
| 8 |
+
Treat that result as project-recorded and commit-bound, not as independently
|
| 9 |
+
re-verifiable native evidence or a qualification of another host. Re-run every
|
| 10 |
+
gate below on the exact source and target host before making a current native
|
| 11 |
+
qualification claim.
|
| 12 |
+
|
| 13 |
The 0.4.0 candidate is releasable only when its exact commit passes the complete 0.3.1 regression, strict Safetensors and PyTorch/ATen direct tests, the existing selected-workload matrix, the native autonomous-discovery matrix, the GGUF and Safetensors content-recognition matrices, the combined detector self-protection matrix, and the host-overhead benchmark on one Ubuntu VM.
|
| 14 |
|
| 15 |
Mandatory autonomous gates are: 100/100 unapproved fixture discoveries and complete tree kills, 100/100 unrelated-canary survivals, zero surviving bounded replacement attempts, zero reused-PID signals, 50/50 exact approved survivals, zero kills in the benign and partial-match matrices, zero workload policy/socket accesses, restart recovery, p95 qualifying-snapshot-to-stop below 100 ms, and p95 trigger-to-empty below 500 ms. Full process-start-to-stop time is retained as diagnostic evidence because real model startup can occur before the runtime identity becomes observable; it is not a containment-latency gate.
|
README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
-
#
|
| 2 |
|
| 3 |
**Deterministic containment for unapproved local AI workloads on Linux.**
|
| 4 |
|
| 5 |
-
|
| 6 |
published catalogue of locally observed AI workloads.
|
| 7 |
|
| 8 |
> Engineering preview: when a complete qualified match has no exact root approval,
|
|
@@ -15,7 +15,7 @@ There is no alert-only phase for an unapproved catalogue match. Containment begi
|
|
| 15 |
## What it does
|
| 16 |
|
| 17 |
- continuously scans host processes and performs a startup scan before accepting control commands;
|
| 18 |
-
- detects only the two
|
| 19 |
- recognises the qualified `content.gguf-llama` profile without depending on executable or model filename: a bounded plausible GGUF v2/v3 header and either two llama.cpp/GGML ELF runtime markers or the exact pinned llama.cpp launcher build ID are both required;
|
| 20 |
- recognises `content.safetensors-pytorch` when a structurally valid Safetensors artifact and the exact pinned CPU PyTorch bridge-plus-ATen ELF build-ID pair appear in one process or across a bounded related workload using the installed dedicated workload UID (a live direct parent/child or sibling relation, or one exact Eggcracker-owned workload cgroup); unrelated same-UID or common-init processes are not joined;
|
| 21 |
- lets the configured operator approve one exact executable, UID and invocation before it is run;
|
|
@@ -29,7 +29,16 @@ Eggcracker does not identify every possible AI implementation. Content recogniti
|
|
| 29 |
|
| 30 |
A successful receipt proves the captured quarantine cgroup is empty. It does not prove that a process which escaped before detection never existed.
|
| 31 |
|
| 32 |
-
##
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
| Profile | Exact qualification | Active in 0.4.0 |
|
| 35 |
| --- | --- | --- |
|
|
@@ -46,7 +55,28 @@ A successful receipt proves the captured quarantine cgroup is empty. It does not
|
|
| 46 |
|
| 47 |
## Quick start
|
| 48 |
|
| 49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
|
| 51 |
```sh
|
| 52 |
cd lumi-eggcracker-0.4.0
|
|
|
|
| 1 |
+
# Eggcracker
|
| 2 |
|
| 3 |
**Deterministic containment for unapproved local AI workloads on Linux.**
|
| 4 |
|
| 5 |
+
Eggcracker is a privileged Linux enforcement daemon for a narrow,
|
| 6 |
published catalogue of locally observed AI workloads.
|
| 7 |
|
| 8 |
> Engineering preview: when a complete qualified match has no exact root approval,
|
|
|
|
| 15 |
## What it does
|
| 16 |
|
| 17 |
- continuously scans host processes and performs a startup scan before accepting control commands;
|
| 18 |
+
- detects only the two contract-qualified content/runtime profiles below; unqualified name-only catalogue entries are not active in this release;
|
| 19 |
- recognises the qualified `content.gguf-llama` profile without depending on executable or model filename: a bounded plausible GGUF v2/v3 header and either two llama.cpp/GGML ELF runtime markers or the exact pinned llama.cpp launcher build ID are both required;
|
| 20 |
- recognises `content.safetensors-pytorch` when a structurally valid Safetensors artifact and the exact pinned CPU PyTorch bridge-plus-ATen ELF build-ID pair appear in one process or across a bounded related workload using the installed dedicated workload UID (a live direct parent/child or sibling relation, or one exact Eggcracker-owned workload cgroup); unrelated same-UID or common-init processes are not joined;
|
| 21 |
- lets the configured operator approve one exact executable, UID and invocation before it is run;
|
|
|
|
| 29 |
|
| 30 |
A successful receipt proves the captured quarantine cgroup is empty. It does not prove that a process which escaped before detection never existed.
|
| 31 |
|
| 32 |
+
## Active contract-qualified profiles
|
| 33 |
+
|
| 34 |
+
The table states the exact profile contract implemented by this source. Project
|
| 35 |
+
records report that these profiles passed the native qualification gates for
|
| 36 |
+
commit `418f877f0d450aeb26d4a1233257746808c490e5` on one WSL2 Ubuntu host.
|
| 37 |
+
The corresponding checksum-bound native evidence pack is not retained in this
|
| 38 |
+
repository or a public GitHub Release, so that result is not independently
|
| 39 |
+
re-verifiable from the durable public surface. Run the qualification in
|
| 40 |
+
[QUALIFICATION.md](QUALIFICATION.md) on the exact commit and target host before
|
| 41 |
+
relying on it.
|
| 42 |
|
| 43 |
| Profile | Exact qualification | Active in 0.4.0 |
|
| 44 |
| --- | --- | --- |
|
|
|
|
| 55 |
|
| 56 |
## Quick start
|
| 57 |
|
| 58 |
+
There is currently no v0.4.0 GitHub Release or durable anonymous download for
|
| 59 |
+
the Linux bundle. To evaluate the tagged source, build it locally in a disposable
|
| 60 |
+
Ubuntu VM:
|
| 61 |
+
|
| 62 |
+
```sh
|
| 63 |
+
git clone --branch v0.4.0 --depth 1 https://github.com/noqt/Lumi-Eggcracker.git
|
| 64 |
+
cd Lumi-Eggcracker
|
| 65 |
+
test "$(git rev-parse HEAD)" = "418f877f0d450aeb26d4a1233257746808c490e5"
|
| 66 |
+
python3 scripts/build_release.py --output dist/local
|
| 67 |
+
python3 scripts/verify_release.py \
|
| 68 |
+
--artifact dist/local/lumi-eggcracker-0.4.0.pyz \
|
| 69 |
+
--source-archive dist/local/lumi-eggcracker-0.4.0-source.zip \
|
| 70 |
+
--release-bundle dist/local/lumi-eggcracker-0.4.0-linux.zip
|
| 71 |
+
```
|
| 72 |
+
|
| 73 |
+
Alternatively, a signed-in GitHub user may download the authenticated
|
| 74 |
+
`lumi-eggcracker-v0.4.0` artifact from the
|
| 75 |
+
[successful `v0.4.0` tag workflow](https://github.com/noqt/Lumi-Eggcracker/actions/runs/31472099403)
|
| 76 |
+
while GitHub retains it, then perform the same source-commit and
|
| 77 |
+
`verify_release.py` checks. A CI artifact is not a durable anonymous Release
|
| 78 |
+
channel. After validation, extract `lumi-eggcracker-0.4.0-linux.zip` and run as
|
| 79 |
+
root:
|
| 80 |
|
| 81 |
```sh
|
| 82 |
cd lumi-eggcracker-0.4.0
|
SECURITY.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
# Security policy
|
| 2 |
|
| 3 |
-
|
| 4 |
|
| 5 |
Report vulnerabilities privately through the repository security-advisory channel. Do not include exploit code, machine-specific paths, credentials, or live workload details in public issues.
|
| 6 |
|
|
|
|
| 1 |
# Security policy
|
| 2 |
|
| 3 |
+
Eggcracker is a privileged local process-containment preview. Test only workloads and machines you own or administer.
|
| 4 |
|
| 5 |
Report vulnerabilities privately through the repository security-advisory channel. Do not include exploit code, machine-specific paths, credentials, or live workload details in public issues.
|
| 6 |
|
pyproject.toml
CHANGED
|
@@ -10,7 +10,6 @@ readme = "README.md"
|
|
| 10 |
requires-python = ">=3.11"
|
| 11 |
license = "Apache-2.0"
|
| 12 |
license-files = ["LICENSE"]
|
| 13 |
-
authors = [{name = "Skylark.AI"}]
|
| 14 |
dependencies = []
|
| 15 |
keywords = ["ai", "agents", "cgroups", "kill-switch", "linux"]
|
| 16 |
classifiers = [
|
|
|
|
| 10 |
requires-python = ">=3.11"
|
| 11 |
license = "Apache-2.0"
|
| 12 |
license-files = ["LICENSE"]
|
|
|
|
| 13 |
dependencies = []
|
| 14 |
keywords = ["ai", "agents", "cgroups", "kill-switch", "linux"]
|
| 15 |
classifiers = [
|