@wazir-dev/cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +111 -0
- package/CHANGELOG.md +14 -0
- package/CONTRIBUTING.md +101 -0
- package/LICENSE +21 -0
- package/README.md +314 -0
- package/assets/composition-engine.mmd +34 -0
- package/assets/demo-script.sh +17 -0
- package/assets/logo-dark.svg +14 -0
- package/assets/logo.svg +14 -0
- package/assets/pipeline.mmd +39 -0
- package/assets/record-demo.sh +51 -0
- package/docs/README.md +51 -0
- package/docs/adapters/context-mode.md +60 -0
- package/docs/concepts/architecture.md +87 -0
- package/docs/concepts/artifact-model.md +60 -0
- package/docs/concepts/composition-engine.md +36 -0
- package/docs/concepts/indexing-and-recall.md +160 -0
- package/docs/concepts/observability.md +41 -0
- package/docs/concepts/roles-and-workflows.md +59 -0
- package/docs/concepts/terminology-policy.md +27 -0
- package/docs/getting-started/01-installation.md +78 -0
- package/docs/getting-started/02-first-run.md +102 -0
- package/docs/getting-started/03-adding-to-project.md +15 -0
- package/docs/getting-started/04-host-setup.md +15 -0
- package/docs/guides/ci-integration.md +15 -0
- package/docs/guides/creating-skills.md +15 -0
- package/docs/guides/expertise-module-authoring.md +15 -0
- package/docs/guides/hook-development.md +15 -0
- package/docs/guides/memory-and-learnings.md +34 -0
- package/docs/guides/multi-host-export.md +15 -0
- package/docs/guides/troubleshooting.md +101 -0
- package/docs/guides/writing-custom-roles.md +15 -0
- package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
- package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
- package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
- package/docs/readmes/INDEX.md +99 -0
- package/docs/readmes/features/expertise/README.md +171 -0
- package/docs/readmes/features/exports/README.md +222 -0
- package/docs/readmes/features/hooks/README.md +103 -0
- package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
- package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
- package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
- package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
- package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
- package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
- package/docs/readmes/features/hooks/session-start.md +119 -0
- package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
- package/docs/readmes/features/roles/README.md +157 -0
- package/docs/readmes/features/roles/clarifier.md +152 -0
- package/docs/readmes/features/roles/content-author.md +190 -0
- package/docs/readmes/features/roles/designer.md +193 -0
- package/docs/readmes/features/roles/executor.md +184 -0
- package/docs/readmes/features/roles/learner.md +210 -0
- package/docs/readmes/features/roles/planner.md +182 -0
- package/docs/readmes/features/roles/researcher.md +164 -0
- package/docs/readmes/features/roles/reviewer.md +184 -0
- package/docs/readmes/features/roles/specifier.md +162 -0
- package/docs/readmes/features/roles/verifier.md +215 -0
- package/docs/readmes/features/schemas/README.md +178 -0
- package/docs/readmes/features/skills/README.md +63 -0
- package/docs/readmes/features/skills/brainstorming.md +96 -0
- package/docs/readmes/features/skills/debugging.md +148 -0
- package/docs/readmes/features/skills/design.md +120 -0
- package/docs/readmes/features/skills/prepare-next.md +109 -0
- package/docs/readmes/features/skills/run-audit.md +159 -0
- package/docs/readmes/features/skills/scan-project.md +109 -0
- package/docs/readmes/features/skills/self-audit.md +176 -0
- package/docs/readmes/features/skills/tdd.md +137 -0
- package/docs/readmes/features/skills/using-skills.md +92 -0
- package/docs/readmes/features/skills/verification.md +120 -0
- package/docs/readmes/features/skills/writing-plans.md +104 -0
- package/docs/readmes/features/tooling/README.md +320 -0
- package/docs/readmes/features/workflows/README.md +186 -0
- package/docs/readmes/features/workflows/author.md +181 -0
- package/docs/readmes/features/workflows/clarify.md +154 -0
- package/docs/readmes/features/workflows/design-review.md +171 -0
- package/docs/readmes/features/workflows/design.md +169 -0
- package/docs/readmes/features/workflows/discover.md +162 -0
- package/docs/readmes/features/workflows/execute.md +173 -0
- package/docs/readmes/features/workflows/learn.md +167 -0
- package/docs/readmes/features/workflows/plan-review.md +165 -0
- package/docs/readmes/features/workflows/plan.md +170 -0
- package/docs/readmes/features/workflows/prepare-next.md +167 -0
- package/docs/readmes/features/workflows/review.md +169 -0
- package/docs/readmes/features/workflows/run-audit.md +191 -0
- package/docs/readmes/features/workflows/spec-challenge.md +159 -0
- package/docs/readmes/features/workflows/specify.md +160 -0
- package/docs/readmes/features/workflows/verify.md +177 -0
- package/docs/readmes/packages/README.md +50 -0
- package/docs/readmes/packages/ajv.md +117 -0
- package/docs/readmes/packages/context-mode.md +118 -0
- package/docs/readmes/packages/gray-matter.md +116 -0
- package/docs/readmes/packages/node-test.md +137 -0
- package/docs/readmes/packages/yaml.md +112 -0
- package/docs/reference/configuration-reference.md +159 -0
- package/docs/reference/expertise-index.md +52 -0
- package/docs/reference/git-flow.md +43 -0
- package/docs/reference/hooks.md +87 -0
- package/docs/reference/host-exports.md +50 -0
- package/docs/reference/launch-checklist.md +172 -0
- package/docs/reference/marketplace-listings.md +76 -0
- package/docs/reference/release-process.md +34 -0
- package/docs/reference/roles-reference.md +77 -0
- package/docs/reference/skills.md +33 -0
- package/docs/reference/templates.md +29 -0
- package/docs/reference/tooling-cli.md +94 -0
- package/docs/truth-claims.yaml +222 -0
- package/expertise/PROGRESS.md +63 -0
- package/expertise/README.md +18 -0
- package/expertise/antipatterns/PROGRESS.md +56 -0
- package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
- package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
- package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
- package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
- package/expertise/antipatterns/backend/index.md +24 -0
- package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
- package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
- package/expertise/antipatterns/code/async-antipatterns.md +622 -0
- package/expertise/antipatterns/code/code-smells.md +1186 -0
- package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
- package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
- package/expertise/antipatterns/code/index.md +27 -0
- package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
- package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
- package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
- package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
- package/expertise/antipatterns/design/dark-patterns.md +1121 -0
- package/expertise/antipatterns/design/index.md +22 -0
- package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
- package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
- package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
- package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
- package/expertise/antipatterns/frontend/index.md +23 -0
- package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
- package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
- package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
- package/expertise/antipatterns/index.md +31 -0
- package/expertise/antipatterns/performance/index.md +20 -0
- package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
- package/expertise/antipatterns/performance/premature-optimization.md +623 -0
- package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
- package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
- package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
- package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
- package/expertise/antipatterns/process/index.md +23 -0
- package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
- package/expertise/antipatterns/security/index.md +20 -0
- package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
- package/expertise/antipatterns/security/security-theater.md +843 -0
- package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
- package/expertise/architecture/PROGRESS.md +70 -0
- package/expertise/architecture/data/caching-architecture.md +671 -0
- package/expertise/architecture/data/data-consistency.md +574 -0
- package/expertise/architecture/data/data-modeling.md +536 -0
- package/expertise/architecture/data/event-streams-and-queues.md +634 -0
- package/expertise/architecture/data/index.md +25 -0
- package/expertise/architecture/data/search-architecture.md +663 -0
- package/expertise/architecture/data/sql-vs-nosql.md +708 -0
- package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
- package/expertise/architecture/decisions/build-vs-buy.md +616 -0
- package/expertise/architecture/decisions/index.md +23 -0
- package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
- package/expertise/architecture/decisions/technology-selection.md +616 -0
- package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
- package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
- package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
- package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
- package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
- package/expertise/architecture/distributed/index.md +25 -0
- package/expertise/architecture/distributed/saga-pattern.md +797 -0
- package/expertise/architecture/foundations/architectural-thinking.md +460 -0
- package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
- package/expertise/architecture/foundations/design-principles-solid.md +649 -0
- package/expertise/architecture/foundations/domain-driven-design.md +719 -0
- package/expertise/architecture/foundations/index.md +25 -0
- package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
- package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
- package/expertise/architecture/index.md +34 -0
- package/expertise/architecture/integration/api-design-graphql.md +638 -0
- package/expertise/architecture/integration/api-design-grpc.md +804 -0
- package/expertise/architecture/integration/api-design-rest.md +892 -0
- package/expertise/architecture/integration/index.md +25 -0
- package/expertise/architecture/integration/third-party-integration.md +795 -0
- package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
- package/expertise/architecture/integration/websockets-realtime.md +791 -0
- package/expertise/architecture/mobile-architecture/index.md +22 -0
- package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
- package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
- package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
- package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
- package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
- package/expertise/architecture/patterns/event-driven.md +797 -0
- package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
- package/expertise/architecture/patterns/index.md +27 -0
- package/expertise/architecture/patterns/layered-architecture.md +736 -0
- package/expertise/architecture/patterns/microservices.md +753 -0
- package/expertise/architecture/patterns/modular-monolith.md +692 -0
- package/expertise/architecture/patterns/monolith.md +626 -0
- package/expertise/architecture/patterns/plugin-architecture.md +735 -0
- package/expertise/architecture/patterns/serverless.md +780 -0
- package/expertise/architecture/scaling/database-scaling.md +615 -0
- package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
- package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
- package/expertise/architecture/scaling/index.md +24 -0
- package/expertise/architecture/scaling/multi-tenancy.md +800 -0
- package/expertise/architecture/scaling/stateless-design.md +787 -0
- package/expertise/backend/embedded-firmware.md +625 -0
- package/expertise/backend/go.md +853 -0
- package/expertise/backend/index.md +24 -0
- package/expertise/backend/java-spring.md +448 -0
- package/expertise/backend/node-typescript.md +625 -0
- package/expertise/backend/python-fastapi.md +724 -0
- package/expertise/backend/rust.md +458 -0
- package/expertise/backend/solidity.md +711 -0
- package/expertise/composition-map.yaml +443 -0
- package/expertise/content/foundations/content-modeling.md +395 -0
- package/expertise/content/foundations/editorial-standards.md +449 -0
- package/expertise/content/foundations/index.md +24 -0
- package/expertise/content/foundations/microcopy.md +455 -0
- package/expertise/content/foundations/terminology-governance.md +509 -0
- package/expertise/content/index.md +34 -0
- package/expertise/content/patterns/accessibility-copy.md +518 -0
- package/expertise/content/patterns/index.md +24 -0
- package/expertise/content/patterns/notification-content.md +433 -0
- package/expertise/content/patterns/sample-content.md +486 -0
- package/expertise/content/patterns/state-copy.md +439 -0
- package/expertise/design/PROGRESS.md +58 -0
- package/expertise/design/disciplines/dark-mode-theming.md +577 -0
- package/expertise/design/disciplines/design-systems.md +595 -0
- package/expertise/design/disciplines/index.md +25 -0
- package/expertise/design/disciplines/information-architecture.md +800 -0
- package/expertise/design/disciplines/interaction-design.md +788 -0
- package/expertise/design/disciplines/responsive-design.md +552 -0
- package/expertise/design/disciplines/usability-testing.md +516 -0
- package/expertise/design/disciplines/user-research.md +792 -0
- package/expertise/design/foundations/accessibility-design.md +796 -0
- package/expertise/design/foundations/color-theory.md +797 -0
- package/expertise/design/foundations/iconography.md +795 -0
- package/expertise/design/foundations/index.md +26 -0
- package/expertise/design/foundations/motion-and-animation.md +653 -0
- package/expertise/design/foundations/rtl-design.md +585 -0
- package/expertise/design/foundations/spacing-and-layout.md +607 -0
- package/expertise/design/foundations/typography.md +800 -0
- package/expertise/design/foundations/visual-hierarchy.md +761 -0
- package/expertise/design/index.md +32 -0
- package/expertise/design/patterns/authentication-flows.md +474 -0
- package/expertise/design/patterns/content-consumption.md +789 -0
- package/expertise/design/patterns/data-display.md +618 -0
- package/expertise/design/patterns/e-commerce.md +1494 -0
- package/expertise/design/patterns/feedback-and-states.md +642 -0
- package/expertise/design/patterns/forms-and-input.md +819 -0
- package/expertise/design/patterns/gamification.md +801 -0
- package/expertise/design/patterns/index.md +31 -0
- package/expertise/design/patterns/microinteractions.md +449 -0
- package/expertise/design/patterns/navigation.md +800 -0
- package/expertise/design/patterns/notifications.md +705 -0
- package/expertise/design/patterns/onboarding.md +700 -0
- package/expertise/design/patterns/search-and-filter.md +601 -0
- package/expertise/design/patterns/settings-and-preferences.md +768 -0
- package/expertise/design/patterns/social-and-community.md +748 -0
- package/expertise/design/platforms/desktop-native.md +612 -0
- package/expertise/design/platforms/index.md +25 -0
- package/expertise/design/platforms/mobile-android.md +825 -0
- package/expertise/design/platforms/mobile-cross-platform.md +983 -0
- package/expertise/design/platforms/mobile-ios.md +699 -0
- package/expertise/design/platforms/tablet.md +794 -0
- package/expertise/design/platforms/web-dashboard.md +790 -0
- package/expertise/design/platforms/web-responsive.md +550 -0
- package/expertise/design/psychology/behavioral-nudges.md +449 -0
- package/expertise/design/psychology/cognitive-load.md +1191 -0
- package/expertise/design/psychology/error-psychology.md +778 -0
- package/expertise/design/psychology/index.md +22 -0
- package/expertise/design/psychology/persuasive-design.md +736 -0
- package/expertise/design/psychology/user-mental-models.md +623 -0
- package/expertise/design/tooling/open-pencil.md +266 -0
- package/expertise/frontend/angular.md +1073 -0
- package/expertise/frontend/desktop-electron.md +546 -0
- package/expertise/frontend/flutter.md +782 -0
- package/expertise/frontend/index.md +27 -0
- package/expertise/frontend/native-android.md +409 -0
- package/expertise/frontend/native-ios.md +490 -0
- package/expertise/frontend/react-native.md +1160 -0
- package/expertise/frontend/react.md +808 -0
- package/expertise/frontend/vue.md +1089 -0
- package/expertise/humanize/domain-rules-code.md +79 -0
- package/expertise/humanize/domain-rules-content.md +67 -0
- package/expertise/humanize/domain-rules-technical-docs.md +56 -0
- package/expertise/humanize/index.md +35 -0
- package/expertise/humanize/self-audit-checklist.md +87 -0
- package/expertise/humanize/sentence-patterns.md +218 -0
- package/expertise/humanize/vocabulary-blacklist.md +105 -0
- package/expertise/i18n/PROGRESS.md +65 -0
- package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
- package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
- package/expertise/i18n/advanced/complex-scripts.md +30 -0
- package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
- package/expertise/i18n/advanced/testing-i18n.md +28 -0
- package/expertise/i18n/content/content-adaptation.md +23 -0
- package/expertise/i18n/content/locale-specific-formatting.md +23 -0
- package/expertise/i18n/content/machine-translation-integration.md +28 -0
- package/expertise/i18n/content/translation-management.md +29 -0
- package/expertise/i18n/foundations/date-time-calendars.md +67 -0
- package/expertise/i18n/foundations/i18n-architecture.md +272 -0
- package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
- package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
- package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
- package/expertise/i18n/foundations/string-externalization.md +236 -0
- package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
- package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
- package/expertise/i18n/index.md +38 -0
- package/expertise/i18n/platform/backend-i18n.md +31 -0
- package/expertise/i18n/platform/flutter-i18n.md +148 -0
- package/expertise/i18n/platform/native-android-i18n.md +36 -0
- package/expertise/i18n/platform/native-ios-i18n.md +36 -0
- package/expertise/i18n/platform/react-i18n.md +103 -0
- package/expertise/i18n/platform/web-css-i18n.md +81 -0
- package/expertise/i18n/rtl/arabic-specific.md +175 -0
- package/expertise/i18n/rtl/hebrew-specific.md +149 -0
- package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
- package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
- package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
- package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
- package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
- package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
- package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
- package/expertise/i18n/rtl/rtl-typography.md +160 -0
- package/expertise/index.md +113 -0
- package/expertise/index.yaml +216 -0
- package/expertise/infrastructure/cloud-aws.md +597 -0
- package/expertise/infrastructure/cloud-gcp.md +599 -0
- package/expertise/infrastructure/cybersecurity.md +816 -0
- package/expertise/infrastructure/database-mongodb.md +447 -0
- package/expertise/infrastructure/database-postgres.md +400 -0
- package/expertise/infrastructure/devops-cicd.md +787 -0
- package/expertise/infrastructure/index.md +27 -0
- package/expertise/performance/PROGRESS.md +50 -0
- package/expertise/performance/backend/api-latency.md +1204 -0
- package/expertise/performance/backend/background-jobs.md +506 -0
- package/expertise/performance/backend/connection-pooling.md +1209 -0
- package/expertise/performance/backend/database-query-optimization.md +515 -0
- package/expertise/performance/backend/index.md +23 -0
- package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
- package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
- package/expertise/performance/foundations/caching-strategies.md +489 -0
- package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
- package/expertise/performance/foundations/index.md +24 -0
- package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
- package/expertise/performance/foundations/memory-management.md +964 -0
- package/expertise/performance/foundations/performance-budgets.md +1314 -0
- package/expertise/performance/index.md +31 -0
- package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
- package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
- package/expertise/performance/infrastructure/index.md +22 -0
- package/expertise/performance/infrastructure/load-balancing.md +1081 -0
- package/expertise/performance/infrastructure/observability.md +1079 -0
- package/expertise/performance/mobile/index.md +23 -0
- package/expertise/performance/mobile/mobile-animations.md +544 -0
- package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
- package/expertise/performance/mobile/mobile-network.md +452 -0
- package/expertise/performance/mobile/mobile-rendering.md +599 -0
- package/expertise/performance/mobile/mobile-startup-time.md +505 -0
- package/expertise/performance/platform-specific/flutter-performance.md +647 -0
- package/expertise/performance/platform-specific/index.md +22 -0
- package/expertise/performance/platform-specific/node-performance.md +1307 -0
- package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
- package/expertise/performance/platform-specific/react-performance.md +1403 -0
- package/expertise/performance/web/bundle-optimization.md +1239 -0
- package/expertise/performance/web/image-and-media.md +636 -0
- package/expertise/performance/web/index.md +24 -0
- package/expertise/performance/web/network-optimization.md +1133 -0
- package/expertise/performance/web/rendering-performance.md +1098 -0
- package/expertise/performance/web/ssr-and-hydration.md +918 -0
- package/expertise/performance/web/web-vitals.md +1374 -0
- package/expertise/quality/accessibility.md +985 -0
- package/expertise/quality/evidence-based-verification.md +499 -0
- package/expertise/quality/index.md +24 -0
- package/expertise/quality/ml-model-audit.md +614 -0
- package/expertise/quality/performance.md +600 -0
- package/expertise/quality/testing-api.md +891 -0
- package/expertise/quality/testing-mobile.md +496 -0
- package/expertise/quality/testing-web.md +849 -0
- package/expertise/security/PROGRESS.md +54 -0
- package/expertise/security/agentic-identity.md +540 -0
- package/expertise/security/compliance-frameworks.md +601 -0
- package/expertise/security/data/data-encryption.md +364 -0
- package/expertise/security/data/data-privacy-gdpr.md +692 -0
- package/expertise/security/data/database-security.md +1171 -0
- package/expertise/security/data/index.md +22 -0
- package/expertise/security/data/pii-handling.md +531 -0
- package/expertise/security/foundations/authentication.md +1041 -0
- package/expertise/security/foundations/authorization.md +603 -0
- package/expertise/security/foundations/cryptography.md +1001 -0
- package/expertise/security/foundations/index.md +25 -0
- package/expertise/security/foundations/owasp-top-10.md +1354 -0
- package/expertise/security/foundations/secrets-management.md +1217 -0
- package/expertise/security/foundations/secure-sdlc.md +700 -0
- package/expertise/security/foundations/supply-chain-security.md +698 -0
- package/expertise/security/index.md +31 -0
- package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
- package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
- package/expertise/security/infrastructure/container-security.md +721 -0
- package/expertise/security/infrastructure/incident-response.md +1295 -0
- package/expertise/security/infrastructure/index.md +24 -0
- package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
- package/expertise/security/infrastructure/network-security.md +1337 -0
- package/expertise/security/mobile/index.md +23 -0
- package/expertise/security/mobile/mobile-android-security.md +1218 -0
- package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
- package/expertise/security/mobile/mobile-data-storage.md +1265 -0
- package/expertise/security/mobile/mobile-ios-security.md +1401 -0
- package/expertise/security/mobile/mobile-network-security.md +1520 -0
- package/expertise/security/smart-contract-security.md +594 -0
- package/expertise/security/testing/index.md +22 -0
- package/expertise/security/testing/penetration-testing.md +1258 -0
- package/expertise/security/testing/security-code-review.md +1765 -0
- package/expertise/security/testing/threat-modeling.md +1074 -0
- package/expertise/security/testing/vulnerability-scanning.md +1062 -0
- package/expertise/security/web/api-security.md +586 -0
- package/expertise/security/web/cors-and-headers.md +433 -0
- package/expertise/security/web/csrf.md +562 -0
- package/expertise/security/web/file-upload.md +1477 -0
- package/expertise/security/web/index.md +25 -0
- package/expertise/security/web/injection.md +1375 -0
- package/expertise/security/web/session-management.md +1101 -0
- package/expertise/security/web/xss.md +1158 -0
- package/exports/README.md +17 -0
- package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
- package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
- package/exports/hosts/claude/.claude/agents/designer.md +55 -0
- package/exports/hosts/claude/.claude/agents/executor.md +55 -0
- package/exports/hosts/claude/.claude/agents/learner.md +51 -0
- package/exports/hosts/claude/.claude/agents/planner.md +53 -0
- package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
- package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
- package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
- package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
- package/exports/hosts/claude/.claude/commands/author.md +42 -0
- package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
- package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
- package/exports/hosts/claude/.claude/commands/design.md +44 -0
- package/exports/hosts/claude/.claude/commands/discover.md +37 -0
- package/exports/hosts/claude/.claude/commands/execute.md +48 -0
- package/exports/hosts/claude/.claude/commands/learn.md +38 -0
- package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
- package/exports/hosts/claude/.claude/commands/plan.md +39 -0
- package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
- package/exports/hosts/claude/.claude/commands/review.md +40 -0
- package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
- package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
- package/exports/hosts/claude/.claude/commands/specify.md +38 -0
- package/exports/hosts/claude/.claude/commands/verify.md +37 -0
- package/exports/hosts/claude/.claude/settings.json +34 -0
- package/exports/hosts/claude/CLAUDE.md +19 -0
- package/exports/hosts/claude/export.manifest.json +38 -0
- package/exports/hosts/claude/host-package.json +67 -0
- package/exports/hosts/codex/AGENTS.md +19 -0
- package/exports/hosts/codex/export.manifest.json +38 -0
- package/exports/hosts/codex/host-package.json +41 -0
- package/exports/hosts/cursor/.cursor/hooks.json +16 -0
- package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
- package/exports/hosts/cursor/export.manifest.json +38 -0
- package/exports/hosts/cursor/host-package.json +42 -0
- package/exports/hosts/gemini/GEMINI.md +19 -0
- package/exports/hosts/gemini/export.manifest.json +38 -0
- package/exports/hosts/gemini/host-package.json +41 -0
- package/hooks/README.md +18 -0
- package/hooks/definitions/loop_cap_guard.yaml +21 -0
- package/hooks/definitions/post_tool_capture.yaml +24 -0
- package/hooks/definitions/pre_compact_summary.yaml +19 -0
- package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
- package/hooks/definitions/protected_path_write_guard.yaml +19 -0
- package/hooks/definitions/session_start.yaml +19 -0
- package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
- package/hooks/loop-cap-guard +17 -0
- package/hooks/post-tool-lint +36 -0
- package/hooks/protected-path-write-guard +17 -0
- package/hooks/session-start +41 -0
- package/llms-full.txt +2355 -0
- package/llms.txt +43 -0
- package/package.json +79 -0
- package/roles/README.md +20 -0
- package/roles/clarifier.md +42 -0
- package/roles/content-author.md +63 -0
- package/roles/designer.md +55 -0
- package/roles/executor.md +55 -0
- package/roles/learner.md +51 -0
- package/roles/planner.md +53 -0
- package/roles/researcher.md +43 -0
- package/roles/reviewer.md +54 -0
- package/roles/specifier.md +47 -0
- package/roles/verifier.md +71 -0
- package/schemas/README.md +24 -0
- package/schemas/accepted-learning.schema.json +20 -0
- package/schemas/author-artifact.schema.json +156 -0
- package/schemas/clarification.schema.json +19 -0
- package/schemas/design-artifact.schema.json +80 -0
- package/schemas/docs-claim.schema.json +18 -0
- package/schemas/export-manifest.schema.json +20 -0
- package/schemas/hook.schema.json +67 -0
- package/schemas/host-export-package.schema.json +18 -0
- package/schemas/implementation-plan.schema.json +19 -0
- package/schemas/proposed-learning.schema.json +19 -0
- package/schemas/research.schema.json +18 -0
- package/schemas/review.schema.json +29 -0
- package/schemas/run-manifest.schema.json +18 -0
- package/schemas/spec-challenge.schema.json +18 -0
- package/schemas/spec.schema.json +20 -0
- package/schemas/usage.schema.json +102 -0
- package/schemas/verification-proof.schema.json +29 -0
- package/schemas/wazir-manifest.schema.json +173 -0
- package/skills/README.md +40 -0
- package/skills/brainstorming/SKILL.md +77 -0
- package/skills/debugging/SKILL.md +50 -0
- package/skills/design/SKILL.md +61 -0
- package/skills/dispatching-parallel-agents/SKILL.md +128 -0
- package/skills/executing-plans/SKILL.md +70 -0
- package/skills/finishing-a-development-branch/SKILL.md +169 -0
- package/skills/humanize/SKILL.md +123 -0
- package/skills/init-pipeline/SKILL.md +124 -0
- package/skills/prepare-next/SKILL.md +20 -0
- package/skills/receiving-code-review/SKILL.md +123 -0
- package/skills/requesting-code-review/SKILL.md +105 -0
- package/skills/requesting-code-review/code-reviewer.md +108 -0
- package/skills/run-audit/SKILL.md +197 -0
- package/skills/scan-project/SKILL.md +41 -0
- package/skills/self-audit/SKILL.md +153 -0
- package/skills/subagent-driven-development/SKILL.md +154 -0
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/skills/subagent-driven-development/implementer-prompt.md +102 -0
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/tdd/SKILL.md +23 -0
- package/skills/using-git-worktrees/SKILL.md +163 -0
- package/skills/using-skills/SKILL.md +95 -0
- package/skills/verification/SKILL.md +22 -0
- package/skills/wazir/SKILL.md +463 -0
- package/skills/writing-plans/SKILL.md +30 -0
- package/skills/writing-skills/SKILL.md +157 -0
- package/skills/writing-skills/anthropic-best-practices.md +122 -0
- package/skills/writing-skills/persuasion-principles.md +50 -0
- package/templates/README.md +20 -0
- package/templates/artifacts/README.md +10 -0
- package/templates/artifacts/accepted-learning.md +19 -0
- package/templates/artifacts/accepted-learning.template.json +12 -0
- package/templates/artifacts/author.md +74 -0
- package/templates/artifacts/author.template.json +19 -0
- package/templates/artifacts/clarification.md +21 -0
- package/templates/artifacts/clarification.template.json +12 -0
- package/templates/artifacts/execute-notes.md +19 -0
- package/templates/artifacts/implementation-plan.md +21 -0
- package/templates/artifacts/implementation-plan.template.json +11 -0
- package/templates/artifacts/learning-proposal.md +19 -0
- package/templates/artifacts/next-run-handoff.md +21 -0
- package/templates/artifacts/plan-review.md +19 -0
- package/templates/artifacts/proposed-learning.template.json +12 -0
- package/templates/artifacts/research.md +21 -0
- package/templates/artifacts/research.template.json +12 -0
- package/templates/artifacts/review-findings.md +19 -0
- package/templates/artifacts/review.template.json +11 -0
- package/templates/artifacts/run-manifest.template.json +8 -0
- package/templates/artifacts/spec-challenge.md +19 -0
- package/templates/artifacts/spec-challenge.template.json +11 -0
- package/templates/artifacts/spec.md +21 -0
- package/templates/artifacts/spec.template.json +12 -0
- package/templates/artifacts/verification-proof.md +19 -0
- package/templates/artifacts/verification-proof.template.json +11 -0
- package/templates/examples/accepted-learning.example.json +14 -0
- package/templates/examples/author.example.json +152 -0
- package/templates/examples/clarification.example.json +15 -0
- package/templates/examples/docs-claim.example.json +8 -0
- package/templates/examples/export-manifest.example.json +7 -0
- package/templates/examples/host-export-package.example.json +11 -0
- package/templates/examples/implementation-plan.example.json +17 -0
- package/templates/examples/proposed-learning.example.json +13 -0
- package/templates/examples/research.example.json +15 -0
- package/templates/examples/research.example.md +6 -0
- package/templates/examples/review.example.json +17 -0
- package/templates/examples/run-manifest.example.json +9 -0
- package/templates/examples/spec-challenge.example.json +14 -0
- package/templates/examples/spec.example.json +21 -0
- package/templates/examples/verification-proof.example.json +21 -0
- package/templates/examples/wazir-manifest.example.yaml +65 -0
- package/templates/task-definition-schema.md +99 -0
- package/tooling/README.md +20 -0
- package/tooling/src/adapters/context-mode.js +50 -0
- package/tooling/src/capture/command.js +376 -0
- package/tooling/src/capture/store.js +99 -0
- package/tooling/src/capture/usage.js +270 -0
- package/tooling/src/checks/branches.js +50 -0
- package/tooling/src/checks/brand-truth.js +110 -0
- package/tooling/src/checks/changelog.js +231 -0
- package/tooling/src/checks/command-registry.js +36 -0
- package/tooling/src/checks/commits.js +102 -0
- package/tooling/src/checks/docs-drift.js +103 -0
- package/tooling/src/checks/docs-truth.js +201 -0
- package/tooling/src/checks/runtime-surface.js +156 -0
- package/tooling/src/cli.js +116 -0
- package/tooling/src/command-options.js +56 -0
- package/tooling/src/commands/validate.js +320 -0
- package/tooling/src/doctor/command.js +91 -0
- package/tooling/src/export/command.js +77 -0
- package/tooling/src/export/compiler.js +498 -0
- package/tooling/src/guards/loop-cap-guard.js +52 -0
- package/tooling/src/guards/protected-path-write-guard.js +67 -0
- package/tooling/src/index/command.js +152 -0
- package/tooling/src/index/storage.js +1061 -0
- package/tooling/src/index/summarizers.js +261 -0
- package/tooling/src/loaders.js +18 -0
- package/tooling/src/project-root.js +22 -0
- package/tooling/src/recall/command.js +225 -0
- package/tooling/src/schema-validator.js +30 -0
- package/tooling/src/state-root.js +40 -0
- package/tooling/src/status/command.js +71 -0
- package/wazir.manifest.yaml +135 -0
- package/workflows/README.md +19 -0
- package/workflows/author.md +42 -0
- package/workflows/clarify.md +38 -0
- package/workflows/design-review.md +46 -0
- package/workflows/design.md +44 -0
- package/workflows/discover.md +37 -0
- package/workflows/execute.md +48 -0
- package/workflows/learn.md +38 -0
- package/workflows/plan-review.md +42 -0
- package/workflows/plan.md +39 -0
- package/workflows/prepare-next.md +37 -0
- package/workflows/review.md +40 -0
- package/workflows/run-audit.md +41 -0
- package/workflows/spec-challenge.md +41 -0
- package/workflows/specify.md +38 -0
- package/workflows/verify.md +37 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Security Expertise Research Progress
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
- Total: 33
|
|
5
|
+
- Done: 33
|
|
6
|
+
- Remaining: 0
|
|
7
|
+
- Completed: 2026-03-08
|
|
8
|
+
|
|
9
|
+
## Modules
|
|
10
|
+
|
|
11
|
+
### Foundations
|
|
12
|
+
- [x] owasp-top-10.md — done 2026-03-08 (1354 lines)
|
|
13
|
+
- [x] authentication.md — done 2026-03-08 (1041 lines)
|
|
14
|
+
- [x] authorization.md — done 2026-03-08 (603 lines)
|
|
15
|
+
- [x] cryptography.md — done 2026-03-08 (1001 lines)
|
|
16
|
+
- [x] secrets-management.md — done 2026-03-08 (1217 lines)
|
|
17
|
+
- [x] supply-chain-security.md — done 2026-03-08 (744 lines)
|
|
18
|
+
- [x] secure-sdlc.md — done 2026-03-08 (1197 lines)
|
|
19
|
+
|
|
20
|
+
### Web
|
|
21
|
+
- [x] xss.md — done 2026-03-08 (1158 lines)
|
|
22
|
+
- [x] csrf.md — done 2026-03-08 (562 lines)
|
|
23
|
+
- [x] injection.md — done 2026-03-08 (1375 lines)
|
|
24
|
+
- [x] cors-and-headers.md — done 2026-03-08 (433 lines)
|
|
25
|
+
- [x] session-management.md — done 2026-03-08 (1101 lines)
|
|
26
|
+
- [x] file-upload.md — done 2026-03-08 (1477 lines)
|
|
27
|
+
- [x] api-security.md — done 2026-03-08 (586 lines)
|
|
28
|
+
|
|
29
|
+
### Mobile
|
|
30
|
+
- [x] mobile-ios-security.md — done 2026-03-08 (1401 lines)
|
|
31
|
+
- [x] mobile-android-security.md — done 2026-03-08 (1218 lines)
|
|
32
|
+
- [x] mobile-data-storage.md — done 2026-03-08 (1265 lines)
|
|
33
|
+
- [x] mobile-network-security.md — done 2026-03-08 (1520 lines)
|
|
34
|
+
- [x] mobile-binary-protection.md — done 2026-03-08 (1229 lines)
|
|
35
|
+
|
|
36
|
+
### Infrastructure
|
|
37
|
+
- [x] container-security.md — done 2026-03-08 (721 lines)
|
|
38
|
+
- [x] cloud-security-aws.md — done 2026-03-08 (1296 lines)
|
|
39
|
+
- [x] cloud-security-gcp.md — done 2026-03-08 (1376 lines)
|
|
40
|
+
- [x] network-security.md — done 2026-03-08 (1337 lines)
|
|
41
|
+
- [x] logging-and-monitoring.md — done 2026-03-08 (1618 lines)
|
|
42
|
+
- [x] incident-response.md — done 2026-03-08 (1295 lines)
|
|
43
|
+
|
|
44
|
+
### Data
|
|
45
|
+
- [x] data-privacy-gdpr.md — done 2026-03-08 (692 lines)
|
|
46
|
+
- [x] data-encryption.md — done 2026-03-08 (364 lines)
|
|
47
|
+
- [x] database-security.md — done 2026-03-08 (1171 lines)
|
|
48
|
+
- [x] pii-handling.md — done 2026-03-08 (531 lines)
|
|
49
|
+
|
|
50
|
+
### Testing
|
|
51
|
+
- [x] penetration-testing.md — done 2026-03-08 (1258 lines)
|
|
52
|
+
- [x] security-code-review.md — done 2026-03-08 (1765 lines)
|
|
53
|
+
- [x] vulnerability-scanning.md — done 2026-03-08 (1062 lines)
|
|
54
|
+
- [x] threat-modeling.md — done 2026-03-08 (1074 lines)
|
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
# Agentic Identity & Trust -- Expertise Module
|
|
2
|
+
|
|
3
|
+
> Agent-to-agent identity is an unsolved problem in production systems. Traditional PKI assumes human-operated endpoints, but autonomous AI agents operate without human-in-the-loop approval for every action. This module covers cryptographic identity, trust scoring, delegation chains, and zero-trust principles for multi-agent architectures.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Authority and Context
|
|
8
|
+
|
|
9
|
+
The 2024-2026 explosion of autonomous AI agents -- from Microsoft AutoGen and LangChain
|
|
10
|
+
multi-agent pipelines to custom orchestration frameworks -- has created a new class of
|
|
11
|
+
identity and authorization problems. NIST SP 800-207 (Zero Trust Architecture, 2020)
|
|
12
|
+
established that no network location grants implicit trust, but it was written for
|
|
13
|
+
human-operated systems. OWASP Top 10 for LLM Applications (2025) identifies insecure
|
|
14
|
+
agent delegation and insufficient output validation as critical risks, yet provides no
|
|
15
|
+
cryptographic identity framework for agents.
|
|
16
|
+
|
|
17
|
+
Agents are not users. They cannot type passwords or pass CAPTCHA challenges, and they
|
|
18
|
+
operate at machine speed across trust boundaries. A compromised agent exfiltrates data
|
|
19
|
+
orders of magnitude faster than a compromised human account. Microsoft AutoGen's security
|
|
20
|
+
model relies on process isolation but does not define inter-agent cryptographic identity.
|
|
21
|
+
LangChain's security guidelines focus on prompt injection defense but leave agent identity
|
|
22
|
+
to the deployer. Neither framework provides a standard for proving which agent performed
|
|
23
|
+
which action -- the foundational requirement for accountability in autonomous systems.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Cryptographic Agent Identity
|
|
28
|
+
|
|
29
|
+
Every agent must have a provable, non-forgeable identity. Ed25519 provides the right
|
|
30
|
+
trade-offs: 64-byte signatures, fast verification, deterministic signing, and resistance
|
|
31
|
+
to timing side-channels.
|
|
32
|
+
|
|
33
|
+
### Keypair Lifecycle
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
import { ed25519 } from '@noble/curves/ed25519';
|
|
37
|
+
import { sha256 } from '@noble/hashes/sha256';
|
|
38
|
+
import { bytesToHex } from '@noble/hashes/utils';
|
|
39
|
+
|
|
40
|
+
// Generate agent identity
|
|
41
|
+
const privateKey = ed25519.utils.randomPrivateKey();
|
|
42
|
+
const publicKey = ed25519.getPublicKey(privateKey);
|
|
43
|
+
const agentId = bytesToHex(sha256(publicKey)).slice(0, 32);
|
|
44
|
+
|
|
45
|
+
// Sign an action
|
|
46
|
+
const message = new TextEncoder().encode(JSON.stringify({
|
|
47
|
+
action: 'write_file',
|
|
48
|
+
target: 'src/main.ts',
|
|
49
|
+
timestamp: Date.now(),
|
|
50
|
+
}));
|
|
51
|
+
const signature = ed25519.sign(message, privateKey);
|
|
52
|
+
|
|
53
|
+
// Verify
|
|
54
|
+
const isValid = ed25519.verify(signature, message, publicKey);
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Credential Lifecycle
|
|
58
|
+
|
|
59
|
+
| Phase | What Happens | Failure Mode |
|
|
60
|
+
|-------|-------------|--------------|
|
|
61
|
+
| **Generation** | Agent creates Ed25519 keypair at first boot. Private key never leaves the runtime. | Weak entropy produces predictable keys. |
|
|
62
|
+
| **Registration** | Agent submits public key + metadata to the orchestrator. Orchestrator records agentId <-> role <-> capabilities. | Unverified registration allows impersonation. |
|
|
63
|
+
| **Rotation** | Agent generates new keypair, signs new public key with old private key, submits signed rotation request. | Delayed rotation extends compromise window. |
|
|
64
|
+
| **Revocation** | Orchestrator publishes revoked agentId to all peers. Revocation is irreversible. | Missing propagation allows continued use. |
|
|
65
|
+
|
|
66
|
+
### Key Storage Options
|
|
67
|
+
|
|
68
|
+
| Environment | Storage | Trade-off |
|
|
69
|
+
|-------------|---------|-----------|
|
|
70
|
+
| Development | Encrypted file on disk (`~/.wazir/keys/`) | Convenient, vulnerable to disk access |
|
|
71
|
+
| Staging | OS keychain (macOS Keychain, Linux keyring) | Process-isolated, accessible to root |
|
|
72
|
+
| Production | Hardware Security Module (HSM) or cloud KMS | Keys never leave hardware; signing latency |
|
|
73
|
+
| High-security | Trusted Execution Environment (TEE) | Attestation-backed; complex provisioning |
|
|
74
|
+
|
|
75
|
+
### Lightweight JSON Credential
|
|
76
|
+
|
|
77
|
+
X.509 certificates are overweight for agent identity. Agents need a minimal credential:
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
interface AgentCredential {
|
|
81
|
+
version: 1;
|
|
82
|
+
agentId: string; // SHA-256(publicKey).slice(0, 32)
|
|
83
|
+
publicKey: string; // Hex-encoded Ed25519 public key
|
|
84
|
+
role: string; // e.g., 'executor', 'verifier', 'reviewer'
|
|
85
|
+
capabilities: string[]; // e.g., ['file:read', 'file:write', 'tool:execute']
|
|
86
|
+
issuedAt: string; // ISO 8601 timestamp
|
|
87
|
+
expiresAt: string; // ISO 8601 timestamp
|
|
88
|
+
issuer: string; // Orchestrator's agentId
|
|
89
|
+
issuerSignature: string; // Orchestrator signs the credential fields
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
The orchestrator signs credentials at issuance. Any peer verifies by checking the
|
|
94
|
+
issuer's signature against the orchestrator's known public key. Credential expiry forces
|
|
95
|
+
periodic re-registration, limiting the blast radius of a compromised key.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Trust Scoring Model
|
|
100
|
+
|
|
101
|
+
Trust must be asymmetric: easy to lose, hard to regain. The model is penalty-based --
|
|
102
|
+
agents start at full trust and lose it through violations.
|
|
103
|
+
|
|
104
|
+
### Trust Event Table
|
|
105
|
+
|
|
106
|
+
| Event | Trust Impact | Rationale |
|
|
107
|
+
|-------|-------------|-----------|
|
|
108
|
+
| Baseline (new agent) | 1.0 | Default trust until proven otherwise |
|
|
109
|
+
| Successful verified task | +0.0 | Trust is the default, not a reward |
|
|
110
|
+
| Failed verification | -0.10 | Output did not match claims |
|
|
111
|
+
| Unauthorized action | -0.30 | Attempted scope violation |
|
|
112
|
+
| Credential expiry ignored | -0.20 | Hygiene failure |
|
|
113
|
+
| Peer verification passed | +0.05 | Cross-validated by another agent |
|
|
114
|
+
| Trust recovery (after penalty) | +0.02/task | Slow rebuild after violation |
|
|
115
|
+
| Tampered evidence record | -0.50 | Integrity violation -- most severe |
|
|
116
|
+
|
|
117
|
+
### Implementation
|
|
118
|
+
|
|
119
|
+
```typescript
|
|
120
|
+
interface TrustEvent {
|
|
121
|
+
type: string;
|
|
122
|
+
impact: number;
|
|
123
|
+
timestamp: string;
|
|
124
|
+
evidence: string; // Reference to EvidenceRecord ID
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
interface TrustScore {
|
|
128
|
+
agentId: string;
|
|
129
|
+
score: number; // 0.0 - 1.0
|
|
130
|
+
history: TrustEvent[];
|
|
131
|
+
status: 'active' | 'restricted' | 'suspended';
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
function updateTrust(current: TrustScore, event: TrustEvent): TrustScore {
|
|
135
|
+
const newScore = Math.max(0, Math.min(1.0, current.score + event.impact));
|
|
136
|
+
const status = newScore >= 0.5 ? 'active'
|
|
137
|
+
: newScore >= 0.3 ? 'restricted'
|
|
138
|
+
: 'suspended';
|
|
139
|
+
return { ...current, score: newScore, status, history: [...current.history, event] };
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
| Status | Score Range | Allowed Actions |
|
|
144
|
+
|--------|-----------|-----------------|
|
|
145
|
+
| `active` | 0.50 - 1.00 | Full capabilities as defined in credential |
|
|
146
|
+
| `restricted` | 0.30 - 0.49 | Read-only; writes require co-signing by a trusted peer |
|
|
147
|
+
| `suspended` | 0.00 - 0.29 | No actions; must re-register with orchestrator approval |
|
|
148
|
+
|
|
149
|
+
**Why +0.0 for successful tasks:** Rewarding routine success inflates scores, making
|
|
150
|
+
penalties meaningless. Trust is a ceiling, not a currency to stockpile.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Delegation Chains
|
|
155
|
+
|
|
156
|
+
Agents delegate authority to other agents. Each hop must narrow scope -- never widen it.
|
|
157
|
+
|
|
158
|
+
```typescript
|
|
159
|
+
interface Permission {
|
|
160
|
+
resource: string; // e.g., 'file:src/**', 'tool:git', 'api:github'
|
|
161
|
+
actions: string[]; // e.g., ['read', 'write', 'execute']
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
interface Delegation {
|
|
165
|
+
delegator: string; // Agent ID granting permission
|
|
166
|
+
delegate: string; // Agent ID receiving permission
|
|
167
|
+
scope: Permission[]; // What they can do
|
|
168
|
+
constraints: {
|
|
169
|
+
maxDepth: number; // How many re-delegations allowed
|
|
170
|
+
expiresAt: string; // ISO timestamp
|
|
171
|
+
conditions: string[];// Contextual restrictions
|
|
172
|
+
};
|
|
173
|
+
signature: string; // Delegator's Ed25519 signature
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// Scope MUST narrow at each hop (never widen)
|
|
177
|
+
// Depth MUST decrement (prevent infinite chains)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Chain Verification Algorithm
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
function verifyDelegationChain(
|
|
184
|
+
chain: Delegation[],
|
|
185
|
+
requestedAction: Permission,
|
|
186
|
+
agentRegistry: Map<string, AgentCredential>,
|
|
187
|
+
): { valid: boolean; reason?: string } {
|
|
188
|
+
if (chain.length === 0) return { valid: false, reason: 'Empty chain' };
|
|
189
|
+
const now = new Date().toISOString();
|
|
190
|
+
|
|
191
|
+
for (let i = 0; i < chain.length; i++) {
|
|
192
|
+
const d = chain[i];
|
|
193
|
+
const cred = agentRegistry.get(d.delegator);
|
|
194
|
+
if (!cred) return { valid: false, reason: `Unknown delegator: ${d.delegator}` };
|
|
195
|
+
|
|
196
|
+
// Verify signature over delegation payload
|
|
197
|
+
const payload = new TextEncoder().encode(
|
|
198
|
+
JSON.stringify({ delegate: d.delegate, scope: d.scope, constraints: d.constraints })
|
|
199
|
+
);
|
|
200
|
+
if (!ed25519.verify(hexToBytes(d.signature), payload, hexToBytes(cred.publicKey))) {
|
|
201
|
+
return { valid: false, reason: `Invalid signature at hop ${i}` };
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
if (d.constraints.expiresAt < now)
|
|
205
|
+
return { valid: false, reason: `Expired at hop ${i}` };
|
|
206
|
+
if (i > 0 && chain[i - 1].constraints.maxDepth <= 0)
|
|
207
|
+
return { valid: false, reason: `Depth exceeded at hop ${i}` };
|
|
208
|
+
if (i > 0 && !isScopeSubset(d.scope, chain[i - 1].scope))
|
|
209
|
+
return { valid: false, reason: `Scope widened at hop ${i}` };
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
const finalScope = chain[chain.length - 1].scope;
|
|
213
|
+
if (!isScopeSubset([requestedAction], finalScope))
|
|
214
|
+
return { valid: false, reason: 'Action not covered by delegation scope' };
|
|
215
|
+
return { valid: true };
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
function isScopeSubset(child: Permission[], parent: Permission[]): boolean {
|
|
219
|
+
return child.every(cp =>
|
|
220
|
+
parent.some(pp => pp.resource === cp.resource
|
|
221
|
+
&& cp.actions.every(a => pp.actions.includes(a)))
|
|
222
|
+
);
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Delegation Rules
|
|
227
|
+
|
|
228
|
+
1. **Scope narrows at every hop.** A delegate cannot grant permissions it does not hold.
|
|
229
|
+
2. **Depth decrements.** `maxDepth: 2` allows re-delegation with `maxDepth: 1`. At 0, no
|
|
230
|
+
further re-delegation.
|
|
231
|
+
3. **Expiry propagates.** A child delegation cannot outlive its parent.
|
|
232
|
+
4. **Revocation cascades.** Revoking a delegator invalidates all downstream delegations.
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Evidence Records
|
|
237
|
+
|
|
238
|
+
Every action produces an append-only evidence record. Records form a hash chain -- each
|
|
239
|
+
references the previous record's hash, making tampering detectable.
|
|
240
|
+
|
|
241
|
+
```typescript
|
|
242
|
+
interface EvidenceRecord {
|
|
243
|
+
id: string; // UUID v4
|
|
244
|
+
timestamp: string; // ISO 8601
|
|
245
|
+
agentId: string; // Who performed the action
|
|
246
|
+
action: string; // What was done (e.g., 'file:write:src/main.ts')
|
|
247
|
+
inputHash: string; // SHA-256 of input
|
|
248
|
+
outputHash: string; // SHA-256 of output
|
|
249
|
+
parentHash: string; // Previous record hash (chain integrity)
|
|
250
|
+
delegationRef: string;// Which delegation authorized this
|
|
251
|
+
signature: string; // Agent's Ed25519 signature over all fields above
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Chain Integrity Verification
|
|
256
|
+
|
|
257
|
+
```typescript
|
|
258
|
+
function verifyEvidenceChain(
|
|
259
|
+
records: EvidenceRecord[],
|
|
260
|
+
agentRegistry: Map<string, AgentCredential>,
|
|
261
|
+
): { valid: boolean; brokenAt?: number; reason?: string } {
|
|
262
|
+
for (let i = 0; i < records.length; i++) {
|
|
263
|
+
const r = records[i];
|
|
264
|
+
const cred = agentRegistry.get(r.agentId);
|
|
265
|
+
if (!cred) return { valid: false, brokenAt: i, reason: 'Unknown agent' };
|
|
266
|
+
|
|
267
|
+
// Verify signature over record payload (all fields except signature)
|
|
268
|
+
const payload = new TextEncoder().encode(JSON.stringify({
|
|
269
|
+
id: r.id, timestamp: r.timestamp, agentId: r.agentId, action: r.action,
|
|
270
|
+
inputHash: r.inputHash, outputHash: r.outputHash,
|
|
271
|
+
parentHash: r.parentHash, delegationRef: r.delegationRef,
|
|
272
|
+
}));
|
|
273
|
+
if (!ed25519.verify(hexToBytes(r.signature), payload, hexToBytes(cred.publicKey)))
|
|
274
|
+
return { valid: false, brokenAt: i, reason: 'Invalid signature' };
|
|
275
|
+
|
|
276
|
+
// Verify hash chain linkage
|
|
277
|
+
if (i > 0) {
|
|
278
|
+
const prevHash = bytesToHex(sha256(
|
|
279
|
+
new TextEncoder().encode(JSON.stringify(records[i - 1]))
|
|
280
|
+
));
|
|
281
|
+
if (r.parentHash !== prevHash)
|
|
282
|
+
return { valid: false, brokenAt: i, reason: 'Broken hash chain' };
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
return { valid: true };
|
|
286
|
+
}
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Evidence Rules
|
|
290
|
+
|
|
291
|
+
1. **Append-only.** Records are never modified or deleted.
|
|
292
|
+
2. **Signed at creation.** Late signing is a trust penalty (-0.10).
|
|
293
|
+
3. **Chain integrity.** Each `parentHash` must match the SHA-256 of the preceding record.
|
|
294
|
+
4. **Delegation binding.** Every record references its authorizing delegation.
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Zero-Trust Principles for Multi-Agent Systems
|
|
299
|
+
|
|
300
|
+
Six principles adapting NIST SP 800-207 for agent-to-agent communication.
|
|
301
|
+
|
|
302
|
+
### Principle 1: Never Trust Self-Reported Identity
|
|
303
|
+
|
|
304
|
+
Identity must be verified cryptographically via challenge-response:
|
|
305
|
+
|
|
306
|
+
```typescript
|
|
307
|
+
function verifyIdentity(
|
|
308
|
+
claimedId: string,
|
|
309
|
+
challenge: Uint8Array,
|
|
310
|
+
response: Uint8Array,
|
|
311
|
+
registry: Map<string, AgentCredential>,
|
|
312
|
+
): boolean {
|
|
313
|
+
const cred = registry.get(claimedId);
|
|
314
|
+
if (!cred || cred.expiresAt < new Date().toISOString()) return false;
|
|
315
|
+
return ed25519.verify(response, challenge, hexToBytes(cred.publicKey));
|
|
316
|
+
}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Principle 2: Verify Every Action Against Delegation Scope
|
|
320
|
+
|
|
321
|
+
"This agent has been trusted in the past" is not authorization for the current action.
|
|
322
|
+
Every action is checked against the active delegation chain.
|
|
323
|
+
|
|
324
|
+
### Principle 3: Fail Closed
|
|
325
|
+
|
|
326
|
+
Signature mismatch, expired credential, or scope violation means **deny**. No grace
|
|
327
|
+
periods, no fallback to permissive mode.
|
|
328
|
+
|
|
329
|
+
### Principle 4: Assume Compromise of Any Single Agent
|
|
330
|
+
|
|
331
|
+
Design every protocol assuming exactly one agent is compromised at any time. This drives
|
|
332
|
+
delegation scope limits, evidence integrity, and revocation propagation.
|
|
333
|
+
|
|
334
|
+
### Principle 5: Log Everything, Verify Independently
|
|
335
|
+
|
|
336
|
+
Verification of evidence records is performed by an independent agent, not the agent
|
|
337
|
+
that produced the output. Self-verification is not verification.
|
|
338
|
+
|
|
339
|
+
### Principle 6: No Implicit Trust from Proximity
|
|
340
|
+
|
|
341
|
+
Same machine, same process, same container -- none of these imply trust. Each agent
|
|
342
|
+
presents credentials regardless of deployment topology.
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## Cross-Framework Federation
|
|
347
|
+
|
|
348
|
+
Agents from different frameworks must establish trust without a shared identity provider.
|
|
349
|
+
|
|
350
|
+
### Framework Identity Mechanisms (Current State)
|
|
351
|
+
|
|
352
|
+
| Framework | Identity Mechanism | Delegation Model | Evidence/Audit |
|
|
353
|
+
|-----------|--------------------|-------------------|----------------|
|
|
354
|
+
| Microsoft AutoGen | Process isolation, no crypto identity | Implicit orchestrator control | Conversation logging |
|
|
355
|
+
| LangChain/LangGraph | None built-in | Tool-level allow/deny lists | LangSmith tracing (optional) |
|
|
356
|
+
| CrewAI | Role-based string names | Hierarchical, no scope narrowing | Task output logging |
|
|
357
|
+
| OpenAI Assistants API | API key scoping per assistant | Function calling permissions | Run step logging |
|
|
358
|
+
| Custom orchestrators | Varies -- most lack crypto identity | Varies | Varies |
|
|
359
|
+
|
|
360
|
+
### Federation Protocol
|
|
361
|
+
|
|
362
|
+
```typescript
|
|
363
|
+
// Step 1: Credential exchange
|
|
364
|
+
interface FederationHandshake {
|
|
365
|
+
sourceFramework: string;
|
|
366
|
+
credential: AgentCredential;
|
|
367
|
+
supportedProtocols: string[]; // e.g., ['ed25519-challenge-v1']
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
// Step 2: Challenge-response
|
|
371
|
+
interface FederationChallenge {
|
|
372
|
+
nonce: string; // Random 32-byte hex
|
|
373
|
+
timestamp: string;
|
|
374
|
+
requesterAgentId: string;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
interface FederationResponse {
|
|
378
|
+
nonce: string;
|
|
379
|
+
responderAgentId: string;
|
|
380
|
+
signature: string; // Sign(nonce + timestamp + requesterAgentId)
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
// Step 3: Capability advertisement
|
|
384
|
+
interface CapabilityAdvertisement {
|
|
385
|
+
agentId: string;
|
|
386
|
+
capabilities: Permission[];
|
|
387
|
+
trustScore: number;
|
|
388
|
+
signature: string;
|
|
389
|
+
}
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
### Trust Bridging
|
|
393
|
+
|
|
394
|
+
1. **Mutual credential exchange** between framework orchestrators.
|
|
395
|
+
2. **Cross-signing** -- both orchestrators co-sign a federation agreement.
|
|
396
|
+
3. **Scoped delegation** -- cross-framework delegations are always more restrictive.
|
|
397
|
+
4. **Independent evidence** -- each framework maintains its own chain.
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
## Post-Quantum Readiness
|
|
402
|
+
|
|
403
|
+
Ed25519 is vulnerable to Shor's algorithm. NIST selected CRYSTALS-Dilithium (ML-DSA)
|
|
404
|
+
as the post-quantum signature standard in 2024.
|
|
405
|
+
|
|
406
|
+
| Phase | Timeline | Action |
|
|
407
|
+
|-------|---------|--------|
|
|
408
|
+
| **Prepare** | Now - 2027 | Add `version` field to AgentCredential. Dispatch verification by version. |
|
|
409
|
+
| **Hybrid** | 2027 - 2029 | Dual signatures: Ed25519 + ML-DSA. Protects against "harvest now, decrypt later." |
|
|
410
|
+
| **Mandatory** | 2030+ | Deprecate Ed25519-only. All credentials use ML-DSA. |
|
|
411
|
+
|
|
412
|
+
```typescript
|
|
413
|
+
interface HybridCredential extends AgentCredential {
|
|
414
|
+
version: 2;
|
|
415
|
+
classicalPublicKey: string; // Ed25519
|
|
416
|
+
pqPublicKey: string; // ML-DSA-65 (Dilithium3)
|
|
417
|
+
classicalSignature: string;
|
|
418
|
+
pqSignature: string;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
function verifyHybrid(cred: HybridCredential, payload: Uint8Array): boolean {
|
|
422
|
+
const classical = ed25519.verify(
|
|
423
|
+
hexToBytes(cred.classicalSignature), payload, hexToBytes(cred.classicalPublicKey));
|
|
424
|
+
const pq = mlDsa65.verify(
|
|
425
|
+
hexToBytes(cred.pqSignature), payload, hexToBytes(cred.pqPublicKey));
|
|
426
|
+
return classical && pq; // BOTH must be valid
|
|
427
|
+
}
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
**Size trade-off:** ML-DSA-65 signatures are 3,293 bytes (vs. 64 for Ed25519). For
|
|
431
|
+
agent-to-agent messages already measured in kilobytes, this is acceptable.
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
## Anti-Patterns
|
|
436
|
+
|
|
437
|
+
### AP-01: Shared Secrets Between Agents
|
|
438
|
+
|
|
439
|
+
All agents share the same API key. Compromise of one agent exposes the shared secret,
|
|
440
|
+
granting impersonation of every agent. **Fix:** Per-agent Ed25519 keypairs.
|
|
441
|
+
|
|
442
|
+
### AP-02: Trust-by-Proximity
|
|
443
|
+
|
|
444
|
+
Agents on the same machine skip verification. A supply chain attack or prompt injection
|
|
445
|
+
achieving code execution inherits trust of co-located agents. **Fix:** Verify credentials
|
|
446
|
+
regardless of deployment topology.
|
|
447
|
+
|
|
448
|
+
### AP-03: Self-Attestation
|
|
449
|
+
|
|
450
|
+
An agent signs its own credential. The signature is valid but meaningless -- no authority
|
|
451
|
+
vouches for the identity-to-capability binding. **Fix:** Orchestrator issues and signs
|
|
452
|
+
all credentials.
|
|
453
|
+
|
|
454
|
+
### AP-04: Permanent Delegation
|
|
455
|
+
|
|
456
|
+
Delegation tokens without expiry. Decommissioned agents retain authorization indefinitely.
|
|
457
|
+
**Fix:** Mandatory `expiresAt` on all delegations; maximum lifetime bounded by policy.
|
|
458
|
+
|
|
459
|
+
### AP-05: Trust Score Inflation
|
|
460
|
+
|
|
461
|
+
Rewarding routine tasks lets agents "farm" trust to absorb future violations. **Fix:**
|
|
462
|
+
Successful tasks award +0.0; trust is a ceiling, not a currency.
|
|
463
|
+
|
|
464
|
+
### AP-06: Bearer Tokens Without Binding
|
|
465
|
+
|
|
466
|
+
Tokens passed between agents with no cryptographic binding. A stolen token enables full
|
|
467
|
+
impersonation. **Fix:** Bind tokens to the delegate's public key; token is valid only
|
|
468
|
+
with a matching signature.
|
|
469
|
+
|
|
470
|
+
### AP-07: Symmetric Keys for Agent Identity
|
|
471
|
+
|
|
472
|
+
HMAC-based authentication cannot prove origin. If A and B share a key, B can forge
|
|
473
|
+
messages as A. No non-repudiation. **Fix:** Asymmetric signatures (Ed25519).
|
|
474
|
+
|
|
475
|
+
### AP-08: Logging Without Integrity Verification
|
|
476
|
+
|
|
477
|
+
Unsigned, unchained logs. A compromised agent modifies history to cover its tracks.
|
|
478
|
+
**Fix:** EvidenceRecord pattern with hash chains and per-record signatures.
|
|
479
|
+
|
|
480
|
+
### AP-09: Implicit Scope Inheritance
|
|
481
|
+
|
|
482
|
+
Delegates automatically inherit the delegator's full permission set. A verifier inherits
|
|
483
|
+
write access it should never have. **Fix:** Explicit `scope` on every delegation; chain
|
|
484
|
+
verification rejects scope widening.
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
## Self-Check Questions
|
|
489
|
+
|
|
490
|
+
### Identity
|
|
491
|
+
- [ ] Does every agent have a unique cryptographic keypair?
|
|
492
|
+
- [ ] Are credentials issued by a trusted authority (not self-signed)?
|
|
493
|
+
- [ ] Is there a credential expiry and rotation mechanism?
|
|
494
|
+
- [ ] Can a compromised agent's credential be revoked without affecting others?
|
|
495
|
+
|
|
496
|
+
### Trust
|
|
497
|
+
- [ ] Does the trust model penalize violations asymmetrically?
|
|
498
|
+
- [ ] Is routine success neutral (not rewarded)?
|
|
499
|
+
- [ ] Are restricted agents prevented from destructive actions?
|
|
500
|
+
|
|
501
|
+
### Delegation
|
|
502
|
+
- [ ] Does every delegation have explicit scope and expiry?
|
|
503
|
+
- [ ] Is scope narrowing enforced at every hop?
|
|
504
|
+
- [ ] Is re-delegation depth bounded?
|
|
505
|
+
- [ ] Does revoking a delegator cascade to downstream delegations?
|
|
506
|
+
|
|
507
|
+
### Evidence
|
|
508
|
+
- [ ] Is every action recorded in a signed, append-only chain?
|
|
509
|
+
- [ ] Are records hash-linked to the previous record?
|
|
510
|
+
- [ ] Is verification performed by an independent agent?
|
|
511
|
+
|
|
512
|
+
### Federation
|
|
513
|
+
- [ ] Is cross-framework identity verified via challenge-response?
|
|
514
|
+
- [ ] Are cross-framework delegations more restrictive than intra-framework?
|
|
515
|
+
|
|
516
|
+
---
|
|
517
|
+
|
|
518
|
+
## Cross-References
|
|
519
|
+
|
|
520
|
+
- **secrets-antipatterns** -- Agent private keys are secrets. Store and rotate accordingly.
|
|
521
|
+
- **security-theater** -- Self-attestation and trust-by-proximity are security theater.
|
|
522
|
+
- **distributed-systems-fundamentals** -- Agent communication faces the same network
|
|
523
|
+
unreliability and ordering challenges as any distributed system.
|
|
524
|
+
- **consensus-and-coordination** -- Multi-orchestrator deployments require consensus on
|
|
525
|
+
which credentials are valid.
|
|
526
|
+
|
|
527
|
+
---
|
|
528
|
+
|
|
529
|
+
## Sources
|
|
530
|
+
|
|
531
|
+
- [NIST SP 800-207: Zero Trust Architecture (2020)](https://csrc.nist.gov/publications/detail/sp/800-207/final)
|
|
532
|
+
- [OWASP Top 10 for LLM Applications (2025)](https://owasp.org/www-project-top-10-for-large-language-model-applications/)
|
|
533
|
+
- [Ed25519: High-speed high-security signatures (Bernstein et al., 2012)](https://ed25519.cr.yp.to/)
|
|
534
|
+
- [CRYSTALS-Dilithium / ML-DSA -- NIST PQC Standard (2024)](https://csrc.nist.gov/pubs/fips/204/final)
|
|
535
|
+
- [Microsoft AutoGen: Multi-Agent Conversation Framework](https://arxiv.org/abs/2308.08155)
|
|
536
|
+
- [LangChain Security Best Practices](https://python.langchain.com/docs/security/)
|
|
537
|
+
- [SPIFFE: Secure Production Identity Framework for Everyone](https://spiffe.io/)
|
|
538
|
+
- [Macaroons: Cookies with Contextual Caveats (Google Research)](https://research.google/pubs/macaroons-cookies-with-contextual-caveats-for-decentralized-authorization-in-the-cloud/)
|
|
539
|
+
- [The @noble/curves Library](https://github.com/paulmillr/noble-curves)
|
|
540
|
+
- [Migration to Post-Quantum Cryptography -- CISA](https://www.cisa.gov/quantum)
|