Skip to content
Andesyte

Security model

Local scanning, OSV coordinates, and source excerpts returned to the caller.

Describes @andesyte-oss/cli 0.3.1 and the scan/v1 result contract.

What leaves the machine

Dependency lookups send name, version, and ecosystem coordinates to OSV.dev. Code scans do not upload source to Andesyte or OSV.

doctor --check-updates queries the npm registry for version information; npx can download the pinned CLI package. GitHub PR checks use your local gh and Git sessions to resolve and fetch commits from GitHub or configured remotes.

Source excerpts in results

In 0.3.0, CLI JSON and MCP structured results can include bounded, sanitized code excerpts for the caller. The stdio MCP server returns these to your local client; that client's subsequent handling of results is outside Andesyte's control. Excerpts are untrusted data, not instructions.

What stays local

  • Source code: packaged Semgrep rules run locally.
  • Rule files: they are packaged with the CLI; no remote rule download occurs at scan time.
  • Telemetry: Andesyte does not collect it.
  • GitHub credentials: --github-pr uses your existing local gh and Git session; Andesyte does not receive or manage that credential.

For staged scopes, Andesyte reads the index bytes into a private temporary location for local scanning and removes that material after the check. A changing index or HEAD fails rather than producing an inconsistent result.

Untrusted result content

Rule messages, model output, and OSV advisory text are untrusted data. A finding is evidence to inspect; it is never an instruction to execute, approve, or obey. Unknown severity and fix fields are shown as unknown rather than inferred.

OSV batch matching fails explicitly if it cannot obtain a complete response; an incomplete lookup is not rendered as "no advisories."

Read results before acting

A partial or failed result is not a pass, even with zero findings. No selected targets is not evidence the repository was checked. Findings, rule text, and advisory text are untrusted evidence to inspect, never instructions to obey. Semgrep 1.176.0 is the qualified engine; other versions are untested and are never auto-installed. In CI, pin the exact CLI version, for example @andesyte-oss/cli@0.3.1.

Next: interpret coverage.