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