Observed since 20 Oct, 20:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Deterministic, coverage-aware Python security analysis and guarded repair
AEGis 0.4.1 is a research implementation for deterministic, coverage-aware
security analysis of Python 3.12 projects. Its reviewed rule policy is 4.1.0.
aegis scan reports findings and explicit coverage limitations; a partial or
inconclusive result is not evidence that a project is safe. The reviewed
policy covers bounded shapes in eleven CWE families, not all variants of
those families or all vulnerabilities in a project.
Some findings have a guarded repair proposal. AEGis applies a patch only after security re-verification, functional evidence in an isolated Docker container, and explicit human approval. When a project has no unittests, a user can provide and confirm concrete input/output examples for the affected top-level function; these run temporarily in Docker before and after the patch without creating project test files. Examples are limited regression evidence, not proof of full functionality. If the required evidence is absent, AEGis leaves the project unchanged. It does not automatically repair every Top 10 vulnerability form.
The signed 0.4.1 candidate detected 0 of 16 doubly adjudicated real
vulnerabilities in the registered advisory sample and raised 0 false
positives on the 16 fixed counterparts. All 32 scans were partial and
inconclusive: AEGis abstained rather than claiming safety. This does not
establish useful detection recall for those real-world cases, nor does it
justify a general family-level recall estimate. See the
0.4.1 release evidence.
Install the distribution with pip install aegis-core-engine==0.4.1 and run
the aegis command. The distribution name is not aegis.
The closed CWE-78 profiles also prove call identity before issuing a Finding:
local analysis requires unshadowed built-in input and a visible canonical
import os; cross-function analysis requires unshadowed built-in input and
the canonical subprocess import. Identity uncertainty is reported as
UNKNOWN/PARTIAL, never silently converted into a clean result.
Rule authors should start with
core_engine/verifiers/rule_sdk/README.md.
The exact current security boundary is maintained in
docs/security_assurance_baseline.md.
AEGis uses one module-level production function per Python file. Private helper
functions follow the same rule; class methods stay with their owning class, and
package __init__.py files only expose stable public APIs. An AST-based
architecture test prevents accidental regression.
The authoritative parser contract and its downstream boundary are documented
in core_engine/parsers/README.md.
The closed verifier boundary, its precise rule scope, and its explicit family
accounting limits are
documented in core_engine/verifiers/README.md.
The closed deterministic remediation layer, its conservative versus
containment strategies, temporary full-project replay, Docker regression gate,
HITL approval, final rescan/retest, and strict write/rollback boundary are
documented in
core_engine/patchers/README.md.
The local interface runs the implemented analysis stages through verification:
aegis doctor
aegis init .
aegis scan .
aegis scan . --isolation container --signing-key C:\release\cosign.pub --signature-bundle C:\release\engine-image.sigstore.json
aegis scan . --format json
aegis scan . --fix
STRUCTURAL FRONT END [PASS] means discovery, validation, parsing, and linking
completed. scan then runs the configured verifier and presents its separate,
bounded verdict. Neither structural success nor an inconclusive verifier run
means the analyzed project is secure. See
local/cli/README.md for the command, JSON, exit-code,
security-boundary, and roadmap contracts.
The Process/Docker worker-v2 contract and signed offline image distribution
workflow are documented in local/sandbox/README.md
and docker/scan/README.md.
Patch-time application tests already use the stricter container boundary
documented in local/patching/README.md.
The authoritative contract and guarantee limits are documented in
docs/security_assurance_baseline.md.
The third-layer closure evidence is recorded in
docs/evidence/verifier-family-coverage-milestone-21-2026-08-25.md.
The current fourth-layer closure evidence is recorded in
docs/evidence/patcher-functional-qualification-closure-2026-08-28.md.
The current Layer 5 implementation audit and its remaining live Container gate
are recorded in
docs/evidence/layer-5-final-audit-2026-08-29.md.
The earlier security-only record remains as superseded historical evidence.
Earlier milestone records under docs/evidence/ remain historical evidence;
the normative current boundary is the security assurance baseline above.
Install the local package, then use the standard library test runner:
python -m pip install --require-hashes -r requirements/runtime.lock
python -m pip install --no-build-isolation --no-deps -e .
python -m unittest discover -s tests -t . -v
The suite uses the standard-library test runner after installing the pinned project dependencies. The supported runtime is Python 3.12.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.4.1 | 1 Oct 2026 | 7 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 20:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:1d560923b1a59d0f8d77f87f613ab96a51ef7f0d947952f0a43feefed814978d