能力标签
AiSOC
⚙️
Agent工作流

AiSOC

基于 Python · 无代码搭建完整 AI 自动化流程
⭐ 1.1k Stars 🍴 104 Forks 💻 Python 📄 MIT 🏷 AI 8.0分
8.0AI 综合评分
ai-securitycybersecuritydetection-engineering
✦ AI Skill Hub 推荐

AI Skill Hub 强烈推荐:AiSOC 是一款优质的Agent工作流。已获得 1.1k 颗 GitHub Star,AI 综合评分 8.0 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。

📚 深度解析

AiSOC 是一套完整的 AI Agent 自动化工作流方案。随着 AI 能力的不断提升,基于 Agent 的自动化工作流正在成为提升个人和团队效率的核心方式。区别于传统的 RPA 自动化(模拟鼠标键盘操作),AI Agent 工作流通过理解任务意图、动态规划执行路径,能够处理更复杂的非结构化任务。

AiSOC 工作流的设计遵循"最小配置,最大复用"原则:核心逻辑已经封装好,用户只需配置自己的 API Key 和业务参数即可快速上手。工作流内置错误处理和重试机制,在网络波动或 API 限速等情况下仍能稳定运行,适合作为生产环境的自动化基础设施。

在实际部署时,建议先在测试环境中运行 3-5 次,验证各个环节的输出结果符合预期,再部署到生产环境。AI Skill Hub 评分 8.0 分,是同类 Agent 工作流中的精选推荐。

📋 工具概览

AiSOC 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

GitHub Stars
⭐ 1.1k
开发语言
Python
支持平台
Windows / macOS / Linux
维护状态
正常维护,社区驱动
开源协议
MIT
AI 综合评分
8.0 分
工具类型
Agent工作流
Forks
104

📖 中文文档

以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

AiSOC 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

📌 核心特色
  • 可视化 Agent 工作流编排,无需编写复杂代码
  • 支持多步骤自动化任务链,实现全流程无人值守
  • 与外部 API、数据库和第三方服务无缝集成
  • 内置错误处理与自动重试机制,保障稳定运行
  • 提供可复用的自动化模板,快速在同类场景部署
🎯 主要使用场景
  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:pip 安装(推荐)
pip install aisoc

# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install aisoc

# 方式三:从源码安装(获取最新功能)
git clone https://github.com/beenuar/AiSOC
cd AiSOC
pip install -e .

# 验证安装
python -c "import aisoc; print('安装成功')"
📋 安装步骤说明
  1. 访问 GitHub 仓库获取工作流文件
  2. 在对应平台(Dify / Flowise / Make 等)中找到「导入工作流」功能
  3. 上传工作流文件
  4. 按照提示配置必要的环境变量和 API Key
  5. 运行测试确认流程正常后投入使用
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 命令行使用
aisoc --help

# 基本用法
aisoc input_file -o output_file

# Python 代码中调用
import aisoc

# 示例
result = aisoc.process("input")
print(result)
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# aisoc 配置文件示例(config.yml)
app:
  name: "aisoc"
  debug: false
  log_level: "INFO"

# 运行时指定配置文件
aisoc --config config.yml

# 或通过环境变量配置
export AISOC_API_KEY="your-key"
export AISOC_OUTPUT_DIR="./output"
📑 README 深度解析 真实文档 完整度 72/100 含工作流图 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

简介

<img src="apps/web/public/logo-mark.svg" alt="AiSOC" width="120" />

What's new

VERSION is 7.3.1; everything below is captured under [Unreleased] in CHANGELOG.md and will tag with the v8.0 cut.

