Security scanner for AI coding agents
Project description
๐ฆ AITHON
AI Agent Security Scanner
The eagle that gnaws at what agents try to hide.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โโโโโโ โโโโโโโโโโโโโโโ โโโ โโโโโโโ โโโโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ
โ โโโโโโโโโโโ โโโ โโโโโโโโโโโ โโโโโโโโโ
โ โโโโโโโโโโโ โโโ โโโโโโโโโโโ โโโโโโโโโ
โ โโโ โโโโโโ โโโ โโโ โโโโโโโโโโโโโโโ โโ
โ โโโ โโโโโโ โโโ โโโ โโโ โโโโโโโ โโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Aithon (ฮแผดฮธฯฮฝ) โ named after the eagle that eternally gnawed Prometheus' liver โ is an open-source security scanner built specifically for AI coding agents.
What it does
Scans AI agent workspaces for security vulnerabilities:
- Secret Detection โ Finds leaked API keys, tokens, and credentials in configs, backups, and workspace files
- Permission Audit โ Checks file permissions on sensitive configuration files
- Config Analysis โ Audits agent settings for insecure configurations
- Backup Scanning โ Finds secrets that leaked into backup archives
- Injection Detection โ Identifies prompt injection attack surfaces in workspace files
- Network Exposure โ Detects agent endpoints listening on public interfaces
- Watch Mode โ Continuous monitoring with Telegram alerts on new findings
- Fix Plan โ Generates a reviewable remediation bash script
Supported Agents
| Agent | Status |
|---|---|
| OpenClaw | โ Full support |
| Cline | ๐ Planned |
| Aider | ๐ Planned |
| Generic | ๐ Planned |
Install
pip install aithon
Or from source:
git clone https://github.com/politologhse/aithon.git
cd aithon
pip install -e .
Usage
One-shot scan
# TUI mode (retro CRT terminal interface)
aithon scan /path/to/agent/workspace
# Headless mode
aithon scan /path/to/workspace --no-tui
aithon scan /path/to/workspace --no-tui --severity high
aithon scan /path/to/workspace --no-tui -o report.json
Watch mode (continuous monitoring)
# Scan every hour, alert via Telegram on HIGH+ findings
aithon watch /root/.openclaw \
--interval 3600 \
--telegram-token "YOUR_BOT_TOKEN" \
--telegram-chat-id "YOUR_CHAT_ID"
# Or use environment variables
export AITHON_TELEGRAM_TOKEN="your-token"
export AITHON_TELEGRAM_CHAT_ID="your-chat-id"
aithon watch /root/.openclaw --interval 1800
Watch mode keeps a state file (.aithon-state.json) and only alerts on new findings โ no spam on known issues.
Fix plan (remediation script)
# Print remediation script to stdout
aithon fix-plan /root/.openclaw
# Save to file, review, then run
aithon fix-plan /root/.openclaw -o fix.sh
less fix.sh # review it
bash fix.sh # run it
The fix plan separates auto-fixable issues (chmod) from manual ones (key rotation, config changes) and generates commented bash with explanations.
GitHub Action
Add to your workflow:
- name: Aithon Security Scan
uses: politologhse/aithon@main
with:
target: "."
severity: "low"
fail-on: "critical" # fail CI on critical findings
output: "report.json" # upload as artifact
Inputs:
| Input | Default | Description |
|---|---|---|
target |
. |
Path to scan |
agent |
auto |
Agent type |
severity |
low |
Min severity to report |
fail-on |
critical |
Fail CI at this severity (none to never fail) |
output |
โ | Report file path (json/md) |
List supported agents
aithon agents
Example Output
โญโโโโ AITHON SCAN RESULTS โโโโโฎ
โ 17 issues found โ
โ CRITICAL: 11 | HIGH: 5 | LOW: 1 โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
SEV ID Title File Module
โ SEC-001 Telegram Bot Token in config openclaw-modified.json secrets
โ SEC-002 Private Key Block in device device.json secrets
โ PERM-001 World-readable auth-profiles auth-profiles.json permissions
โ NET-001 Admin Panel on 0.0.0.0:8921 โ network
Development
git clone https://github.com/politologhse/aithon.git
cd aithon
pip install -e ".[dev]"
pytest -v
ruff check src/ tests/
Adding New Agent Profiles
Create a new file in src/aithon/agents/ implementing BaseAgentProfile:
from aithon.agents.base import BaseAgentProfile
class MyAgentProfile(BaseAgentProfile):
@property
def name(self) -> str:
return "my_agent"
def detect(self, target):
...
Register it in scanner.py.
License
MIT
Name
Aithon (ฮแผดฮธฯฮฝ, "blazing") was the eagle sent by Zeus to gnaw on the liver of Prometheus every day as punishment for giving fire to humanity. Every night the liver grew back; every day the eagle returned.
Like its namesake, Aithon relentlessly finds what grows back โ the security holes that keep reappearing in AI agent configurations.
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 aithon_scan-0.2.1.tar.gz.
File metadata
- Download URL: aithon_scan-0.2.1.tar.gz
- Upload date:
- Size: 31.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ba6418071de32ae9f4c4aee4f00d75ea2fe407fccb73c4275c4800e04e65686
|
|
| MD5 |
c63405c9fd019edddb55ca798d8ea084
|
|
| BLAKE2b-256 |
c59bb96ed6a1a520afb4df4586799cff5bd60efd0790fd867652e7fb0c5a964d
|
Provenance
The following attestation bundles were made for aithon_scan-0.2.1.tar.gz:
Publisher:
publish.yml on politologhse/aithon
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aithon_scan-0.2.1.tar.gz -
Subject digest:
9ba6418071de32ae9f4c4aee4f00d75ea2fe407fccb73c4275c4800e04e65686 - Sigstore transparency entry: 1066047262
- Sigstore integration time:
-
Permalink:
politologhse/aithon@fa241372e9dea319a2dd4bf707c3f9a6a0ae16b6 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/politologhse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fa241372e9dea319a2dd4bf707c3f9a6a0ae16b6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file aithon_scan-0.2.1-py3-none-any.whl.
File metadata
- Download URL: aithon_scan-0.2.1-py3-none-any.whl
- Upload date:
- Size: 38.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e8e2864985c5b97ae6dd7359aceaf9f688599ad500a83b002c927e2037e4248
|
|
| MD5 |
7120f8d8976799da8e473f8f982b6782
|
|
| BLAKE2b-256 |
ba46dd3da3b08117793114b36fe97803606880480b5dd6bcc89a12392e553ec1
|
Provenance
The following attestation bundles were made for aithon_scan-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on politologhse/aithon
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aithon_scan-0.2.1-py3-none-any.whl -
Subject digest:
0e8e2864985c5b97ae6dd7359aceaf9f688599ad500a83b002c927e2037e4248 - Sigstore transparency entry: 1066047272
- Sigstore integration time:
-
Permalink:
politologhse/aithon@fa241372e9dea319a2dd4bf707c3f9a6a0ae16b6 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/politologhse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fa241372e9dea319a2dd4bf707c3f9a6a0ae16b6 -
Trigger Event:
release
-
Statement type: