BLA
BLA (Blind LLM Agents) is the open-source Blue Defense MCP and CLI built to protect software artifacts against automated AI reverse-engineering workflows.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Tamper-evident receipts for AI agents: signed, hash-chained and verifiable offline by anyone. Open-core CLI and verifier (MIT) plus paid Cloud anchoring.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Tamper-evident receipts for autonomous agents.
jaredklopstein.github.io/provenant ·
@lacre/core ·
@lacre/verifier
Agents write structured receipts of every consequential action they take. Provenant hash-chains and signs them, so anyone can later prove the record was not altered — and see exactly which record was, if one was.
Agents are the users. Humans read this during incidents, audits and security reviews. The write path is designed for agents; the read path for humans.
provenant init --json
provenant record --action refund.issue \
--action-detail '{"customer_id":"c_8812","amount_usd":42.50}' \
--side-effect-class irreversible \
--idempotency-key refund-c_8812-0001 --json
provenant chain verify --json
Trying it? The packages are not on npm yet, so run Provenant from a source checkout: Getting started from source covers clone and build, a first receipt, and an offline check of a real anchored bundle.
Free — Provenant Core (MIT):
null and a stated
reason — never as a flattering 0--json on every command, and a self-describing manifestCommands: init, keygen, agent register, agent list, record,
chain verify, chain head, receipts query, anchor now, anchor list,
discover. Unknown options are rejected, not ignored — a mistyped flag
could otherwise change what gets recorded — so the documented shorthands
(--agent, --from, --to) are real aliases and every alias is listed in
discover.
Free — provenant-verify (MIT): standalone offline bundle verification,
including full RFC 3161 timestamp checking. Verifying is never paywalled.
Paid — Provenant Cloud: RFC 3161 anchoring against a real timestamp authority, and evidence bundle export (JSON, PDF, HTML).
Partly built, and not to be presented as working — the collector
authenticates correctly (RFC 9421, with replay and body-swap rejection tested)
but POST /receipts is a documented "not implemented"; and invoice computation
is real while nothing has ever called Stripe. Details in
packages/cloud/README.md.
Not built yet: contracts and approvals (Phase 3); leases and fencing tokens (Phase 4); MCP adapter (Phase 5).
# free: record and verify locally
provenant record --action refund.issue --action-detail '{"amount_usd":42}' --json
provenant chain verify --json
# paid: anchor to an authority you don't control, then export evidence
provenant-cloud anchor now --backend tsa --json
provenant-cloud bundle export --format both --out evidence.json --json
# anyone, offline, with no Provenant server and no commercial code
node packages/verifier/bin/lacre-verify.mjs evidence.json --trust digicert-root.pem
A self-hosted chain is self-attested. It proves internal consistency. It does
not prove the operator left history alone — an operator with database access
could rewrite everything, including the verification output that says everything
is fine. chain verify says so in its own response, every time.
That gap is the product boundary. External anchoring (paid) commits the chain head to an RFC 3161 timestamp authority the operator does not control, which is what turns a log into evidence. We are not withholding a feature; we are selling the one property a local system physically cannot provide about itself.
How seriously we take this: packages/cloud/test/forgery.test.ts models an
adversary with full database access, the append-only triggers dropped, and the
agents' signing keys. It rebuilds the entire chain — every hash relinked, every
receipt re-signed — and confirms local verification is completely fooled. Then it
confirms the anchored bundle still fails, because the one thing the adversary
cannot forge is the authority's signature. See
ADR 0003.
The local append-only database triggers stop application bugs and accidents, not a determined operator. Do not oversell them.
draft-sharif-agent-audit-trail may change. We pin the version we implement
and document exactly where we diverge (see
ADR 0002) — notably we default to Ed25519
where the draft specifies ECDSA P-256, so we claim alignment, not
conformance.anchored_through_seq and warns about
un-anchored receipts rather than letting "anchored: true" imply more than it
should.agent list derives per-agent contract-violation, lease-expiry and
approval-escalation rates. Two design choices worth knowing:
Unmeasurable is null, never 0. Contracts are Phase 3 and leases are
Phase 4, so those rates cannot be computed yet. Reporting 0.0 would render a
flawless compliance record for an agent nobody has ever checked — precisely the
flattering false signal this product exists to prevent. A null carries a
plain-language reason instead.
The numbers describe self-reported conduct. They are derived from receipts the agent chose to write. An agent that silently declines to record its failures will look perfect. Receipts make recorded behaviour tamper-evident; they cannot make unrecorded behaviour visible. Useful for spotting a degrading agent, useless against a deliberately deceptive one — and that caveat ships inside the response, not just here.
| Local chain | Anchored chain | |
|---|---|---|
| Detects casual tampering | yes | yes |
| Detects a full rebuild by the operator | no | yes |
| Detects backdating after the anchor | no | yes |
| Detects truncation of the un-anchored tail | no | no |
That last row is why Cloud anchors continuously: new receipts are batched and
the chain head is anchored at most every 15 minutes, which bounds the forgeable
window to 15 minutes. The CLI says so in anchor list output rather than
leaving you to work it out.
packages/
core/ MIT. Receipts, chaining, identity, CLI, local verify.
verifier/ MIT. Standalone offline verifier. Zero cloud, zero core.
cloud/ Commercial. Anchoring, bundles, collector, billing.
core must never import cloud. verifier must never import either, and must
not import a network module. This is enforced by
scripts/check-boundaries.mjs as the first CI step, not by convention — see
ADR 0001 for why the verifier's
independence is stricter than it strictly had to be.
fix block with
ready-to-execute arguments and state whether the action executed.next_actions carries fully-formed
calls with ids filled in, not endpoint names.--fields, --depth,
explicit truncated.Everything needed to operate this service is in one unauthenticated call:
provenant discover --json
It returns the full action list with input/output JSON Schemas, the error code
table with fix shapes, pagination conventions, and a literal ordered quickstart
from nothing to a first verified receipt. If an agent needs this README, the
manifest is incomplete — that is a bug in the manifest.
Reference clients: TypeScript · Python
pnpm install
pnpm run ci # boundaries, typecheck, tests
Test-first is mandatory for anything touching the hash chain, fencing tokens, idempotency or signature verification. Those are the only places correctness genuinely matters, and the places where a bug destroys the product's credibility.
core and verifier are MIT. cloud is commercial — see
packages/cloud/LICENSE.commercial.