Latest — security & stability (May 27–28, 2026) — hardening, dependency, and boot-reliability work merged into main. - Security Audit greencryptography floor raised to 44.0.1 to clear CVE-2024-12797 and later 42.x advisories across services/connectors and services/osquery-tls; advisories without an upstream fix are time-boxed (90-day expiry) in scripts/security_audit_ignores.txt (#229). - Tenant-isolation fix — detection-loop suggestion lookups are now scoped to the caller's tenant, closing a cross-tenant read path (#221). - Full stack boots clean — the reserved window column is now quoted and pydantic[email] ships in the image, so docker compose comes up end-to-end without manual patching (#227). - OpenAPI auto-export unblocked — the spec-export CI job now has contents: write, so the committed OpenAPI document re-syncs on every merge (#228). - CodeQL quality notes cleared — remaining low-severity CodeQL findings resolved on main (#224). - Dependency refreshzod 3 → 4.4.3 (#225), recharts 2 → 3.8.1 (#209), plus a Dependabot sweep across fastapi, uvicorn, pydantic, structlog, openai, weasyprint, strawberry-graphql, prometheus-client, go-chi, turbo, and @types/react. - Credits — new Credits section thanking contributors and security researchers (#223).

Console workbenches (v1.5 PR-1 → PR-6) — the SOC operator surface is now a workbench, not a list. - Global time-window selector + topbar context — one selector at the top of the console drives every page (Alerts, Cases, Hunts, Funnel KPIs, Pipeline Health). Persists across reloads, deep-linkable as a URL param. - Tenant switcher + role badge — MSSP operators flip tenants from the topbar; the role badge makes it impossible to confuse a viewer session with an admin session. New endpoint: GET /api/v1/tenants/me/identity. - Critical severity tier — the severity ladder is now info | low | medium | high | critical. Vendor-native criticals (Azure 5-tier, GCP SCC, GitHub critical, ServiceNow priority 1, GuardDuty ≥ 8.0, AuditD identity-destruction, K8s cluster-admin, Tailscale tailnet lockdown) map straight through instead of being collapsed into high. Confidence (alert.confidence, 0–100, band low|medium|high) is now decoupled from severity and emitted by services/fusion ConfidenceScorer. - Operations funnel + pipeline health — new /metrics/funnel and /health/pipeline endpoints feed the FunnelKpiBar (Detected → Triaged → Investigated → Resolved) and an Efficiency Report so SOC leads can answer "where are we losing time?" without a Grafana detour. Docs: apps/docs/docs/console/funnel-kpis.md. - Investigation Rail (W6 / PR-4)/alerts is now a two-pane workbench with narrative, related entities (pivotPath deep links), 6-event mini-timeline, and structured recommended actions. Fusion writes a deterministic correlation narrative at fuse time. Docs: apps/docs/docs/console/investigation-rail.md. - Investigation Queue workbench (PR-5 / W7)/queue is the page a Tier-1 analyst lives on: server-anchored SLA countdowns, atomic claim semantics, one-click triage actions. Docs: apps/docs/docs/console/queue.md. - Rule Tuning workbench (PR-6 / W8)/detection/tuning ranks noisy rules by precision impact and ships one-click suppression + allow-list edits with full audit trail. Docs: apps/docs/docs/console/rule-tuning.md. - Zero-prerequisite installerinstall.sh / install.ps1 now bootstrap from a clean machine (Docker, Compose, Node, pnpm, Python) with idempotency and a graduated uninstall.sh. Documented in apps/docs/docs/installation.md, surfaced as Path 0 in the quickstart.

v8.0 wave-1 (architectural foundation, PR #125) — the foundation for the v8.0 line. - Graph at ingest — Neo4j entity graph (17 node labels, 14 edge types) written inline with Kafka consumption. Batched UNWIND upserts + fire-and-forget retry queue keep ingest latency budget intact. Schema doc: apps/docs/docs/architecture/graph-schema.md. - Four-agent rebrandDetectAgent, TriageAgent, HuntAgent, RespondAgent are now the public façade; back-compat aliases preserve existing imports. Funnel KPI doc: apps/docs/docs/console/funnel-kpis.md. - /hunt natural-language surface — type a hypothesis in English, get ES|QL / SPL / KQL templates back, save and schedule the hunt. HuntAgent never writes raw queries. Saved hunts deep-link into the Investigation Rail via pivotPath. - Sixteen first-party connectors — wave-1 (tines, torq, falco, pagerduty, opsgenie, confluence_audit) and wave-2 fixtures (cloudflare_zt, sysdig, vault, snowflake). Five severity tiers preserved end-to-end. - L0–L4 automation maturity modelapps/docs/docs/concepts/automation-maturity.md plus the marketing surfaces. Ladder: L0 manual → L4 fully autonomous closure with human sign-off. - Public weekly benchmark scoreboardapps/docs/docs/benchmark-scoreboard.mdx reads apps/docs/static/data/scoreboard.json, refreshed weekly by .github/workflows/wet-eval.yml. Substrate rows are visually separated from wet-eval rows — substrate numbers can never be quoted as live agent performance.

Security & correctness wave — 12 critical/high CVE-class fixes shipped before the v8.0 cut. See apps/docs/docs/operations/security.md for the full inventory. - Rule-engine eval() RCE eliminated — conditions are parsed to a whitelisted AST in services/api/app/services/rules_engine.py (#116). - /hunts and /cases tenant isolation enforced at the query layer (WHERE tenant_id = …), not via RLS alone (#117, #118). - CORS lockdown — a shared cors.py is vendored byte-identical into every Python service and refuses to start with * + credentials in production (#119). - Playbook SSRF guard — every outbound http_request / notify runs through services/agents/app/playbook/ssrf_guard.py with a cloud-metadata block list (#120). - Plugin-manager OCI install hardening — signed manifests verified against an allow-list, image digests pinned and re-verified on every load (#121). - Audit-log integrity (H-4 + M-12) — actor_ip spoofing closed via the new TRUSTED_PROXIES allow-list, secrets stripped from changes, hash-chain tamper-proofing (#122). - /alerts/submit abuse + replay hardening — payload caps (events / per-event bytes / total bytes), Idempotency-Key header, recursive raw_event redaction, timestamp clamping (#123). - Pydantic v1 → v2 settings migration (#124), bounded eval() + playbook timeouts (#126), one-flag dev-mode (AISOC_DEV_MODE — supersedes DEV_MODE / SKIP_AUTH / AISOC_DEMO_MODE, #127), untrusted-enrichment sanitisation before LLM (#128). - Python CodeQL alert count on main driven to zero (#133, #136, #137); enforced as a CI gate going forward. - First community contribution merged: #135 (UEBA env-var alignment, closes #134). Every UEBA variable accepts both unprefixed (DATABASE_URL) and legacy (UEBA_DATABASE_URL) forms; unprefixed wins.

Stage 2 / Stage 3 platform additions — landed alongside v8.0 wave-1. - Wazuh Indexer ingest connector — polls wazuh-alerts-* over HTTPX, paginates time-windowed queries, retries on 5xx; collapses Wazuh severity into the AiSOC ladder. Docs: apps/docs/docs/connectors/wazuh.md. The connector registry now declares 52 first-party connectors. - auditd file_tail connector + aisoc.rules profile — replaces the host-agent dependency for Linux endpoint visibility; 4 new detections pivot on the bundled aisoc_* audit keys. Docs: apps/docs/docs/connectors/auditd.md. - Live Actions dispatcher — generic vendor/capability surface so plugins can register executors against the in-tree taxonomy (isolate_host, disable_user, block_ip, …) without forking. Unknown pairs return a typed LiveActionResult(FAILED, "executor_not_found") — never a 500. Docs: apps/docs/docs/concepts/live-actions.md. - Deterministic NL → ES|QL / KQL / SPL translator — replaces the template fallback in /nl_query with an IR + grammar validator; 50-pair gold eval set scores 100% syntactic, 100% semantic. Air-gapped by default; optional gpt-4o-mini enhancement falls back deterministically. - STIX → MISP push — every STIX 2.1 indicator/bundle published through /api/v1/threatintel/stix/... can now be mirrored into the configured MISP instance. Air-gap gated, with a ?push_to_misp=true query param and a dry-run endpoint for air-gapped audits. Docs: apps/docs/docs/integrations/misp-push.md. - GCP Cloud Run + Cloud SQL Terraform skeleton — serverless-first BYOC equivalent of the existing AWS module. One terraform apply stands AiSOC up on GCP with private-IP networking, Secret Manager, and Artifact Registry. Docs: apps/docs/docs/deployment/gcp.md. - Blameless case post-mortem endpointGET /api/v1/cases/{case_id}/postmortem?format=json|html produces a deterministic retrospective covering contributing factors, detection timing/gaps, response phases, blast radius, and action items. Analyst handles are explicitly redacted from the narrative. Docs: apps/docs/docs/operations/case-reports.md. - Per-rule cross-fire FP gateservices/agents/tests/test_detection_fp_rate.py replays every rule's match_when against every other rule's positive fixture; current corpus 816 native rules, worst FPR 0.49% (5% ceiling). Wired into scripts/run_evals.py as suites.detection_fp_rate. - Operator-facing documentation refresh — new pages for notifications, plugin lifecycle, and credentials / vault rotation; v2.2 architecture diagram and the corrected 52-connector count (now including Wazuh Indexer + auditd file_tail) rolled through every surface.

The full inventory (with file paths, env-var changes, and test counts) lives in the [Unreleased] section of CHANGELOG.md.

---

What's in the box

AiSOC bundles the components a SOC normally pieces together from separate vendors:

  • Connect data sources in three clicks — a 50-connector click-and-connect catalog spans EDR/XDR (CrowdStrike Falcon, SentinelOne, Microsoft Defender XDR, Palo Alto Cortex XDR, Cortex XSIAM, VMware Carbon Black, Trellix Helix, Trend Vision One), SIEM (Splunk, Microsoft Sentinel, Elastic, Sumo Logic, Datadog Cloud SIEM, Google Chronicle, Rapid7 InsightIDR), cloud + CNAPP (AWS Security Hub, AWS GuardDuty, AWS CloudTrail, AWS VPC Flow Logs, Azure Activity, Azure Defender, GCP Cloud Audit, GCP SCC, Wiz, Lacework, Tenable, Prisma Cloud, Orca), identity (Okta, Microsoft Entra, Auth0, Duo Security, 1Password), SaaS (Microsoft 365 audit, Google Workspace, Cloudflare, Proofpoint, Mimecast, ServiceNow, Jira, Slack audit, Salesforce, Email inbox), VCS (GitHub, Snyk), endpoint fleet (osctrl, FleetDM for fleet-wide osquery), container + orchestration (Kubernetes audit logs via apiserver webhook or audit.log tail), and network (Tailscale, Zscaler, Cisco Umbrella). Each connector renders a schema-driven form, runs a live Test connection round-trip before save, encrypts every secret with the application-layer CredentialVault (Fernet AES-128-CBC + HMAC-SHA256), and starts polling on a per-instance schedule. Walkthrough: docs/connectors. Threat model + key rotation: docs/operations/credentials.
  • Own your endpoint telemetry — first-party aisoc-osquery-tls FastAPI service (services/osquery-tls/) and aisoc-direct lightweight agent connector ship a self-hosted osquery TLS plugin, FleetDM-compatible config/log endpoints, and a direct-from-agent ingest path that bypasses third-party SaaS. Built-in file integrity monitoring (FIM) endpoint (services/osquery-tls/app/api/v1/endpoints/fim.py) ingests file_events and synthesizes alerts on writes to /etc/passwd, /etc/shadow, sshd configs, sudoers, and Windows registry hives; bundled osquery packs cover incident response, OSquery-ATT&CK, and FIM out of the box. 16 native osquery detections (detections/endpoint/osquery-*.yaml, IDs det-endpoint-281..296) cover credential access, persistence, lateral movement, defense evasion, and discovery — paired with positive/negative test fixtures (detections/fixtures/osquery_*.json) and CI-gated against the Detection Validation workflow. Live-query playbook step (osquery_live_query) lets responders push allowlisted distributed queries to single hosts or fleet-wide via osctrl/FleetDM with HMAC-signed ChatOps approval. 5 custom Go-based virtual tables (services/osquery-extensions/) extend the agent with aisoc_browser_extensions, aisoc_kernel_modules, aisoc_attck_persistence, aisoc_pending_actions, and aisoc_alert_cache for richer endpoint visibility and bidirectional response. Walkthroughs: docs/connectors/osctrl, docs/connectors/fleetdm.
  • Ingest events from any connector into a Kafka spine.
  • Correlate them in real time with deduplication, ML scoring, per-alert confidence scoring, and Sigma/YARA detection.
  • Roll up signal onto entities — Risk-Based Alerting accumulates time-decayed risk points on the user, host, IP, and domain each alert touches, promotes them to entity-incidents at a tunable threshold, and surfaces an entity-centric queue in the alerts UI. Hits the published 2026 KPI bar of ≥ 50:1 alert-to-incident ratio (CI-gated in services/fusion/tests/test_entity_risk.py).
  • Search across SIEMs — Federated Search fans out a single query to connected Splunk, Microsoft Sentinel, and Elastic instances, translating the query into each target's native dialect (SPL, KQL, ES|QL) via pluggable translators in services/connectors/app/federated/.
  • Manage detections as code — Detection-as-Code (DAC) provides a propose → review → eval-gate → promote lifecycle for detection rules. Every proposal carries an eval result from the harness; candidates that regress MITRE accuracy cannot be promoted. Endpoints in services/api/app/api/v1/endpoints/detection_proposals.py.
  • Run hypothesis-driven hunts on a schedule — Hunt-as-Code YAML definitions in hunts/ declare a hypothesis, MITRE ATT&CK tags, log sources, indicators, and a cron schedule. The hunt engine in services/agents/app/hunt/ loads the corpus at startup, runs hunts on their schedule, and stores findings in the DB.
  • Track detection drift — the Purple Team service takes ATT&CK coverage snapshots and diffs them over time, so you can see which techniques gained or lost coverage between releases. Implementation in services/purple-team/app/services/drift.py.
  • Verify ChatOps actions — HMAC-signed approval prompts are sent to Slack or Teams before high-impact SOAR actions execute, with a time-limited verification token. Implementation in services/actions/app/executors/chatops.py.
  • Benchmark against adversary LLMs — a deterministic attacker-LLM mutator generates adversary incidents to test detection resilience. Script: scripts/generate_adversary_incidents.py; eval: services/agents/tests/test_adversary_eval.py.
  • Enrich every signal with threat intelligence from TAXII 2.1, MISP, OTX, and CISA KEV.
  • Reason about attacks via a LangGraph multi-agent system grounded in MITRE ATT&CK.
  • Detect deviations with UEBA — per-user behavioural baselines and Z-score anomaly scoring.
  • Trap adversaries with HMAC-signed honeytokens (URLs, files, AWS credentials, emails).
  • Validate coverage with automated Atomic Red Team and Caldera adversary emulation.
  • Respond with blast-radius-aware SOAR actions, every step explainable.
  • Govern with multi-tenant RLS, granular RBAC, immutable audit logs, and SOC 2 / ISO 27001 / NIST CSF / PCI-DSS / HIPAA / DORA evidence dashboards.
  • Manage at scale with an MSSP parent-tenant console — onboard child tenants, delegate actions cross-tenant, and view rollup metrics in one pane.
  • Track assets with an asset inventory that auto-correlates vulnerabilities to alerts and surfaces asset blast radius.
  • Detect insider threats with user risk profiles, behavioural indicators, and peer-group deviation scoring.
  • Gate automation through L0–L4 maturity tiers — each tier unlocks progressively more autonomous remediation, with per-action whitelist and full audit gate log.
  • Generate internal threat intelligence — harvest IOCs from alert history, track threat actors and campaigns, subscribe to external STIX/TAXII feeds, all queryable via the REST API.
  • Assess cloud posture with a built-in CSPM/KSPM engine that ingests findings, tracks drift between scan runs, and surfaces a per-provider summary with suppress/resolve workflows.
  • Correlate through identities with a graph of users, devices, and service accounts; link alerts to identity nodes for blast-radius queries and attack-path reconstruction.
  • Automate board reporting — schedule PDF/HTML executive summaries, store artefacts, and deliver via email or webhook.
  • Three-tier agent memory — session (in-process LRU), working (Redis-backed, 24 h TTL), and institutional (PostgreSQL + pgvector, permanent). Agents carry context across tool calls, cases, and sessions; institutional knowledge survives restarts.
  • Autonomy guardrails — per-action confidence thresholds (e.g. block_ip ≥ 0.90, close_alert ≥ 0.60) gate every autonomous decision. Tenant admins can tighten or loosen thresholds via API; all guard-rail decisions are logged.
  • Investigation cost telemetry — every LLM call is tracked by model, prompt tokens, completion tokens, latency, and estimated USD cost. Aggregates are persisted per-run to aisoc_run_costs and surfaced in SOC dashboards.
  • SOC metrics dashboard — live MTTD, MTTR, False Positive Rate, alert/case volumes (rolling 7 d), and ATT&CK technique heatmap. Backed by a real-time API endpoint and a polished React component.
  • Analyst-override feedback loop with retroactive re-disposition — analysts correct AI verdicts (true_positive, false_positive, benign, escalate) in one click. Corrections persist on the alert, flow into aisoc_institutional_memory keyed by an alert signature (category + connector + primary MITRE technique), and adjust FPR metrics automatically. The API surfaces retroactive candidates — past alerts in the same tenant matching the same signature whose disposition would now flip — for one-click bulk re-disposition.
  • Natural-language detection authoring — describe a threat in plain English; the API translates it to Sigma YAML, KQL (Microsoft Sentinel), SPL (Splunk), and ES|QL (Elastic) simultaneously. Falls back to curated templates when no LLM key is configured.
  • Closed-loop detection engineering — when an alert is marked as a false positive, the agent drafts a Sigma rule fix using an LLM, then automatically creates a Detection-as-Code proposal routed through the same human-review DAC workflow. CI re-runs evals on approval; regression gates block regressions.
  • Natural-language query execution — ask a security question in plain English (POST /nl-query/execute). The API translates it to ES|QL, SPL, and KQL; for Elasticsearch-backed tenants it executes the ES|QL query live and returns structured results, column metadata, and the query text for all three dialects.
  • Identity-centric investigation timeline — build a chronological event timeline anchored to any user, device, service account, or IP (POST /identity-timeline/build). The timeline queries alerts and raw events, annotates each event with the relevant ATT&CK technique, computes an entity risk score, and returns a sorted, deduplicated event list for triage.
  • Cross-platform detection translation — convert any detection rule bidirectionally between Sigma YAML, Splunk SPL, Microsoft Sentinel KQL, Elastic ES|QL, and Google Chronicle YARA-L2 / UDM Search (POST /translation/translate). An LLM handles complex logic; a regex fallback handles simple field-mapping rules with no external dependency.
  • Hypothesis-driven hunt workbench — define a hunt hypothesis in natural language (POST /hunts); the API auto-generates ready-to-execute queries in ES|QL, SPL, and KQL; analysts record findings against any run and the workbench tracks open, completed, and inconclusive hunts.
  • Phishing triage workflow — submit raw email text, URLs, attachments, or domain indicators (POST /phishing/submit); the LLM extracts IOCs, assigns a verdict (phishing / benign / spam / malware / unknown), maps to MITRE ATT&CK, and optionally links the submission to an existing case.
  • Knowledge-base + RAG — ingest runbooks, policies, SOPs, and wikis (POST /kb/ingest); the API chunks and full-text indexes each document; analysts query with natural language (POST /kb/query) and receive the top matching chunks plus an LLM-synthesised answer with citation, backed by PostgreSQL FTS when no vector store is configured.

Highlights

0. One-click installer — zero prerequisites

Don't have Docker, Node, pnpm, or even git installed? Use the bootstrap installer. It detects your OS, installs everything idempotently, clones the repo, and launches the demo.

```bash

Deploy in 60 seconds

Four frictionless paths to a running, seeded AiSOC instance with INC-RT-001 (the LockBit 3.0 ransomware showcase) already mid-investigation when you land on it. Each path runs alembic upgrade head and python -m app.scripts.seed_demo as part of its lifecycle, so the seeded data is present without a manual step.

2. Docker Compose — one command, local

git clone https://github.com/beenuar/AiSOC.git && cd AiSOC && pnpm aisoc:demo

Pulls prebuilt ghcr.io/beenuar/* images, brings up the slim demo profile (Postgres, Redis, Kafka, api, agents, realtime, web), runs the seeder as a one-shot container, and opens your browser at /cases/INC-RT-001?tab=ledger with demo@tryaisoc.com already auto-logged-in. Idempotent: re-running is a no-op against a seeded volume. Target on a clean Mac with a warm Docker daemon: clone-to-investigation in ~3.5 min warm / ~5 min cold. Stop with pnpm aisoc:demo:down. See One-shot demo for the timing breakdown and what you'll see on screen.

Screencast path — --quick mode: for a deterministic four-case demo that runs in under four minutes on a warm laptop (the path the 90-second screencast records against), pass --quick:

pnpm aisoc:demo --quick  # 4 cases in 4 minutes

This seeds exactly four cases — DEMO-001 (spear-phishing), DEMO-002 (cloud takeover), DEMO-003 (insider exfil), DEMO-004 (ransomware) — with byte-stable UUIDs and timestamps, then lands the browser on DEMO-004. Re-running cleans the four cases and reseeds, so it doubles as a reset button. Run pnpm aisoc:demo --help for the full flag list.

Deployment options

Each target ships a tested config in infra/:

PlatformStatusConfigNotes
Fly.iofirst-class[infra/fly/](infra/fly/)4 apps, ~$14/mo. See [infra/fly/README.md](infra/fly/README.md).
Rendersupported[render.yaml](render.yaml) + [infra/render/](infra/render/)Sleep-on-idle, hobbyist tier. One-click via blueprint button.
Railwaysupported[infra/railway/railway.toml](infra/railway/railway.toml)PaaS, pay-as-you-go.
Coolifysupported[docker-compose.yml](docker-compose.yml)Self-hosted on your own VPS. See [infra/coolify/README.md](infra/coolify/README.md).
Kubernetes / Helmfirst-class[infra/helm/](infra/helm/)helm install aisoc ./infra/helm/aisoc
AWS / Terraformfirst-class[infra/terraform/](infra/terraform/)cd infra/terraform && terraform apply

The Render, Railway, and Coolify configs deploy the lean demo profile: api, agents, web, realtime, Postgres, and Redis. ClickHouse, Kafka, OpenSearch, Neo4j, and Qdrant are gated behind compose profiles. For a production-grade install with the full storage tier, use Helm or Terraform.

---

(origin-cert flow only — useful before `cloudflared service install`

Optional: pre-flight check (Docker daemon, RAM, ports) before a long build

pnpm aisoc:doctor

Build and start all 22 services. Cold first run: 10-20 min (build) + ~90s (warm-up).

Quick start

One-shot demo

To see AiSOC investigate an in-flight ransomware case in your browser:

git clone https://github.com/beenuar/AiSOC.git
cd AiSOC
pnpm aisoc:demo

That single command:

  1. Pulls prebuilt images from ghcr.io/beenuar/* (api, agents, web, realtime).
  2. Brings up the slim demo profile — Postgres, Redis, Kafka, api, agents, realtime, web.
  3. Runs the canonical-data seeder (services/api/app/scripts/seed_demo.py) as a one-shot container that exits when finished. The seeder is idempotent: re-running it is a no-op against an already-seeded volume.
  4. Locates INC-RT-001 — a LockBit 3.0 ransomware investigation that's mid-stream when you arrive (encryption is in progress, the agent is streaming decisions to the Investigation Ledger, an auto-isolation playbook is mid-DAG).
  5. Opens your browser directly at /cases/INC-RT-001?tab=ledger, with the demo analyst (demo@tryaisoc.com) already auto-logged-in.

Target on a clean Mac with a warm Docker daemon: clone-to-investigation in under 5 minutes.

StepTime
docker compose pull (cold)~90s
docker compose up + healthchecks~60s
Seed canonical data (one-shot container)~30s
Kick off live investigation step~30s
Total~3.5 min warm / ~5 min cold

What you'll see when the browser opens:

  • Investigation Ledger — the agent's per-step prompt, response, evidence cited, and tool calls for INC-RT-001, replayable from any step.
  • Decision graph — Cytoscape view of the LangGraph traversal that produced the verdict.
  • Playbook timeline — the in-flight ransomware containment DAG, with completed and pending steps.
  • 15 other seeded cases — phishing, credential access, lateral movement, exfiltration, cloud takeover — across INC-PH-*, INC-CR-*, INC-LM-*, INC-EX-*, INC-CL-* series, all with populated alerts, IOCs, and ledger artifacts.

When you're done: pnpm aisoc:demo:down (stops containers and deletes the demo volumes).

Hosted, public-internet equivalent

The same stack ships a Cloudflare Tunnel template (see Public demo on your own domain) and tested deployment configs for Render and Fly.io — both wire alembic upgrade head && python -m app.scripts.seed_demo into the deploy lifecycle so the same INC-RT-001 showcase is present after render blueprint launch or fly deploy.

The full development quick start with all services (UEBA, Honeytokens, Purple Team, ClickHouse, OpenSearch, Neo4j, Qdrant) is below.

Public demo on your own domain

The same demo stack can be reached from the public internet without exposing ports, opening firewall rules, or paying for a cloud VM. AiSOC ships a Cloudflare Tunnel template plus a wrapper script that:

  1. Brings up the slim demo profile via pnpm aisoc:demo --no-open (Postgres, Redis, Kafka, api, agents, realtime, web).
  2. Creates a named cloudflared tunnel (or reuses one if it already exists).
  3. Renders an ingress config from infra/cloudflare/config.yml.example into ~/.cloudflared/<tunnel-name>.yml, after validating it with cloudflared tunnel ingress validate.
  4. Adds DNS routes on your zone so the apex (https://<your-domain>) and the api, ws, docs subdomains all resolve to the tunnel.
  5. Runs cloudflared tunnel run in the foreground (Ctrl+C exits cleanly; the local stack keeps running).

The result: a publicly reachable, fully self-hosted SOC console, served from your laptop, accepting only traffic that came in through Cloudflare. No inbound ports are opened on your router or firewall.

Prerequisites

  • A domain whose DNS is managed by Cloudflare.
  • The cloudflared CLI installed locally (brew install cloudflared on macOS).
  • One of two auth methods (the script accepts either):
  • (A) Origin-cert flow: run cloudflared tunnel login once on this machine — it drops a cert.pem in ~/.cloudflared/ that authorises this host to manage tunnels and DNS records on the zone. The script will then create the tunnel, render the ingress config, and wire DNS automatically.
  • (B) Tunnel-token flow ★: create a tunnel in the Cloudflare Zero Trust dashboard (Networks → Tunnels → Create a tunnel → Cloudflared), configure the four public hostnames (apex/api/ws/docs → localhost:3000/8000/8086/3001), and copy the --token ey… value the dashboard hands you. No cert.pem required, no local DNS plumbing. Useful when the browser-based cloudflared tunnel login won't write a cert (corporate browsers, headless boxes, etc).

Run it

```bash

Optional enrichment

CYBLE_API_KEY=... VIRUSTOTAL_API_KEY=... ABUSEIPDB_API_KEY=... GREYNOISE_API_KEY=... SHODAN_API_KEY=...

Optional TAXII feeds

TAXII_FEEDS=https://cti-taxii.mitre.org/taxii/,enterprise-attack,,

Optional SSO (SAML 2.0)

SAML_IDP_METADATA_URL=https://your-idp.example.com/metadata

Optional SSO (OIDC)

OIDC_DISCOVERY_URL=https://your-idp.example.com/.well-known/openid-configuration OIDC_CLIENT_ID=aisoc OIDC_CLIENT_SECRET=...

Optional Purple Team

CALDERA_URL=http://localhost:8888 CALDERA_API_KEY=... ATOMIC_RED_TEAM_PATH=/opt/atomic-red-team/atomics


#### 3. Boot
bash

How AiSOC compares

CapabilityAiSOCWazuhSplunk ESClosed-source AI SOC
Open-source licenseMITGPL-2proprietaryproprietary
Self-hostableyesyesenterprise-onlycloud-only
Autonomous AI investigationLangGraphnopartial (Splunk AI)yes
Agent decision audit trailpublic Investigation Ledgern/an/anot published
Public substrate eval harnessCI-gated, reproducible, with synthetic telemetry corpus + per-template macrosn/an/anot published
Detection content800 native + 6,000+ imported (Sigma / Splunk / Chronicle / CAR)1,200+ rules1,000+ appscurated
Plugin SDKPython / TypeScript / GoYAML rules onlyappsproprietary
Data residencyyour infrayour infrapartialvendor cloud
Pricing$0 (self-host)$0 (self-host)per ingest GBenterprise

Closed-source AI SOC vendors ship working products. AiSOC's contribution is making the agent itself open, the per-step decision trail readable, and the substrate gated by a public eval harness on every PR targeting main / develop.

---

🎯 aiskill88 AI 点评 A 级 2026-05-29

AiSOC是一个高质量的开源AI安全项目

📚 实用指南(长尾问题)
适合谁
  • 需要让 Claude / Cursor 操作本地工具的 AI 工程师
  • 构建多智能体协作系统的 Agent 开发者
  • 构建企业知识库 / RAG 检索应用的团队
  • 跨境业务、多语言内容运营团队
最佳实践
  • 配置 MCP 服务器时建议使用 stdio 传输 + JSON-RPC,避免暴露公网
  • 生产部署优先使用 Docker Compose 隔离依赖,并挂载 volume 持久化数据
  • 本地部署优先选 GGUF 量化模型,节省显存并保持响应速度
  • 分块大小建议 256-512 tokens,向量库优选 pgvector 或 Qdrant
  • Agent 任务先做 dry-run 验证工具调用链,再开启自主执行
常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
  • MCP 配置路径拼错或权限不足,重启 Claude Desktop 才生效
  • 容器内无法访问宿主机 localhost — 使用 host.docker.internal
  • embedding 模型与查询模型不一致导致检索失效
  • 显存不足直接 OOM — 优先降低 context 或换更小的量化模型
  • Python 依赖冲突:建议用 venv / uv 隔离环境
部署方案
  • Docker:AiSOC 提供官方镜像,docker compose up 一键启动
  • CLI:直接 npm install -g / pip install,命令行调用
  • 本地部署:CPU 8GB 起,GPU 推荐 16GB+ 显存
  • 云端托管:可放在 Vercel / Railway / Fly.io 等 PaaS 平台

⚡ 核心功能

  • 可视化 Agent 工作流编排,无需编写复杂代码
  • 支持多步骤自动化任务链,实现全流程无人值守
  • 与外部 API、数据库和第三方服务无缝集成
  • 内置错误处理与自动重试机制,保障稳定运行
  • 提供可复用的自动化模板,快速在同类场景部署
👥 适合谁
  • 需要让 Claude / Cursor 操作本地工具的 AI 工程师
  • 构建多智能体协作系统的 Agent 开发者
  • 构建企业知识库 / RAG 检索应用的团队
  • 跨境业务、多语言内容运营团队
⭐ 最佳实践
  • 配置 MCP 服务器时建议使用 stdio 传输 + JSON-RPC,避免暴露公网
  • 生产部署优先使用 Docker Compose 隔离依赖,并挂载 volume 持久化数据
  • 本地部署优先选 GGUF 量化模型,节省显存并保持响应速度
  • 分块大小建议 256-512 tokens,向量库优选 pgvector 或 Qdrant
⚠️ 常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
  • MCP 配置路径拼错或权限不足,重启 Claude Desktop 才生效
  • 容器内无法访问宿主机 localhost — 使用 host.docker.internal
  • embedding 模型与查询模型不一致导致检索失效

👥 适合人群

自动化工程师和运维人员项目经理和业务分析师希望减少重复性工作的专业人士数字化转型团队

🎯 使用场景

  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同

⚖️ 优点与不足

✅ 优点
  • +MIT 协议,可免费商用
  • +大幅减少重复性人工操作
  • +可视化流程,清晰直观
  • +可扩展性强,支持复杂场景
⚠️ 不足
  • 初始配置和调试需投入一定时间
  • 强依赖外部服务的稳定性
  • 复杂场景需具备一定技术基础
⚠️ 使用须知

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。

❓ 常见问题 FAQ

AiSOC 是一款Python开发的AI辅助工具。开源AI工作流:Open-source AI-powered Security Operations Center — alert fusion, purple-team dr。⭐1.1k · Python 主要应用场景包括:安全运营中心自动化。
💡 AI Skill Hub 点评

总体来看,AiSOC 是一款质量优秀的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。

⬇️ 获取与下载
⬇ 下载源码 ZIP

✅ MIT 协议 · 可免费商用 · 直接从 aiskill88 服务器下载,无需跳转 GitHub

📚 深入学习 AiSOC
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 AiSOC
原始描述 开源AI工作流:Open-source AI-powered Security Operations Center — alert fusion, purple-team dr。⭐1.1k · Python
Topics ai-securitycybersecuritydetection-engineering
GitHub https://github.com/beenuar/AiSOC
License MIT
语言 Python
🔗 原始来源
🐙 GitHub 仓库  https://github.com/beenuar/AiSOC 🌐 官方网站  https://tryaisoc.com

收录时间:2026-05-29 · 更新时间:2026-05-30 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。