Local-first SAST engine with AST analysis, taint tracking, and AI-powered fix suggestions
Project description
Aegis AI Core
Local-first static application security testing for Python, JavaScript, TypeScript, PHP, Java, Go, and basic C/C++ scanning. Aegis combines language parsers, security rules, taint tracking, suppression workflows, and CI-ready reports behind one production analysis path.
Requirements
- Python 3.10, 3.11, or 3.12
- Python 3.13 is not supported by the pinned Tree-sitter dependency stack
Install
pip install aegis-ai-core
For repository development:
pip install -e ".[dev]"
Scan a project
aegis /path/to/project --format json
aegis /path/to/project --format html --output aegis-report.html
aegis /path/to/project --format sarif --output aegis-results.sarif
The equivalent module command is:
python -m src.scanner.cli /path/to/project --format json
Supported report formats are JSON, HTML, Markdown, and SARIF. Project scans can also use baselines, incremental mode, custom YAML rules, and optional AI-assisted remediation.
Language support
| Level | Languages | Analysis path |
|---|---|---|
| Full | Python, JavaScript/TypeScript, PHP, Java, Go | Language parser plus maintained AST/taint/DSL rules |
| Basic | C/C++ | Lightweight contextual rules for memory, string, pointer, and concurrency risks |
Unsupported languages return no findings rather than falling back to a generic cross-language regex scanner.
Custom YAML rules
aegis rules init --language python --type sqli
aegis rules test .aegis/rules
aegis /path/to/project --rules-dir /path/to/project/.aegis/rules
See the rule authoring guide for schema, embedded TP/TN tests, loading boundaries, and contribution rules.
Optional AI providers
The scanner works without an AI provider. Install the optional OpenAI-compatible client only when generated remediation is needed:
pip install "aegis-ai-core[ai]"
Supported provider modes include DeepSeek, OpenAI, Ollama, and custom OpenAI-compatible endpoints. Source code is sent to a remote provider only after an explicit AI remediation action; local scans do not require a provider.
Reproducible quality signals
The 2026-07-12 clean-worktree baselines report:
| Target | Recall | Precision | F1 |
|---|---|---|---|
| DVWA | 100.0% | 44.2% | 0.61 |
| NodeGoat | 100.0% | 85.7% | 0.92 |
Reports record scanner/target revisions, ground-truth hashes, TP/FP/FN/TN,
duration, and peak RSS. These numbers are not generalized claims for every
framework or vulnerability category. See the
detection quality guide
and versioned reports in scripts/reports/ for the exact scope.
Compatibility and security
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aegis_ai_core-1.5.0.tar.gz.
File metadata
- Download URL: aegis_ai_core-1.5.0.tar.gz
- Upload date:
- Size: 400.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43865e9cbc866352d3882b098492dd270c1e9f8b23a19cad244c4ff2cc9d7b42
|
|
| MD5 |
53bd6d5ba83334c451b3e6f1145b1763
|
|
| BLAKE2b-256 |
db812c3d76a11b4fd0e778e5475966b5f20791b027fa261f02e2c2adfb289b91
|
Provenance
The following attestation bundles were made for aegis_ai_core-1.5.0.tar.gz:
Publisher:
publish-pypi.yml on HWZ-499/aegis-ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aegis_ai_core-1.5.0.tar.gz -
Subject digest:
43865e9cbc866352d3882b098492dd270c1e9f8b23a19cad244c4ff2cc9d7b42 - Sigstore transparency entry: 2256837160
- Sigstore integration time:
-
Permalink:
HWZ-499/aegis-ai@58c37eb6b43dca63af0d40cbe103e27e4ead870d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/HWZ-499
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@58c37eb6b43dca63af0d40cbe103e27e4ead870d -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file aegis_ai_core-1.5.0-py3-none-any.whl.
File metadata
- Download URL: aegis_ai_core-1.5.0-py3-none-any.whl
- Upload date:
- Size: 400.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5b06bcc1fa0da415562c3e0e991a1ec96948af86c2e716114073604f99b09d4
|
|
| MD5 |
74b172b92fb0e9be928a75cad86e916c
|
|
| BLAKE2b-256 |
70a1ed46d3ee1755ec24e21621114547cc0225850002b17ab156e5b56638d04f
|
Provenance
The following attestation bundles were made for aegis_ai_core-1.5.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on HWZ-499/aegis-ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aegis_ai_core-1.5.0-py3-none-any.whl -
Subject digest:
f5b06bcc1fa0da415562c3e0e991a1ec96948af86c2e716114073604f99b09d4 - Sigstore transparency entry: 2256837166
- Sigstore integration time:
-
Permalink:
HWZ-499/aegis-ai@58c37eb6b43dca63af0d40cbe103e27e4ead870d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/HWZ-499
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@58c37eb6b43dca63af0d40cbe103e27e4ead870d -
Trigger Event:
workflow_dispatch
-
Statement type: