Argus 开源发布 构建只读智能体安全运营平台

原标题:Show HN: Argus- open source security platform to protect against agentic attacks
68AI 研判分
核心综述

Argus 是一款自托管的多租户安全运营平台,其核心架构将 AI 智能体的分析与执行严格分离。智能体仅拥有只读权限用于证据收集与威胁研判,所有变更操作必须通过独立的动作代理经策略审批后执行,旨在防御针对智能体系统的攻击并降低自动化运维风险。

报道正文

本文目录3 个章节

Argus

Argus is a self-hosted, multi-tenant security operations platform in which AI agents analyze evidence but never act on the estate. Collectors inventory cloud, identity, code, endpoint, network and Kubernetes assets into an evidence graph; a detection engine evaluates events for swarm, identity, cloud, code and canary signals; a scope-gated test harness runs authorized security tools; governed agents triage, investigate and hunt with read-only tools; and a separate action broker (typed actions, policy, approvals, dry runs, rollback, kill switch) is the only component allowed to change anything.

Argus overview

This README describes what is in the repository today. docs/ARCHITECTURE.md describes the design; docs/ROADMAP.md lists what is implemented versus planned.

Project status

Argus is an early open-source foundation, meant to be forked and extended. The platform core (tenancy, auth, RBAC, audit chain, queue, policy and approvals) is tested end to end on SQLite and PostgreSQL. The cloud and identity collectors and the action executors are tested against recorded fixtures and mocked APIs, not yet against live accounts, and the 12 detection rules are an untuned starting set. Expect to adapt collectors and rules to your estate, and run monitoring-only (docs/GO-LIVE.md) before enabling any action. It is not a certified product; see docs/COMPLIANCE.md for what it can and cannot evidence.

Architecture

文本
  Browser / SDK / sensors
          |
          v  HTTPS (Caddy, ALB, Front Door or your ingress)
  +-------------------------------------------------------------+
  |  API  (FastAPI)  auth: session / OIDC+PKCE / TOTP / API keys |
  |  RBAC (viewer < analyst < operator < admin < owner), CSRF,   |
  |  per-principal rate limits, request ids, security headers    |
  +------+------------------+------------------+----------------+
         |                  |                  |
   PostgreSQL           Redis queue        Audit chain
   (tenant_id on       (leases, retries,   (hash-linked per tenant,
    every table)        python -m          HMAC, JSONL / S3 Object
                        app.worker)        Lock / Azure immutable)
         |                  |
  +------+------------------+----------------------------------+
  |  Worker processes run the same handlers as the API:        |
  |   collectors.run   detections.run / baselines              |
  |   graph.recompute  testing.run   agents.run                |
  +------------------------------------------------------------+
         |
         v  agents call propose_action only -> ActionRequest(pending)
  Action broker (separate policy, approvals, dry run, rollback, kill switch)

Trust boundaries, in one sentence each (details in docs/THREAT-MODEL.md):

  1. Agents cannot execute anything; their one write-capable tool creates a pending request.
  2. Everything an agent reads is wrapped as untrusted data and the prompt says so.
  3. Active testing runs only inside a recorded authorization and scope, re-checked at run time.
  4. Every domain table carries tenant_id; queries go through a scoped helper; tests assert it.
  5. The audit chain is hash-linked, HMAC-signed (required in production), and mirrored to an external, optionally WORM, sink.

What is in this checkout

AreaStatusWhere
App factory, settings, DB, RBAC, auth (local, OIDC, TOTP, API keys), CSRF, rate limitsimplemented, testedapp/core/, app/api/auth.py, app/api/deps.py
Audit chain with JSONL / S3 Object Lock / Azure immutable blob sinksimplementedapp/core/audit.py
Job queue (in-memory and Redis, leases, retries, cancellation, reaper) and standalone workerimplementedapp/core/queue.py, app/worker.py
Prometheus metrics, JSON logging, optional OpenTelemetry tracingimplementedapp/core/telemetry.py
Evidence graph: nodes, edges, attack paths, exposure scoringimplementedapp/graph/, app/api/graph.py
Detections: 12 rules (swarm x4, identity x2, cloud, k8s, code, canary, anomaly, agentic), baselines, canariesimplementedapp/detections/, app/api/detections.py, app/api/canaries.py
Collectors: AWS, Azure, GCP, Kubernetes, GitHub, Okta, Entra, osquery, netflowimplemented with fixtures; cloud SDKs optionalapp/collectors/, app/api/collectors.py
Test harness: scope policy, rate limits, adapters for web baseline, trivy, nuclei, zap, prowler, caldera, semgrep, gitleaksimplemented; tools must be installed separatelyapp/testing/, app/api/tests.py, app/api/scans.py
Agent runtime, providers (Anthropic, OpenAI, Ollama, none), read-only tools, 7 specialists, eval suitesimplementedapp/agents/, app/api/agents.py, app/api/evals.py
Action broker: catalog of 25 typed actions (AWS, Azure, GCP, Kubernetes, GitHub, Okta, Entra, Cloudflare, Argus-internal), policy, approvals, dry run, execute, rollback, kill switchimplementedapp/actions/, app/api/actions.py
Integrations: 13 inbound parsers behind POST /api/v1/ingest/{source}, 6 outbound channels (webhook, Slack, Jira, ServiceNow, PagerDuty, email) with deliveries and retries, Wazuh indexer pullimplementedapp/integrations/, app/api/ingest.py, app/api/integrations.py
Admin, assets, findings, events, investigations, approvals, audit, reports routersimplementedapp/api/
Alembic migrations (initial revision) and scripts/migrate.pyimplementedalembic/, docs/MIGRATIONS.md
Containers, compose, Helm, Terraform (AWS, Azure), CI, observability, docsimplementedDockerfile, compose*.yaml, infra/, .github/, docs/

Routers are discovered automatically. The full v1 surface is in docs/API.md.

(注:更多技术实现细节与完整 API 文档请查阅原项目 README)