tibet-claw — Provenance & Safety Layer for AI Agents
OpenClaw gives AI hands. NanoClaw puts it in a box. Tibet-Claw demands a cryptographic fingerprint before it's allowed to move.
Audit is not an observation. It is a precondition.
The Problem
The Claw ecosystem (OpenClaw, NanoClaw, PicoClaw, ZeroClaw) has exploded — 211K+ GitHub stars, millions of deployments. These frameworks give AI agents real autonomy: shell access, file management, network calls, email, scheduling.
But autonomy without provenance is a liability:
- No data provenance for agent actions — what did the agent actually do?
- No audit trail — who asked it to do that, and why?
- Prompt injection vulnerabilities with no detection or logging
- Malicious skills with unknown provenance can be loaded and executed
- No tool access control audit — agents call whatever they want
512 known vulnerabilities in OpenClaw alone. The adoption is massive, the safety gap is real.
What tibet-claw Adds
tibet-claw wraps ANY Claw-family agent (or any autonomous agent) with full TIBET provenance. It does not replace your agent framework — it makes it auditable.
Architecture
[User] --> [Agent (OpenClaw/etc)] --> [tibet-claw wrapper] --> [Tool/Skill]
|
TIBET token:
ERIN: what the agent did
ERAAN: which tool, which skill
EROMHEEN: agent context, model, timestamp
ERACHTER: user intent vs agent action
Features
| Feature | What it does |
|---|---|
| Action Provenance | Every agent action (tool call, file access, network request, shell exec) becomes a TIBET token |
| Tool Call Auditing | Full input/output recording for every tool invocation |
| Skill Provenance | Verify skill source, hash, permissions before execution |
| Threat Detection | Detect privilege escalation, data exfiltration, prompt injection, boundary violations |
| Agent Boundaries | Enforce what an agent is allowed to do via policy |
| Trust Scoring | Dynamic trust score per agent based on action history |
Installation
pip install tibet-claw
With Rich output support:
pip install tibet-claw[full]
CLI Usage
# Concept overview and security context
tibet-claw info
# Full demo: simulates agent session with threats
tibet-claw demo
# Show threat detection rules
tibet-claw threats
# Guard statistics
tibet-claw status
Python API
from tibet_claw import AgentGuard, ActionRecord, SkillProfile
# Create guard for your agent
guard = AgentGuard(platform="openclaw", model="gpt-4")
# Record every agent action
record = guard.record_action(
agent_id="agent-sales-01",
action="tool_call",
tool="search_database",
input_data={"query": "SELECT * FROM customers"},
output_data={"rows": 150},
user_intent="Find customer list",
)
# record.tibet_token_id -> provenance token created
# Verify a skill before loading it
profile = guard.check_skill(
skill_name="email_sender",
skill_source="https://github.com/user/skills/email.py",
skill_hash="a1b2c3d4...",
)
if not profile.verified:
print(f"BLOCKED: {profile.threat_assessment}")
# Detect threats in recent activity
threats = guard.detect_threats("agent-sales-01")
for t in threats:
print(f"[{t.severity}] {t.threat_type}: {t.description}")
# Enforce boundaries
allowed = guard.enforce_boundary(
agent_id="agent-sales-01",
action="shell_exec",
policy={"allowed_actions": ["tool_call", "file_access"]},
)
# allowed = False -> shell_exec not in policy
# Full audit trail
trail = guard.audit_trail("agent-sales-01")
# Trust score (starts 0.5, adjusts based on behavior)
score = guard.agent_trust_score("agent-sales-01")
TIBET Token Structure
Every action produces a TIBET token with four layers:
- ERIN (what is IN it): The agent action, tool name, input/output hashes
- ERAAN (what it connects to): Agent identity (
jis:agent:xxx), skill source, previous action chain - EROMHEEN (context AROUND it): Agent platform, model, hostname, timestamp
- ERACHTER (what is BEHIND it): User intent, agent reasoning, safety assessment
Threat Detection Rules
| Threat Type | Trigger |
|---|---|
privilege_escalation |
Shell exec with sudo, rm -rf, chmod 777 |
data_exfiltration |
Network calls to unknown hosts after file access |
boundary_violation |
Agent accessing files outside its allowed boundary |
automation_abuse |
Same action repeated rapidly (>10 in 60s) |
skill_tampering |
Skill hash changed since first seen |
prompt_injection |
Known injection patterns in tool inputs |
TIBET Ecosystem
tibet-claw is part of the TIBET provenance ecosystem:
- tibet-core — Core provenance library
- tibet-soc — Security Operations Center (correlates tibet-claw events)
- tibet-audit — Compliance auditing
- tibet-db — Immutable database proxy
- IETF TIBET Draft — Standards track
License
MIT — Humotica / J. van de Meent, 2025
Credits
Designed by Jasper van de Meent. Built by Jasper and Root AI as part of HumoticaOS.
Stack-positie: Groep safety · Bootstrap = OSAPI-handshake naar tibet + jis (fail → snaft-rule + tibet-pol-rapport) · ← tibet-triage · tibet-cap-bus → · See STACK.md · See demo/golden-path/ for the spine end-to-end.
Enterprise
For private hub hosting, SLA support, custom integrations, or compliance guidance:
| Enterprise | enterprise@humotica.com |
| Support | support@humotica.com |
| Security | security@humotica.com |
See ENTERPRISE.md for details.
Metadata
Release files for tibet-claw 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tibet_claw-0.3.2.tar.gz | 19.7 kB | Without provenance | Details for tibet_claw-0.3.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tibet_claw-0.3.2-py3-none-any.whl | Python 3 | none | any | Details for tibet_claw-0.3.2-py3-none-any.whl |
Total release size: 40.9 kB
Release files / tibet_claw-0.3.2.tar.gz
| Download URL | tibet_claw-0.3.2.tar.gz |
|---|---|
| Size | 19.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0fc4965287b3aeaf5fe60ab25a4e1144faad7cb94574530d33202d9c943c0d93
|
|
BLAKE2b-256 checksum How to use checksums |
69270ffc3f4f3609bc200e1eea18fbb878d841d4cef374fb947bfaa61077be02
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / tibet_claw-0.3.2-py3-none-any.whl
| Download URL | tibet_claw-0.3.2-py3-none-any.whl |
|---|---|
| Size | 21.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a9572128d3cee93548cde263185ec9ebdd69b802abed588e13c569d1c9c84fe3
|
|
BLAKE2b-256 checksum How to use checksums |
12d11ce68d4b47bc63b5810dc4c41522a4845b9cd5b97abcb2d503749f9b4b1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for tibet-claw 0.3.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.