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.2.tar.gz (152.0 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.2-py3-none-any.whl (168.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: armor_ai-0.10.2.tar.gz
  • Upload date:
  • Size: 152.0 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.2.tar.gz
Algorithm Hash digest
SHA256 ce11f4dd9bb705229a8911978a7419de1979a376564cc76607117de0cc71228c
MD5 c87b82952145a39eb3da855085a83494
BLAKE2b-256 bb2c43c7a2997f39a8f76c9a462947ead9093e70b8d345c7ec234b3eff448f76

See more details on using hashes here.

Provenance

The following attestation bundles were made for armor_ai-0.10.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: armor_ai-0.10.2-py3-none-any.whl
  • Upload date:
  • Size: 168.2 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f08e6cacc5c66ca8a6112f67ffc493c28b707f158d6abf2cd8c0861ce8cf268a
MD5 c94b4370d00beaf5f74f7e386adf0030
BLAKE2b-256 1b7aa53fcbc5e6018969957f4866c661cfd4a4e37e39ac50f36f072d336f4a6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for armor_ai-0.10.2-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