Files
git.stella-ops.org/docs/benchmarks/scanner/deep-dives/matrix.md
master ff0eca3a51 feat: Implement policy attestation features and service account delegation
- Added new policy scopes: `policy:publish` and `policy:promote` with interactive-only enforcement.
- Introduced metadata parameters for policy actions: `policy_reason`, `policy_ticket`, and `policy_digest`.
- Enhanced token validation to require fresh authentication for policy attestation tokens.
- Updated grant handlers to enforce policy scope checks and log audit information.
- Implemented service account delegation configuration, including quotas and validation.
- Seeded service accounts during application initialization based on configuration.
- Updated documentation and tasks to reflect new features and changes.
2025-11-03 01:13:21 +02:00

9.5 KiB
Raw Blame History

Ecosystem Feature Matrix — StellaOps vs Trivy / Grype / Snyk

Lang / Ecosystem Feature Winner StellaOps gaps Trivy gaps Grype gaps Snyk gaps Backlog follow-up (suggested) Doc
.NET Dependency retrieval Snyk No pre-build lock/config ingestion (installed deps.json only). No runtime graph; ignores runtimeconfig/installed assemblies. Relies on Syft deps.json catalogs; no layer-aware runtime context. Requires authenticated SaaS analysis; projects often need restore/build before scanning. Evaluate adding lockfile analyzer parity (track via Scanner .NET guild tasks). dotnet.md
.NET Runtime metadata & signing StellaOps Authenticode inspection optional; Windows-only coverage pending. Does not capture signer metadata or assembly hashes. No authenticode or RID metadata captured; package fields only. No runtimeconfig/authenticode data; focuses on dependency manifests. Harden Authenticode integration & document Windows variants. dotnet.md
Node.js Workspace & pnpm resolution Tie (StellaOps / Snyk) Lack of pnpm lock validator tooling for CLI users. pnpm virtual store resolved only via lockfile semantics; skips actual installs. Depends on Syft catalogers; lacks pnpm workspace policy controls or dedupe tuning. Manifest-based plugins (npm/yarn/pnpm) send dependency graphs to Snyk API; offline unsupported. Track lockfile validator plan (scanning-gaps-stella-misses-from-competitors.md) and file analyzer/CLI backlog items. nodejs.md
Node.js Usage tracking StellaOps EntryTrace launcher catalog requires regular updates. No runtime usage model; inventory-only. No runtime usage modelling; reports inventory only. No runtime usage modelling (inventory only). Establish cadence for launcher catalog review (EntryTrace TASKS). nodejs.md
Python Evidence source Tie (StellaOps / Trivy) Build-only repos need supplemental workflow. Accepts stale lockfiles; installed evidence optional. Leverages Syft-installed metadata; build-only projects need external flow. Requires language environment & build; manifest graph sent to Snyk service. Track Python lockfile parity plan (scanning-gaps-stella-misses-from-competitors.md) in analyzer backlog. python.md
Python Usage awareness StellaOps EntryTrace hints dependent on shell heuristic coverage. Missing runtime usage context entirely. No runtime usage awareness. No runtime usage metadata. Expand EntryTrace shell heuristic coverage. python.md
Java Archive evidence Tie (StellaOps / Snyk) Gradle/SBT lockfiles out of scope; relies on observed archives. No archive hash locators; depends on Java DB availability. Relies on Syft archive metadata without manifest hashing/attestation. Relies on Maven/Gradle plugins; no archive hashing or offline support. Execute Java lockfile plan (scanning-gaps-stella-misses-from-competitors.md) and log analyzer/CLI backlog items. java.md
Go Stripped binaries StellaOps Fallback components limited to hash + binary metadata. Drops binaries lacking build info; no fallback reporting. Skips pseudo-version binaries without build info; no hashed fallback. Go plugin inspects modules via manifests; binaries without modules not analysed. Execute Go fallback enrichment plan (scanning-gaps-stella-misses-from-competitors.md) to add inferred metadata & policy hooks. golang.md
Rust Binary heuristics StellaOps Fingerprint coverage incomplete for niche toolchains. Unmatched binaries ignored; no fallback crates. No fallback for binaries lacking Cargo metadata; depends on Syft crate data. No Rust/Cargo support in CLI plugins. Execute Rust fingerprint plan (scanning-gaps-stella-misses-from-competitors.md) and update analyzer backlog. rust.md
OS packages Linux distro coverage & provenance Tie (StellaOps / Grype) Requires RustFS/object store deployment for full replay; Windows packaging still out of scope. No per-layer fragment storage; provenance limited; Windows support likewise minimal. No per-layer provenance; shares Syft catalog and Anchore DB only. Snyk Container scanning depends on SaaS API; no per-layer provenance. Document RustFS dependency & offline alternatives in ops backlog; evaluate Windows pkg roadmap. os-packages.md
OS packages Linux flavor support (Alpine/Wolfi/Chainguard, Debian/Ubuntu, RHEL/Alma/Rocky, SUSE, Amazon/Bottlerocket) Tie (Trivy / Snyk) Windows/macOS package ecosystems still pending. Coverage relies on package DB adapters; per-distro nuances (e.g., Chainguard signatures) not attested. Supports major Linux feeds but no Windows/macOS package analyzers. Supports documented distro list via Snyk Container but requires cloud connectivity. Track demand for non-Linux package analyzers; document distro mapping in os-packages deep dive. os-packages.md
OS packages Windows/macOS coverage No Windows/macOS analyzer; backlog item for offline parity. Coverage docs enumerate Linux distributions only; Windows/macOS packages unsupported. Syft matchers focus on Linux ecosystems; Windows/macOS packages unsupported. Coverage depends on Snyks SaaS service; no offline assurance for Windows/macOS packages. Capture demand for Windows/macOS analyzers (see docs/benchmarks/scanner/windows-macos-demand.md) and scope feasibility. os-packages.md
Secrets Handling posture StellaOps No leak scanning by design; Surface.Secrets manages retrieval/rotation with tenant scopes. Leak detections lack governance hooks; operators must track rule updates. No secret management abstraction; credentials configured manually. Requires SaaS backend for secret scanning; no offline posture or secret storage guidance. Document governance patterns for Surface.Secrets users and recommended companion tooling. secrets.md
Secrets Detection technique Trivy No content scanning; relies on Surface.Secrets integrations. Regex/entropy detectors with configurable allow/deny lists across files/bytecode. No detector available; Syft/Grype skip leak scanning entirely. Snyk Code/Snyk secrets require uploading code to SaaS; offline detection unavailable. Execute secrets leak detection plan (scanning-gaps-stella-misses-from-competitors.md) and plan policy templates. secrets.md
EntryTrace Runtime command resolution StellaOps Shell/language launcher coverage needs continuous tuning. Not supported. Not available. Not available. Maintain EntryTrace plan (scanning-gaps-stella-misses-from-competitors.md) and backlog cadence.
DSSE / Rekor Attested SBOM/report signing StellaOps Rekor v2 adoption requires operator enablement guidance. Not supported. No attestation or transparency log integration. No attestation workflow. Already covered by Export Center backlog (no additional plan required).
Ruby Language analyzer parity Snyk No Ruby analyzer implementation yet. Lacks runtime usage/EntryTrace integration. Supports Ruby via matcher but lacks runtime usage/attestation. Supported through rubygems plugin (SaaS dependency graph). Prioritise Ruby analyzer work (see src/Scanner/StellaOps.Scanner.Analyzers.Lang.Ruby/TASKS.md).
PHP Language analyzer parity Snyk No PHP analyzer implementation yet. No usage or evidence beyond lockfiles. Composer handled via generic matcher; no runtime evidence. Supported through PHP Composer plugin (requires Snyk API). Track PHP analyzer backlog (...Lang.Php/TASKS.md).
Deno Language analyzer parity Trivy Analyzer not yet implemented (tasks pending). None (lockfile support limited but present). No Deno support. No Deno plugin. Execute Deno analyzer epics in ...Lang.Deno/TASKS.md.
Dart Language analyzer parity Trivy No Dart support. Provides Dart lockfile parsing. No Dart support. No Dart plugin. Create backlog item for Dart coverage feasibility study.
Swift Language analyzer parity Snyk No Swift support today. Supports Package.resolved parsing but no runtime usage. No Swift support. Supported via swift plugin but SaaS-only. Evaluate need for Swift analyzer based on customer demand.
SAST Application code analysis Snyk No built-in SAST engine. No SAST engine (focus on vuln & config). No SAST support (SBOM matching only). Requires SaaS upload of code; privacy considerations. Evaluate integration points with existing SAST tooling / document partner options. sast.md
IaC / Misconfiguration Built-in scanning Snyk No misconfiguration analyzer (policy engine focuses on runtime evidence). Ships IaC scanning but lacks deterministic replay. No IaC or misconfiguration scanners (vulnerability-only). Handled via Snyk IaC (snyk iac test) with SaaS policy engine. Coordinate with Policy/Surface guild on IaC roadmap assessment.
Kubernetes / VM targets Target coverage breadth Tie (Trivy / Snyk) Scanner limited to images/filesystems; relies on other modules for runtime posture. Supported but lacks attestation pipeline. Scans images/filesystems; no live cluster or VM state analysis. Snyk Container/K8s scanning available but cloud-managed; no offline runtime attestation. Document complementary modules (Zastava/Runtime) in comparison appendix.