Skip to main content

A defense-in-depth security layer for LLM agents

Project description

armor

armor is the Python package and CLI for the broader armor project, a defense-in-depth security layer for LLM agents. It sits between your agent and its inputs, outputs, and tool calls, then blocks common prompt injection, canary exfiltration, obfuscation, jailbreak, tool-abuse, and multi-turn attack patterns before they reach the user or host tools.

This package is published as armor-ai because the bare armor package name is used by an unrelated project. The Python import name and CLI remain armor.

Install

pip install armor-ai

Start the daemon:

armor daemon --socket /tmp/armor.sock --db /tmp/armor.db

Run a quick input check:

echo "ignore previous instructions" | armor check input --socket /tmp/armor.sock --session-id demo

Python SDK

from armor import ArmorClient

client = ArmorClient(socket_path="/tmp/armor.sock")
verdict = client.check_input("ignore previous instructions", session_id="demo")

if verdict.blocked:
    print("blocked")

Async clients and integration examples for Anthropic, OpenAI, LangChain, Claude Code hooks, and custom agents are available in the project repository. The repository also contains the Docker path, architecture docs, full spec, and maintainer workflows; this PyPI page focuses on the installable Python package.

What armor checks

  • User input: instruction overrides, jailbreak templates, encoding requests, prompt-injection phrasing, and topic shifts.
  • Model output: canary leakage, encoded payloads, suspicious destinations, entropy spikes, and multi-turn partial exfiltration.
  • Tool calls: parameter-schema violations, dangerous shell commands, command injection patterns, rate anomalies, and tool-chain abuse.
  • Sessions: rolling risk scoring, state escalation, cooldown, and operator unblock audit records.

Preview status

armor is a public preview, not a v1.0 production guarantee. The core daemon, CLI, SDK, Docker path, detector pipeline, and forensic logging are implemented, but v1.0 readiness still requires broader external validation, real-service SDK example verification, and additional detection-floor evidence.

Important limitations:

  • It defends in-band prompt and tool-call attacks, not host compromise.
  • The validator LLM fails open on timeout to protect availability.
  • The evaluation corpus is English-heavy.
  • There is no built-in web UI.
  • It assumes one trusted-agent-fleet boundary per daemon.

Project links

License

armor is licensed under the PolyForm Noncommercial License 1.0.0.

Commercial use requires a separate commercial license. Contact licensing@taylorguard.me.

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

armor_ai-0.10.3.tar.gz (153.3 kB view details)

Uploaded Source

Built Distribution

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

armor_ai-0.10.3-py3-none-any.whl (168.9 kB view details)

Uploaded Python 3

File details

Details for the file armor_ai-0.10.3.tar.gz.

File metadata

  • Download URL: armor_ai-0.10.3.tar.gz
  • Upload date:
  • Size: 153.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for armor_ai-0.10.3.tar.gz
Algorithm Hash digest
SHA256 3616e60e65ceb62c0fddc44183b1706bcd7f28e8a021e95ff31f86dfe84c8da1
MD5 b93c157854d58978d3d22b09cd0bc9f1
BLAKE2b-256 39db780b93663fa3287d13e7f36fc4a757e47379ad540ee6f5eb45f53d7ca770

See more details on using hashes here.

Provenance

The following attestation bundles were made for armor_ai-0.10.3.tar.gz:

Publisher: release.yml on tkdtaylor/armor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file armor_ai-0.10.3-py3-none-any.whl.

File metadata

  • Download URL: armor_ai-0.10.3-py3-none-any.whl
  • Upload date:
  • Size: 168.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for armor_ai-0.10.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a37d0542f6c7b73f15416a41573f32bd8c483e4ed20a672c1a8325ab19e2467c
MD5 1874fd69dea22ac3c329d1aaca24c792
BLAKE2b-256 22b23d0b1e2bde1aaca32715940cd7fc606e3a73ad6afd33c1881af9596074db

See more details on using hashes here.

Provenance

The following attestation bundles were made for armor_ai-0.10.3-py3-none-any.whl:

Publisher: release.yml on tkdtaylor/armor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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