Un agente di auditing intelligente che monitora e valida le azioni di Claude Code in tempo reale, fornendo un secondo livello di controllo qualità e sicurezza.
- IMPLEMENTATO (eseguibile):
- Polling eventi via
hcom(API Python se disponibile, altrimenti CLI) e invio messaggi/avvisi. - Motore di regole locale (
config/audit_rules.yaml) + analisi base (regex/euristiche). - Dashboard TUI (thread separato, best-effort).
- Test suite
python test_auditor.py(passata in questo workspace).
- Polling eventi via
- PARZIALMENTE IMPLEMENTATO:
- Modalità
block: oggi è un soft-block (messaggio “AUDIT BLOCK”), non un gate hard su tool execution.
- Modalità
- NON IMPLEMENTATO (oggi solo roadmap):
- Integrazione effettiva con
AI-Github-Auditorepython-a2a(nel repository sono stati clonati a parte, ma non sono incorporati nel runtime del concept). - Gate hard (git hooks / pre-commit / policy engine).
- Integrazione effettiva con
Questo progetto combina tecnologie open-source per creare un sistema di auditing multi-agente che lavora in parallelo con Claude Code:
- Comunicazione:
hcom(repoaannoo/claude-hook-comms) per eventi/trascritti/messaging - Auditing Engine (attuale): regole locali + controlli base (pattern matching statico)
- Roadmap: innesto di scanner/policy engine MIT/Apache-2.0 + LLM integration
Il sistema supporta ora analisi AI reale! Oltre al pattern matching statico, puoi abilitare:
- ✅ LLM CodeGeeX via Ollama (open-source, locale)
- ✅ Ragionamento semantico su codice complesso
- ✅ Analisi impatto e vulnerabilità contestuali
- ✅ Suggerimenti intelligenti oltre le regole statiche
Sistema Ibrido: Pattern matching veloce → AI profonda per casi complessi.
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude Code │◄──►│ claude-hook-comms│◄──►│ Auditor Agent │
│ (Primary) │ │ (Communication) │ │ (Secondary) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ Event Stream │ │ Audit Engine │
│ (SQLite DB) │ │ (AI Analysis) │
└──────────────────┘ └──────────────────┘
│
▼
┌──────────────────┐
│ Validation │
│ & Alerts │
└──────────────────┘
# Clona il repository
git clone https://github.com/JoyciAkira/Auditor.git
cd Auditor
# Installa dipendenze
pip install -r requirements.txt
# Setup automatico
python setup.py
# Installa claude-hook-comms
pip install hcom
hcom
# Configura hooks per Claude Code
# (segui istruzioni in docs/quick_start.md)# 1. Verifica permessi Docker sul NAS
sudo docker ps | grep ollama # Se non funziona: sudo usermod -aG docker $USER && reboot
# 2. Test Ollama (sul NAS)
curl -s http://localhost:11434/api/tags # Dovrebbe mostrare i modelli
# 3. Test risposta rapida
time curl -s http://localhost:11434/api/chat \\
-H 'Content-Type: application/json' \\
-d '{"model":"codegeex4:latest","messages":[{"role":"user","content":"OK"}],"stream":false,"options":{"temperature":0.0,"num_predict":5}}' \\
--max-time 240
# 4. Se risponde, configura l'Auditor:
# Modifica config/agent_config.yaml:
ai:
enable_ai: true
ollama_url: "http://TUO_NAS_IP:11434" # IP del tuo container Ollama
ollama_model: "codegeex4:latest"
ai_timeout: 180 # Timeout per cold-start 9B model
# 5. Test connessione AI
python test_ai_integration.py# Terminale 1: Claude Code normale
claude
# Terminale 2: Auditor Agent
python auditor_agent/main.py --mode warn --dashboard- Claude Code lavora normalmente sul progetto
- Hook System intercetta ogni azione (file edits, tool calls, commits)
- Auditor Agent riceve notifiche in tempo reale via claude-hook-comms
- Audit Engine valida:
- Sicurezza del codice
- Qualità e best practices
- Conformità ai requisiti
- Rilevamento regressioni
- Alert System notifica l'utente se rileva problemi
auditor-concept/
├── auditor_agent/ # Core dell'agente auditor
│ ├── main.py # Entry point
│ └── main.py # Loop + routing eventi + invio messaggi
├── communication_layer/ # Integrazione con claude-hook-comms
│ ├── hcom_client.py # Client per hcom
├── audit_engine/ # Engine di analisi (basato su AI-Github-Auditor)
│ └── auditor.py # Regole + analisi base
├── monitoring/ # Sistema di monitoraggio
│ ├── dashboard.py # Dashboard semplice
├── config/ # Configurazioni
│ ├── audit_rules.yaml # Regole di auditing
│ ├── agent_config.py # Loader config (IMPLEMENTATO)
│ └── agent_config.yaml # Config agente
└── docs/ # Documentazione
└── quick_start.md # Quick start
security:
- name: "hardcoded_secrets"
pattern: "(?i)(password|secret|key|token).*['\"]([^'\"]*)['\"]"
severity: "high"
action: "block"
quality:
- name: "large_functions"
max_lines: 50
severity: "medium"
action: "warn"
compliance:
- name: "missing_tests"
require_tests: true
severity: "low"
action: "suggest"- Read-only: Solo monitoraggio e suggerimenti
- Warn: Notifiche per problemi rilevati
- Block: Blocco automatico di azioni rischiose
- Interactive: Richiesta conferma per azioni critiche
- Installa dipendenze:
pip install -r requirements.txt-
Configura hooks: vedi
docs/quick_start.md(usa snippet ufficiale diclaude-hook-comms) -
Avvia sistema:
# Terminale 1
claude
# Terminale 2
python auditor_agent/main.py- Rilevamento chiavi API hardcodate
- Validazione input non sicura
- Controlli dipendenze vulnerabili
- Complessità ciclomatica
- Coverage test
- Best practices linguaggio
- Conformità standard aziendali
- Validazione architetturale
- Controlli regressione
- Code review automatizzato
- Validazione pre-commit
- Monitoraggio modifiche critiche
L'agente si integra perfettamente con Claude Code attraverso:
- Hooks di sistema: Intercetta tool calls e file edits
- Event streaming: Riceve notifiche in tempo reale
- Message passing: Può inviare suggerimenti e avvisi
- Transcript access: Legge conversazioni per context awareness
Per trasformare questo da "linting tool" a "AI Auditor" vero, aggiungere:
pip install openai anthropic # O altri provider# config/agent_config.yaml
llm:
provider: "openai" # openai, anthropic, local
model: "gpt-4"
api_key: "${OPENAI_API_KEY}"
temperature: 0.1
max_tokens: 1000# audit_engine/ai_analyzer.py
import openai
class AIAnalyzer:
def analyze_code_change(self, code_diff: str, context: dict) -> dict:
"""Analizza cambiamenti codice con LLM per impatto/risk assessment"""
prompt = f"""
Analizza questo cambiamento codice per rischi di sicurezza e qualità:
{code_diff}
Contesto: {context}
Fornisci:
- Livello di rischio (low/medium/high)
- Problemi potenziali
- Suggerimenti miglioramento
"""
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
temperature=0.1
)
return self.parse_llm_response(response)- LLM Integration (vedi sopra) per analisi intelligente
- Integrazione con git hooks per validazione pre-commit
- Dashboard web per monitoraggio real-time
- Plugin system per regole custom
- Integrazione con CI/CD pipelines
- Multi-agent orchestration con python-a2a
Questi componenti sono stati verificati via GitHub API (campo license.spdx_id) nel workspace corrente:
- Secret scanning hard:
gitleaks/gitleaks(MIT) – secrets in repo e historyYelp/detect-secrets(Apache-2.0) – baseline enterprise-friendlyaquasecurity/trivy(Apache-2.0) – vulnerabilità + misconfig + secrets + SBOM
- SAST / sicurezza:
PyCQA/bandit(Apache-2.0) – security lint Pythonbridgecrewio/checkov(Apache-2.0) – IaC scanning (Terraform/K8s/etc.)rhysd/actionlint(MIT) – lint workflow GitHub Actions
- Gate deterministico:
pre-commit/pre-commit(MIT) – framework per hook; consente gating locale prima del commitopen-policy-agent/opa(Apache-2.0) – policy engine (rego) per decisioni “allow/deny” tracciabili
Integrazione concreta suggerita (non implementata in questo concept): aggiungere uno strato “policy gate” che, prima di git commit/git push o prima di tool execution, esegue gli scanner sopra e produce una decisione allow|deny con evidenza.
L'agente traccia:
- Tasso di problemi rilevati vs risolti
- Tempo di risposta alle notifiche
- Accuratezza delle rilevazioni
- Impatto sulla produttività
Questo è un concept basato su progetti open-source esistenti. Per contribuire:
- Fork dei repository originali
- Implementa miglioramenti specifici
- Crea PR nei progetti upstream
- Documenta integrazioni nuove
Basato su: claude-hook-comms, AI-Github-Auditor, python-a2a Licenza: MIT Status: Concept funzionante