Silas Silas
Last reviewed 2026-04-22

Trust at Silas

Silas runs LLM agents with operational access to network and security infrastructure. That access is the product — and the attack surface. This page describes our threat model, what is built today, what is in flight, and how to report a vulnerability.

We are transparent about gaps. Every item labeled Gap on this page is tracked by a public implementation epic in YouTrack. We do not claim SOC 2, ISO 27001, or FedRAMP. When we do, it will appear here.

Posture at a glance

Area Status Notes
NATS hub ↔ leaf mTLS + NKey (Ed25519) authenticationShippedChallenge-response; per-install client certs
Gandalf knowledge capsules encrypted at rest (age)ShippedCapsule signing in flight (P1)
Ed25519-signed built-in promptsShippedImmutability guards, hot-swap reload
CI security scanning: CodeQL, Bandit, Semgrep, TruffleHog, Trivy, OSSF Scorecard, SBOM (CycloneDX)ShippedPer repo, blocking on merge
Output sanitization & redaction at MCP boundaryShippedAPI keys, tokens, JWTs, SSH keys, optional IPs
1Password runtime credential resolutionShippedIn-memory only; never persisted
Automated incident reporting on unhandled exceptionsShippedTicketed into internal tracker
IAA target architecture (Identity / AuthN / AuthZ / Non-repudiation)In ProgressTarget design documented; enforcement gaps below
Gandalf capsule signaturesIn ProgressEpic P1 — Phase 5 of Gandalf
Credential at-rest encryption (credentials.json, NKey seeds)GapEpic P2 — fix landing this quarter
Release binary signing + SLSA attestationGapEpic P3 — Sigstore/Cosign
Service token hardening (current: XOR+base64 in CLI binary, decompilable)GapEpic P4 — per-install keychain-stored token
Tenant isolation enforced at API layerGapEpic P6 — tenant_id field not yet validated on read/write
Active cross-platform sandboxing (Linux/macOS/Windows)PartialmacOS active; Linux partial; Windows Gap — Epic P8
Public vulnerability disclosure programLaunchingEpic P9 — [email protected] + SLAs below

Threat model (MITRE ATLAS)

Silas's threat model is framed against MITRE ATLAS — the AI-system counterpart to ATT&CK. We enumerate adversary classes, trust boundaries, and per-threat mitigations with explicit severity ratings. Residual risk is named, not hidden.

View the full threat model →

Scope

In scope

  • silas-core, silas-edge, silas-cli, silas-desktop source & releases
  • Silas-operated services (silas.netsecdev.ai, gateway functions, NATS hub, GCS buckets)
  • Silas-distributed binaries, capsules, and built-in MCPs
  • Release pipeline, CI workflows, upstream Codex sync

Out of scope

  • LLM provider APIs (BYOK — customer relationship)
  • Customer-operated network devices and their credentials
  • Upstream openai/codex (we consume their main nightly)
  • User workstation OS hardening

Identity & access

Every Silas install receives a unique install_id and an Ed25519 NKey seed at activation. NATS leaf connections authenticate via challenge-response (no passwords on the wire) and enforce mTLS with per-install client certificates issued by a Silas-operated CA.

Subject permissions are scoped per install — silas.{install_id}.logs.*, silas.{install_id}.trace.*, and tenant-scoped Hive subjects. Admin endpoints require a separate NKey + TLS bundle.

License tiers (trial / pro / enterprise / internal) gate feature access and determine credential-provisioning scope (shared vs. per-tenant 1Password vaults).

Data handling & isolation

Data class Leaves device? Retention
Prompt contentYes — to LLM provider (BYOK)Provider-defined; Silas doesn't store by default
MCP tool I/O (traces, logs)Sanitized → NATS hub if enabled7d traces / 30d logs
Vendor credentialsNo — resolved from vault / env, in memory onlySession duration
Install identityYes — to gateway (activation + heartbeat)Until deletion request
Usage telemetryOpt-in (SILAS_TELEMETRY=true; off by default)90d aggregated
Debug artifactsOnly on explicit silas support bundleWith support ticket lifecycle

Output sanitization is on by default and redacts API keys, Slack/GitHub/JWT tokens, SSH private keys, and (optionally) IP addresses before anything leaves the leaf. Primary data region: GCP us-central1.

Supply chain

Secure defaults

Silas ships deny-by-default on the dimensions that matter. Everything below is the factory setting — tenant admins can add to allowlists, never subtract from deny lists.

Subprocessors

Services Silas uses. BYOK LLM providers are customer relationships and not subprocessors of Silas.

Service Purpose
Google Cloud PlatformCloud Functions, Cloud Run, GCS, Firebase Hosting, ClickHouse (GCE), BigQuery
1PasswordCustomer credential vault, runtime-resolved via service account
GitHubSource hosting, Actions runners, Security Advisories, Dependabot
MailtrapTransactional email (signup, verification, admin notifications)
Twilio (optional)SMS admin alerts for registration approval
NATS.io (self-hosted on GCP)Message bus for traces, logs, Gandalf distribution
Milvus (self-hosted)Vector DB backing local Gandalf queries

Vulnerability disclosure

Report security issues to [email protected]. Please do not file public GitHub issues for security reports — public issues accelerate exploitation.

Response SLAs (targets)
  • Acknowledgment: 24 hours
  • Initial triage: 7 calendar days
  • Critical / High fix: 30 calendar days
  • Medium fix: 90 calendar days
  • Advisory publication: coordinated (default 90d)
Safe harbor

Good-faith research on in-scope assets is safe-harbored. Avoid privacy violations and service disruption, interact only with accounts you own or have permission for, report promptly, and hold disclosure until coordinated.

Known-issues register

Issue Severity Fix status
Service token XOR+base64 encoded in CLI binary (decompilable)CriticalEpic P4 — rotate & re-provision on fix
credentials.json plaintext at restHighEpic P2 — Enterprise tier should use 1Password-only until fixed
Gandalf passphrase deterministic from public machine infoHighEpic P5 — not exploitable remotely; requires disk access
No release binary signingHighEpic P3 — verify checksums at silas.netsecdev.ai/download/latest.json
Tenant isolation not enforced at API layerHighEpic P6 — single-tenant deployments unaffected

Bug bounty program is not yet operational. Researchers reporting the above already receive credit on request but do not currently qualify for payment.