Commit Graph

14 Commits

Author SHA1 Message Date
arch_agent a00a9f2b99 fix: add timeouts to curl calls — installer hangs on unreachable server 2026-08-04 11:38:21 +02:00
arch_agent 1f67f6f976 fix: installer detects scan-only server and skips pacman repo
- Queries /api/status for scan_only flag
- Scan-only: no [aur-shield] in pacman.conf, removes stale entry if present
- Full mode: adds/updates repo as before
- No more pacman sync errors when LAN server is offline
2026-08-04 11:35:52 +02:00
arch_agent 599aca907d docs: HOWTO updated for scan-only VPS mode + dual server setup 2026-08-04 11:29:13 +02:00
arch_agent f015092b1f feat: scan-only server mode + local build on client
Server:
- config: server.scan_only flag (default: false)
- /api/build returns scan_only=true without building when enabled
- /api/status reports scan_only mode

Client (safe-yay):
- Detects server scan_only from API response
- Scan-only server: builds locally with yay/paru after clean scan
- Full server: installs from pacman repo as before
- --noinstall flag for scan-only without build (was --scan-only)
- Suspicious: prompts for local build or repo install depending on server mode
2026-08-04 10:34:34 +02:00
arch_agent 88072de4fe docs: HOWTO.md — complete usage guide
Server setup, client install, all commands (safe-yay, -Syu,
--check-installed, --scan-only, --doctor), API usage, model
switching, troubleshooting, exit codes with script examples.
2026-08-04 10:10:35 +02:00
arch_agent 0f5ced5d9c fix: update pacman.conf Server URL on re-install (was stuck on localhost) 2026-08-04 10:07:00 +02:00
arch_agent b91d9815f3 feat: /etc/safe-yay.conf config file
- Installer writes /etc/safe-yay.conf with SHIELD_HOST/SHIELD_PORT
- safe-yay sources /etc/safe-yay.conf at startup (overrides defaults)
- No more env-var juggling needed
2026-08-04 10:04:50 +02:00
arch_agent 6619b9240b fix: default SHIELD_HOST to 10.90.9.102 instead of localhost 2026-08-04 10:02:42 +02:00
arch_agent 7000949483 feat: -Syu system update + --check-installed for installed AUR packages
- safe-yay -Syu: scans AUR updates through AUR-Shield before installing,
  blocks malicious updates, prompts for suspicious ones
- safe-yay --check-installed: checks all installed AUR packages (pacman -Qmq)
  against IOC lists — like archcanary's installed-package scan
- Both use exit codes: 0=clean, 1=warning, 2=malicious
2026-08-04 10:00:02 +02:00
arch_agent aaaea08d6d fix: AUR RPC URL — /rpc not /rpc/v5 (API path changed) 2026-08-04 09:49:43 +02:00
arch_agent 375d472ecd fix: AUR RPC API 404 — use list params for arg[] encoding 2026-08-04 09:47:40 +02:00
arch_agent f6b5ec4031 feat: extended IOC sources + archcanary features
Extended IOC sources (from archcanary):
- aur-audit.wtako.net black/red API (3rd-party continuous AUR scanner)
- Community reports list (community-curated malicious packages)
- CHAOS RAT campaign list (backdoor payload)
- Russian spam campaign list (.bashrc injection)

Client features (archcanary-inspired):
- Exit codes: 0=clean, 1=warning, 2=malicious (scriptable)
- --doctor health check (server, ollama, repo status)
- --scan-only mode (scan without building)
- IOC match display in malicious blocks
- Suspicious packages: interactive install prompt

All IOC fetches run concurrently for speed.
2026-08-04 09:42:02 +02:00
arch_agent 7f46bc8f9a feat: IOC pre-check via public threat intel (AegisAUR integration)
- ioc_fetcher.py: fetches from HedgeDoc, Atomic Arch Gist, Arch Security
  Tracker, AUR RPC orphan detection (concurrent)
- scanner.py: IOC pre-check before LLM scan — known malicious packages
  get instant MALICIOUS verdict without LLM cost
- typosquatting check with Levenshtein distance
- server.py: API returns ioc_matches + typosquat_matches
- README: threat intel sources documented

Sources ported from AegisAUR (Rust) to Python.
2026-08-04 09:39:53 +02:00
arch_agent adee5dfc78 aur-shield v0.1.0: AI-powered AUR firewall
- FastAPI server with scan/build/repo endpoints
- LLM scanner (Ollama) with regex pre-scan
- makepkg/devtools builder with chroot isolation
- Scan cache with TTL + PKGBUILD hash
- Client installer + safe-yay wrapper
- Docs + config example
2026-08-04 09:35:35 +02:00