# io.github.sparkvibe-io/GuardianShield (pypi · guardianshield)

AI security layer: code scanning, PII detection, prompt injection, secrets, CVEs

- Trust score: 21/100 (low)
- Change this week: −23
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- pypi · `guardianshield`: 21/100 (this document), [markdown](https://verifymcp.io/servers/sparkvibe-io-guardianshield/guardianshield.md), [page](https://verifymcp.io/servers/sparkvibe-io-guardianshield/guardianshield)

## Channel facts

- Registry: `pypi`
- Package: `guardianshield`
- Version: `1.2.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 50/100
  - Malware scan not yet available for this package.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 32/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license (Apache Software License) isn't a recognized OSI-approved license.
  - Actively maintained (last published 152 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 0/100
  - Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: our sandbox run of this package did not complete, so we have no schema to compare.
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- **Capabilities**: 0/100
  - Protocol version not yet verified: our sandbox run of this package did not complete, so we never saw its MCP handshake.

**Unverified: 4 categories.** Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you.

## Install

### Claude

```bash
claude mcp add sparkvibe-io-guardianshield -- uvx guardianshield
```

### Codex

```bash
codex mcp add sparkvibe-io-guardianshield -- uvx guardianshield
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sparkvibe-io-guardianshield": {
      "type": "local",
      "command": [
        "uvx",
        "guardianshield"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sparkvibe-io-guardianshield --command uvx --arg guardianshield
```

### Hermes

```yaml
mcp_servers:
  sparkvibe-io-guardianshield:
    command: "uvx"
    args: ["guardianshield"]
```

### Other

```json
{
  "mcpServers": {
    "sparkvibe-io-guardianshield": {
      "command": "uvx",
      "args": [
        "guardianshield"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 21, −15)

- [security regression] Malware scan: pass → unverified

### 2026-08-02 (score 36, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-08-01 (score 21, −5)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 26, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-28 (score 44, 0)

- [functional] Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- [functional] Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.

### 2026-07-26 (score 44)

First indexed and scored.

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (27)

### `scan_code` (~103 tokens)

Scan source code for security vulnerabilities (SQL injection, XSS, command injection, path traversal) and hardcoded secrets/credentials. Returns a list of findings with severity, type, and remediation guidance.

Input parameters:

- `code` (string, required): The source code to scan.
- `engines` (array): Optional list of engine names to use for this scan.
- `file_path` (string): Optional file path for context in findings.
- `language` (string): Optional programming language hint.

### `scan_input` (~61 tokens)

Check user or agent input for prompt injection attempts. Detects instruction override, role hijacking, system prompt extraction, delimiter abuse, ChatML injection, jailbreak keywords, and encoding evasion.

Input parameters:

- `text` (string, required): The input text to check for injection attempts.

### `scan_output` (~66 tokens)

Check AI-generated output for PII leaks (email, SSN, credit card, phone, IP) and content policy violations (violence, self-harm, illegal activity). PII is automatically redacted in findings.

Input parameters:

- `text` (string, required): The AI output text to scan.

### `check_secrets` (~85 tokens)

Dedicated secret and credential detection. Scans text for AWS keys, GitHub tokens, Stripe keys, private keys, JWTs, Slack tokens, passwords, connection strings, Google API keys, and more. All matched secrets are redacted in findings.

Input parameters:

- `file_path` (string): Optional file path for context.
- `text` (string, required): The text to scan for secrets.

### `get_profile` (~22 tokens)

Get the current safety profile configuration including scanner settings and blocked content categories.

### `set_profile` (~48 tokens)

Switch to a different safety profile. Available profiles: general, education, healthcare, finance, children. Each profile adjusts scanner sensitivity and blocked categories.

Input parameters:

- `name` (string, required): Profile name to activate.

### `audit_log` (~68 tokens)

Query the security audit log. Returns recent scan events with timestamps, scan types, finding counts, and input hashes.

Input parameters:

- `limit` (integer): Maximum number of entries to return (default 50).
- `scan_type` (string): Filter by scan type: code, input, output, secrets.

### `get_findings` (~95 tokens)

Retrieve past security findings from the audit database with optional filters by type, severity, or audit ID.

Input parameters:

- `audit_id` (integer): Filter findings by audit log entry ID.
- `finding_type` (string): Filter by finding type (e.g. secret, sql_injection, pii_leak).
- `limit` (integer): Maximum findings to return (default 100).
- `severity` (string): Filter by severity level.

### `shield_status` (~26 tokens)

Get GuardianShield health and configuration status including active profile, enabled scanners, and audit statistics.

### `scan_file` (~71 tokens)

Scan a single source file for vulnerabilities and secrets. Auto-detects language from file extension. Returns findings with line numbers, severity, CWE IDs, and remediation.

Input parameters:

- `language` (string): Optional language hint (auto-detected from extension).
- `path` (string, required): Absolute or relative path to the file.

### `scan_directory` (~90 tokens)

Recursively scan a directory for vulnerabilities and secrets. Supports extension filtering, exclude patterns, and reports progress. Returns all findings across all scanned files.

Input parameters:

- `exclude` (array): Glob patterns to skip (e.g. ["node_modules/*"]).
- `extensions` (array): File extensions to include (e.g. [".py", ".js"]).
- `path` (string, required): Root directory to scan.

### `test_pattern` (~71 tokens)

Test a regex pattern against sample code. Returns match details including positions and matched text. Useful for developing and debugging custom vulnerability patterns.

Input parameters:

- `language` (string): Optional language context for the pattern.
- `regex` (string, required): The regex pattern to test.
- `sample` (string, required): Sample code to test against.

### `check_dependencies` (~51 tokens)

Check package dependencies for known vulnerabilities using the OSV.dev database. Provide a list of packages with names, versions, and ecosystems (PyPI or npm).

Input parameters:

- `dependencies` (array, required): List of dependencies to check.

### `sync_vulnerabilities` (~69 tokens)

Sync the local OSV vulnerability database for a given ecosystem. Call this to update the cache before checking dependencies.

Input parameters:

- `ecosystem` (string, required): Ecosystem to sync (PyPI, npm, Go, or Packagist).
- `packages` (array): Optional list of package names to sync.

### `parse_manifest` (~123 tokens)

Parse a dependency manifest file into a structured list of dependencies. Auto-detects format from the filename. Supports: requirements.txt, package.json, pyproject.toml, package-lock.json, yarn.lock, pnpm-lock.yaml, Pipfile.lock, go.mod, go.sum, composer.json, composer.lock.

Input parameters:

- `content` (string, required): The contents of the manifest file.
- `filename` (string, required): Filename for format detection (e.g. 'requirements.txt', 'package.json', 'package-lock.json', 'yarn.lock', 'go.mod', 'composer.json').

### `scan_dependencies` (~82 tokens)

Recursively scan a directory for manifest/lockfiles (requirements.txt, package.json, go.mod, composer.json, etc.), parse dependencies, and check them for known vulnerabilities using the OSV.dev database.

Input parameters:

- `exclude` (array): Glob patterns to skip (e.g. ["vendor/*"]).
- `path` (string, required): Root directory to scan for manifest files.

### `mark_false_positive` (~73 tokens)

Mark a security finding as a false positive. The finding will be flagged in future scans, and similar patterns at other locations will be annotated as potential false positives.

Input parameters:

- `finding` (object, required): The finding dict as returned by a scan tool.
- `reason` (string): Optional explanation of why this is a false positive.

### `list_false_positives` (~74 tokens)

List active false positive records. Shows findings that have been marked as false positives, with optional filtering by scanner.

Input parameters:

- `limit` (integer): Maximum number of records to return (default 100).
- `scanner` (string): Optional filter by scanner name (e.g. 'code_scanner', 'secrets').

### `unmark_false_positive` (~46 tokens)

Remove a false positive record by its fingerprint. The finding will no longer be flagged in future scans.

Input parameters:

- `fingerprint` (string, required): The fingerprint of the false positive record to remove.

### `list_engines` (~39 tokens)

List available analysis engines with their capabilities and enabled status. Returns each engine's name, whether it is enabled in the current profile, and its capabilities.

### `set_engine` (~55 tokens)

Set which analysis engines are active for code scanning. Accepts a list of engine names to enable for the current session. Available engines can be listed with list_engines.

Input parameters:

- `engines` (array, required): List of engine names to enable.

### `export_sarif` (~82 tokens)

Export scan findings as SARIF 2.1.0 JSON for GitHub Code Scanning, VS Code, and CI integration

Input parameters:

- `code` (string, required): Source code to scan.
- `engines` (array): Analysis engines to use.
- `file_path` (string): File path for SARIF locations.
- `language` (string, required): Programming language.

### `save_baseline` (~102 tokens)

Scan code and save the findings as a baseline JSON file. On subsequent scans with scan_with_baseline, only NEW findings (not in the baseline) are reported.

Input parameters:

- `code` (string, required): Source code to scan.
- `file_path` (string): Optional file path for context.
- `language` (string): Optional programming language hint.
- `output_path` (string): Path to save the baseline file. Default: .guardianshield-baseline.json

### `scan_with_baseline` (~99 tokens)

Scan code and compare against a saved baseline, returning only NEW findings that are not in the baseline. Use save_baseline first to create a baseline.

Input parameters:

- `baseline_path` (string): Path to the baseline file. Default: .guardianshield-baseline.json
- `code` (string, required): Source code to scan.
- `file_path` (string): Optional file path for context.
- `language` (string): Optional programming language hint.

### `check_quality_gate` (~134 tokens)

Scan code and evaluate findings against configurable severity thresholds. Returns a pass/fail/warn verdict suitable for CI pipelines. Exit codes: 0=pass, 1=fail.

Input parameters:

- `code` (string, required): Source code to scan.
- `fail_on` (string): Fail if any finding at this severity or above. Default: high
- `file_path` (string): Optional file path for context.
- `language` (string): Optional programming language hint.
- `max_findings` (integer): Optional absolute cap on finding count.
- `warn_on` (string): Warn if findings at this severity. Default: medium

### `scan_files` (~39 tokens)

Scan multiple files in one call. Returns findings grouped by file with a summary of total findings.

Input parameters:

- `files` (array, required): List of files to scan.

### `scan_diff` (~59 tokens)

Scan a unified diff (e.g. from git diff) for vulnerabilities. Only added lines are scanned; findings have correct line numbers and file paths from the diff context.

Input parameters:

- `diff` (string, required): Unified diff text (e.g. from git diff).

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/sparkvibe-io-guardianshield/guardianshield#diagnostics

## Score history

- 2026-08-03: 21
- 2026-08-02: 36
- 2026-08-01: 21
- 2026-07-31: 26
- 2026-07-29: 44
- 2026-07-28: 44
- 2026-07-27: 44
- 2026-07-26: 44

## Links

- PyPI project: https://pypi.org/project/guardianshield/
- Socket report: https://socket.dev/pypi/package/guardianshield
- Repository: https://github.com/sparkvibe-io/GuardianShield
- Changelog RSS feed: https://verifymcp.io/servers/sparkvibe-io-guardianshield/guardianshield/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/sparkvibe-io-guardianshield/guardianshield/changelog.json
- HTML version of this page: https://verifymcp.io/servers/sparkvibe-io-guardianshield/guardianshield
