Skip to content

Releases: zoahdev/kinegrant-protocol

KineGrant Protocol v0.1.1

Choose a tag to compare

@zoahdev zoahdev released this 10 Aug 15:39
2f0fc37

KineGrant Protocol reference implementation v0.1.1

This security-hardening release implements KGP-001 Experimental Open Draft 0.1. It remains experimental and must not be used as the sole safety control for real machinery.

Security hardening

  • Trust no policy issuer by default; untrusted rules cannot grant permission.
  • Fail closed on unknown or incomplete ODRL/MyTerms authorization semantics.
  • Evaluate request freshness and policy validity against trusted local time.
  • Bind capabilities to a digest of the complete normalized policy snapshot.
  • Enforce strict capability fields, version, time ordering, 300-second maximum TTL, nonce, digest, and request binding.
  • Atomically consume capabilities once, with persistent SQLite replay protection across restarts.
  • Require gate-verified capabilities for receipt creation and enforce trusted executors and one terminal receipt per capability.
  • Protect adapter-owned context and validate runtime models strictly.
  • Publish five Draft 2020-12 JSON Schemas and expanded threat-model and implementation guidance.

Validation

  • 33 unit, schema, adapter, replay, capability, policy-trust, and receipt-trust tests passed.
  • Python 3.11, 3.12, and 3.13 GitHub Actions passed.
  • Demo smoke test passed.
  • Wheel and sdist builds passed.

Compatibility and boundaries

The protocol wire format remains 0.1; only the Python reference implementation version changes to 0.1.1. Existing permissive integrations may need explicit trusted issuers, supported authorization constraints, durable replay storage, and trusted executor configuration.

License: Apache-2.0. Verify downloadable assets with SHA256SUMS.txt.

KineGrant Protocol v0.1.0

Choose a tag to compare

@zoahdev zoahdev released this 10 Aug 13:41
40592ed

KineGrant Protocol v0.1.0 is the first public experimental draft and reference implementation.

Highlights

  • KGP-001 core authorization protocol draft
  • Ed25519-signed, short-lived, one-time physical-action capabilities
  • deny-overrides policy evaluation and local replay protection
  • signed, hash-chained action receipts
  • conservative adapters for W3C ODRL, Web of Things, IEEE 7012, ROS 2, OPC UA, and Matter boundaries
  • threat model, standards mapping, roadmap, contribution guide, and security policy
  • 12 security and interoperability tests across Python 3.11, 3.12, and 3.13

Status

This release is experimental. It is not a functional-safety system and must not be used as the sole safety control for real machinery. Production use requires persistent replay state, revocation, secure time, hardware-backed keys, independent review, and a gate inside the trusted actuator path.

KineGrant Machine Permission Test v0.1

Choose a tag to compare

@zoahdev zoahdev released this 10 Aug 16:11
0e84cd2

KineGrant Machine Permission Test v0.1

This release turns the KGP-001 Challenge into a reproducible software permission-boundary test with machine-readable evidence.

Required assertions

  1. No capability means zero actuator calls.
  2. A valid capability authorizes exactly one actuator call.
  3. Reusing a consumed capability is denied.
  4. Changing agent, target, action, or purpose is denied.
  5. A capability from an untrusted issuer is denied.
  6. A capability is denied at its exact expiry.
  7. Exactly one of 64 concurrent consumers wins.
  8. Persistent replay state survives a gate restart.
  9. Trusted receipts verify; tampered and untrusted receipts do not.

Evidence and provenance

The JSON evidence records an explicit PASS/FAIL for every case, actual sandbox actuator-call counts, the tested source commit, a SHA-256 digest of the runner, and the Python/runtime environment. The independent verifier checks the Draft 2020-12 Schema, required and unique case IDs, summary consistency, and overall-result consistency.

The included reference run reports 9/9 PASS against commit 0e84cd2b53e8bfe0b8c147fb9feb62c91aac30ed. It is a published reference artifact, not a substitute for independent reproduction.

Run

python -m pip install -e '.[test]'
kinegrant-mpt --source-commit "$(git rev-parse HEAD)" --output machine-permission-test.evidence.json
python challenge/verify_evidence.py machine-permission-test.evidence.json

This is a software authorization test. It does not prove functional safety, physical actuation, or independent physical truth. KGP-001 remains an experimental open draft.

Verify all downloadable assets with SHA256SUMS.txt.