universal-dev-standards 5.17.0 → 6.1.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/bin/uds.js +13 -135
- package/bundled/ai/options/commit-message/bilingual.ai.yaml +19 -1
- package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
- package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
- package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
- package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
- package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
- package/bundled/ai/standards/checkin-standards.ai.yaml +3 -3
- package/bundled/ai/standards/code-review.ai.yaml +2 -2
- package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
- package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
- package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
- package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
- package/bundled/ai/standards/documentation-writing-standards.ai.yaml +1 -1
- package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
- package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
- package/bundled/ai/standards/frontend-design-standards.ai.yaml +33 -3
- package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
- package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
- package/bundled/ai/standards/logging.ai.yaml +97 -3
- package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
- package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
- package/bundled/ai/standards/model-selection.ai.yaml +11 -2
- package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
- package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
- package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
- package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
- package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
- package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
- package/bundled/ai/standards/push-standards.ai.yaml +14 -3
- package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
- package/bundled/ai/standards/requirement-engineering.ai.yaml +42 -3
- package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
- package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
- package/bundled/ai/standards/security-testing.ai.yaml +13 -2
- package/bundled/ai/standards/self-review-protocol.ai.yaml +15 -10
- package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
- package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
- package/bundled/ai/standards/verification-evidence.ai.yaml +88 -5
- package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
- package/bundled/ai/standards/versioning.ai.yaml +32 -38
- package/bundled/core/acceptance-criteria-traceability.md +15 -5
- package/bundled/core/accessibility-standards.md +8 -4
- package/bundled/core/ai-friendly-architecture.md +1 -1
- package/bundled/core/ai-response-navigation.md +31 -3
- package/bundled/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/core/api-design-standards.md +92 -7
- package/bundled/core/audit-trail.md +119 -0
- package/bundled/core/behavior-snapshot.md +94 -7
- package/bundled/core/browser-compatibility-standards.md +15 -2
- package/bundled/core/checkin-standards.md +10 -3
- package/bundled/core/code-review-checklist.md +10 -2
- package/bundled/core/container-image-standards.md +97 -0
- package/bundled/core/context-aware-loading.md +2 -2
- package/bundled/core/cost-budget-test.md +1 -1
- package/bundled/core/cross-flow-regression.md +3 -2
- package/bundled/core/data-contract.md +104 -0
- package/bundled/core/data-migration-testing.md +90 -0
- package/bundled/core/data-pipeline.md +113 -0
- package/bundled/core/deprecation-standards.md +16 -2
- package/bundled/core/developer-memory.md +13 -8
- package/bundled/core/documentation-writing-standards.md +2 -2
- package/bundled/core/error-code-standards.md +4 -3
- package/bundled/core/feature-discovery-standards.md +191 -0
- package/bundled/core/flaky-test-management.md +1 -1
- package/bundled/core/flow-based-testing.md +3 -3
- package/bundled/core/forward-derivation-standards.md +33 -5
- package/bundled/core/frontend-design-standards.md +93 -4
- package/bundled/core/full-coverage-testing.md +72 -0
- package/bundled/core/git-worktree.md +4 -4
- package/bundled/core/guides/performance-guide.md +1 -1
- package/bundled/core/guides/security-guide.md +1 -1
- package/bundled/core/health-check-standards.md +2 -2
- package/bundled/core/iac-design-principles.md +97 -0
- package/bundled/core/incident-response.md +119 -0
- package/bundled/core/license-compliance.md +2 -0
- package/bundled/core/logging-standards.md +78 -2
- package/bundled/core/mock-boundary.md +54 -2
- package/bundled/core/model-provenance.md +181 -0
- package/bundled/core/model-selection.md +27 -2
- package/bundled/core/multi-environment-e2e-testing.md +195 -0
- package/bundled/core/packaging-standards.md +1 -0
- package/bundled/core/performance-standards.md +96 -2
- package/bundled/core/pii-classification.md +148 -0
- package/bundled/core/pipeline-security-gates.md +22 -2
- package/bundled/core/postmortem-standards.md +2 -0
- package/bundled/core/prd-standards.md +91 -0
- package/bundled/core/privacy-standards.md +14 -3
- package/bundled/core/product-metrics-standards.md +100 -0
- package/bundled/core/project-context-memory.md +8 -2
- package/bundled/core/prompt-regression.md +1 -1
- package/bundled/core/push-standards.md +82 -0
- package/bundled/core/refactoring-standards.md +44 -3
- package/bundled/core/replay-test.md +1 -1
- package/bundled/core/requirement-engineering.md +2 -2
- package/bundled/core/resource-cost-boundary.md +180 -0
- package/bundled/core/reverse-engineering-standards.md +66 -2
- package/bundled/core/runbook.md +113 -0
- package/bundled/core/schema-evolution.md +105 -0
- package/bundled/core/secret-management-standards.md +110 -0
- package/bundled/core/security-testing.md +26 -2
- package/bundled/core/self-review-protocol.md +15 -10
- package/bundled/core/skill-standard-alignment-check.md +53 -0
- package/bundled/core/slo-sli.md +109 -0
- package/bundled/core/smoke-test.md +1 -1
- package/bundled/core/tech-debt-standards.md +1 -1
- package/bundled/core/test-data-standards.md +2 -2
- package/bundled/core/user-journey-testing.md +102 -0
- package/bundled/core/user-story-mapping.md +96 -0
- package/bundled/core/verification-evidence.md +170 -10
- package/bundled/core/verification-oracle.md +167 -0
- package/bundled/core/versioning.md +133 -109
- package/bundled/locales/COVERAGE.md +94 -77
- package/bundled/locales/zh-CN/CHANGELOG.md +94 -6
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/MAINTENANCE.md +42 -661
- package/bundled/locales/zh-CN/README.md +25 -12
- package/bundled/locales/zh-CN/SECURITY.md +2 -2
- package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-CN/ai/options/commit-message/bilingual.ai.yaml +6 -1
- package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +239 -0
- package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-CN/core/container-security.md +535 -0
- package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
- package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
- package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-CN/core/cross-flow-regression.md +200 -0
- package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
- package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
- package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
- package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
- package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-CN/core/frontend-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/full-coverage-testing.md +269 -0
- package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
- package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
- package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
- package/bundled/locales/zh-CN/core/license-compliance.md +131 -0
- package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-CN/core/logging-standards.md +205 -7
- package/bundled/locales/zh-CN/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-CN/core/model-selection.md +28 -5
- package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-CN/core/packaging-standards.md +77 -5
- package/bundled/locales/zh-CN/core/pipeline-security-gates.md +146 -0
- package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
- package/bundled/locales/zh-CN/core/replay-test.md +102 -0
- package/bundled/locales/zh-CN/core/requirement-engineering.md +1 -1
- package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
- package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-CN/core/secure-op.md +328 -0
- package/bundled/locales/zh-CN/core/security-testing.md +113 -0
- package/bundled/locales/zh-CN/core/self-review-protocol.md +172 -0
- package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
- package/bundled/locales/zh-CN/core/spec-driven-development.md +39 -3
- package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-CN/core/verification-evidence.md +252 -41
- package/bundled/locales/zh-CN/core/versioning.md +1 -1
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +36 -7
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +71 -53
- package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-CN/docs/user/README.md +70 -0
- package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
- package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-CN/options/commit-message/bilingual.md +10 -3
- package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-CN/skills/README.md +89 -126
- package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
- package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +115 -17
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +37 -12
- package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
- package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
- package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +169 -142
- package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
- package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
- package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
- package/bundled/locales/zh-TW/CHANGELOG.md +94 -6
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/MAINTENANCE.md +51 -4
- package/bundled/locales/zh-TW/README.md +25 -12
- package/bundled/locales/zh-TW/SECURITY.md +2 -2
- package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-TW/ai/options/commit-message/bilingual.ai.yaml +6 -1
- package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
- package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
- package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
- package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
- package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
- package/bundled/locales/zh-TW/core/container-security.md +535 -0
- package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
- package/bundled/locales/zh-TW/core/data-contract.md +101 -0
- package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
- package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
- package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
- package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
- package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-TW/core/frontend-design-standards.md +1 -1
- package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
- package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
- package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
- package/bundled/locales/zh-TW/core/incident-response.md +111 -0
- package/bundled/locales/zh-TW/core/license-compliance.md +131 -0
- package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
- package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
- package/bundled/locales/zh-TW/core/model-selection.md +28 -5
- package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-TW/core/packaging-standards.md +77 -5
- package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
- package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
- package/bundled/locales/zh-TW/core/pipeline-security-gates.md +146 -0
- package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
- package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
- package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
- package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-TW/core/replay-test.md +102 -0
- package/bundled/locales/zh-TW/core/requirement-engineering.md +1 -1
- package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
- package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
- package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-TW/core/runbook.md +110 -0
- package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
- package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
- package/bundled/locales/zh-TW/core/secure-op.md +328 -0
- package/bundled/locales/zh-TW/core/security-testing.md +113 -0
- package/bundled/locales/zh-TW/core/self-review-protocol.md +18 -13
- package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
- package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
- package/bundled/locales/zh-TW/core/spec-driven-development.md +19 -11
- package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
- package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
- package/bundled/locales/zh-TW/core/verification-evidence.md +260 -31
- package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
- package/bundled/locales/zh-TW/core/versioning.md +112 -112
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +36 -7
- package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +71 -53
- package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-TW/docs/user/README.md +70 -0
- package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
- package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-TW/options/commit-message/bilingual.md +10 -3
- package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-TW/skills/README.md +91 -128
- package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
- package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +116 -18
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +38 -11
- package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
- package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
- package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
- package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +52 -27
- package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
- package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
- package/bundled/skills/README.md +1 -1
- package/bundled/skills/ac-coverage/SKILL.md +17 -7
- package/bundled/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/skills/agents/code-architect.md +1 -1
- package/bundled/skills/agents/doc-writer.md +1 -1
- package/bundled/skills/agents/reviewer.md +2 -2
- package/bundled/skills/agents/spec-analyst.md +1 -1
- package/bundled/skills/agents/test-specialist.md +1 -1
- package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/skills/atdd-assistant/SKILL.md +7 -0
- package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
- package/bundled/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/skills/bdd-assistant/SKILL.md +7 -0
- package/bundled/skills/bdd-assistant/guide.md +1 -2
- package/bundled/skills/brainstorm-assistant/SKILL.md +139 -15
- package/bundled/skills/brainstorm-assistant/guide.md +39 -8
- package/bundled/skills/checkin-assistant/SKILL.md +8 -1
- package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
- package/bundled/skills/code-review-assistant/SKILL.md +15 -8
- package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
- package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
- package/bundled/skills/commands/README.md +2 -2
- package/bundled/skills/commands/ac-coverage.md +1 -1
- package/bundled/skills/commands/atdd.md +2 -2
- package/bundled/skills/commands/bdd.md +2 -2
- package/bundled/skills/commands/brainstorm.md +25 -14
- package/bundled/skills/commands/{review.md → code-review.md} +6 -6
- package/bundled/skills/commands/derive-all.md +1 -1
- package/bundled/skills/commands/derive-atdd.md +1 -1
- package/bundled/skills/commands/derive-bdd.md +2 -3
- package/bundled/skills/commands/derive-tdd.md +1 -1
- package/bundled/skills/commands/derive.md +1 -1
- package/bundled/skills/commands/dev-workflow.md +1 -1
- package/bundled/skills/commands/journey-test.md +45 -0
- package/bundled/skills/commands/methodology.md +4 -4
- package/bundled/skills/commands/pr.md +1 -1
- package/bundled/skills/commands/skill-builder.md +42 -0
- package/bundled/skills/commands/tdd.md +1 -1
- package/bundled/skills/dev-methodology/create-methodology.md +1 -1
- package/bundled/skills/dev-methodology/guide.md +1 -1
- package/bundled/skills/dev-methodology/runtime.md +1 -1
- package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
- package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
- package/bundled/skills/docs-generator/SKILL.md +3 -3
- package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/skills/logging-guide/SKILL.md +38 -2
- package/bundled/skills/migration-assistant/SKILL.md +226 -0
- package/bundled/skills/observability-assistant/SKILL.md +74 -0
- package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
- package/bundled/skills/project-discovery/guide.md +2 -2
- package/bundled/skills/push/SKILL.md +1 -1
- package/bundled/skills/release-standards/SKILL.md +19 -5
- package/bundled/skills/security-assistant/SKILL.md +1 -1
- package/bundled/skills/skill-builder/SKILL.md +1 -1
- package/bundled/skills/spec-derivation/guide.md +3 -4
- package/bundled/skills/spec-driven-dev/SKILL.md +13 -2
- package/bundled/skills/sweep/SKILL.md +1 -1
- package/bundled/skills/tdd-assistant/SKILL.md +8 -1
- package/bundled/skills/testing-guide/SKILL.md +1 -1
- package/bundled/skills/testing-guide/testing-theory.md +1 -1
- package/bundled/skills/workflows/README.md +2 -2
- package/package.json +4 -4
- package/src/commands/audit.js +30 -9
- package/src/commands/config.js +33 -2
- package/src/commands/hitl.js +14 -1
- package/src/commands/init.js +168 -75
- package/src/commands/quickstart.js +1 -2
- package/src/commands/release.js +51 -6
- package/src/commands/run-intent.js +9 -0
- package/src/commands/spec-split.js +27 -2
- package/src/commands/update.js +22 -6
- package/src/config/ai-agent-paths.js +3 -1
- package/src/i18n/messages.js +3 -102
- package/src/missions/MissionManager.js +44 -12
- package/src/utils/build-manifest.js +35 -3
- package/src/utils/friction-detector.js +71 -22
- package/src/utils/health-checker.js +29 -2
- package/src/utils/transaction.js +111 -0
- package/src/utils/version-promote.js +16 -0
- package/standards-registry.json +61 -149
- package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
- package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
- package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
- package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
- package/bundled/ai/standards/execution-history.ai.yaml +0 -42
- package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
- package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
- package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
- package/src/commands/flow.js +0 -260
- package/src/commands/start.js +0 -372
- package/src/commands/sweep.js +0 -151
- package/src/commands/workflow.js +0 -681
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: ../../../core/secret-management-standards.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
last_synced: 2026-06-17
|
|
6
|
+
source_hash: 1bb70238135b
|
|
7
|
+
status: current
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 機密管理與憑證衛生標準
|
|
11
|
+
|
|
12
|
+
> **Language**: [English](../../../core/secret-management-standards.md) | 繁體中文
|
|
13
|
+
|
|
14
|
+
> **版本**: 1.0.0 | **狀態**: Active | **更新日期**: 2026-06-17
|
|
15
|
+
> **AI 最佳化版本**: `ai/standards/secret-management-standards.ai.yaml`
|
|
16
|
+
> **規格**: XSPEC-065(cross-project/specs/XSPEC-065-uds-infrastructure-pack.md)
|
|
17
|
+
|
|
18
|
+
## 概觀
|
|
19
|
+
|
|
20
|
+
本標準定義團隊如何在開發與生產環境中儲存、注入、輪替與稽核機密(secret)與憑證。
|
|
21
|
+
涵蓋三個核准的機密來源層級(Vault 動態機密、Cloud KMS、SOPS+Git)、依憑證類型的
|
|
22
|
+
輪替政策、透過 pre-commit 與 CI 掃描自動防止硬編碼機密,以及安全的機密注入模式。
|
|
23
|
+
設計目標為消除原始碼與 CI 日誌中的憑證,同時在各種團隊規模下維持營運實務性。
|
|
24
|
+
|
|
25
|
+
本標準屬於 **IaC 標準包**(XSPEC-065),並作為機密處理的橫切*主要負責者*:被容器
|
|
26
|
+
映像建構(`container-image-standards`)、合規稽核(`audit-trail`)以及存放憑證的
|
|
27
|
+
SRE runbook 多處引用。
|
|
28
|
+
|
|
29
|
+
> **範圍**:本標準定義機密的*核准來源*、*輪替頻率*、*防護層*與*注入模式*。在
|
|
30
|
+
> Vault/Cloud KMS/SOPS 之間的選擇以及特定掃描工具屬採用者的選擇。
|
|
31
|
+
|
|
32
|
+
## 需求
|
|
33
|
+
|
|
34
|
+
| ID | 規則 | 等級 |
|
|
35
|
+
|----|------|------|
|
|
36
|
+
| REQ-001 | 機密來源三選項(Vault/Cloud KMS/SOPS+Git) | MUST |
|
|
37
|
+
| REQ-002 | 依類型的輪替政策 | MUST |
|
|
38
|
+
| REQ-003 | 硬編碼機密防護(pre-commit + CI 掃描) | MUST |
|
|
39
|
+
| REQ-004 | 機密注入(僅限環境變數或掛載檔案) | MUST |
|
|
40
|
+
|
|
41
|
+
### REQ-001 — 機密來源三選項
|
|
42
|
+
|
|
43
|
+
團隊 MUST 依營運情境使用三個核准的機密來源層級之一:(1) **HashiCorp Vault 動態
|
|
44
|
+
機密**(生產與多團隊環境首選)——機密以短 TTL 隨需生成,任何地方皆不儲存靜態憑證;
|
|
45
|
+
(2) **Cloud KMS 搭配原生 secret manager**(AWS Secrets Manager/GCP Secret
|
|
46
|
+
Manager/Azure Key Vault)——適合雲原生部署,機密於執行期透過受 IAM 控制的 API
|
|
47
|
+
呼叫取得;(3) **SOPS + Git 加密**——適合小團隊與 GitOps 流程,機密以 `age` 或 KMS
|
|
48
|
+
金鑰加密後再 commit,僅於受信任的執行環境解密。在任何其他位置(env 檔、wiki、聊天)
|
|
49
|
+
儲存未加密機密為 **PROHIBITED**。
|
|
50
|
+
|
|
51
|
+
### REQ-002 — 依類型的輪替政策
|
|
52
|
+
|
|
53
|
+
所有機密 MUST 具備由自動化工具或行事曆提醒強制執行的輪替政策。各類型最低輪替
|
|
54
|
+
頻率:**資料庫憑證**——每 90 天;**API 金鑰**(第三方服務)——每 180 天;**簽章
|
|
55
|
+
金鑰**(JWT、程式碼簽章)——每 365 天;**一次性 token 與 session 憑證**——使用後
|
|
56
|
+
立即撤銷,MUST NOT 重用;**TLS 憑證**——至少於到期前 30 天輪替,盡可能以
|
|
57
|
+
ACME/Let's Encrypt 或 cert-manager 自動化。輪替事件 MUST 記錄於稽核軌跡。
|
|
58
|
+
|
|
59
|
+
### REQ-003 — 硬編碼機密防護
|
|
60
|
+
|
|
61
|
+
團隊 MUST 實作自動掃描,以在硬編碼機密進入儲存庫前偵測並封鎖。REQUIRED 兩層:
|
|
62
|
+
(1) **Pre-commit hook** 使用 `detect-secrets`、`gitleaks` 或 `truffleHog`——掃描
|
|
63
|
+
staged 檔案,偵測到 pattern 即封鎖 commit;(2) **CI 管線掃描**——於每個 PR 重掃所有
|
|
64
|
+
變更檔案,若發現機密則封鎖合併。最低偵測 pattern:AWS access key 格式
|
|
65
|
+
(`AKIA[0-9A-Z]{16}`)、PEM 私鑰標頭(`-----BEGIN .* PRIVATE KEY`)、通用 API token
|
|
66
|
+
pattern(`api[_-]?key\s*[:=]\s*\S{16,}`),以及含密碼的連線字串。
|
|
67
|
+
|
|
68
|
+
### REQ-004 — 機密注入
|
|
69
|
+
|
|
70
|
+
機密 MUST 僅透過環境變數或掛載檔案注入應用程式程序。透過命令列參數傳遞機密為
|
|
71
|
+
**PROHIBITED**(於程序清單可見)。透過 URL 查詢參數傳遞機密為 **PROHIBITED**(被
|
|
72
|
+
proxy 與伺服器記錄)。環境變數注入應使用平台原生機密注入(Kubernetes Secrets、ECS
|
|
73
|
+
task definition secrets、GitHub Actions secrets)。檔案式注入則將機密掛載為唯讀
|
|
74
|
+
volume,並使用限制性檔案權限(0400 或 0600)。
|
|
75
|
+
|
|
76
|
+
## 反模式
|
|
77
|
+
|
|
78
|
+
- 將憑證直接硬編碼於原始碼或設定檔。
|
|
79
|
+
- 未加密即將機密存於 CI/CD 環境變數(UI 中明文)。
|
|
80
|
+
- 跨多環境共用憑證(dev/staging/prod 使用相同機密)。
|
|
81
|
+
- 長期靜態憑證且無輪替排程。
|
|
82
|
+
- 將含真實機密的 `.env` 檔提交至版本控制。
|
|
83
|
+
|
|
84
|
+
## 與既有標準的整合
|
|
85
|
+
|
|
86
|
+
- **`iac-design-principles`**——機密後端(Vault/KMS 狀態)本身即是版本化、受存取
|
|
87
|
+
控制的基礎設施。
|
|
88
|
+
- **`audit-trail`**——輪替、存取與注入事件為可稽核操作(REQ-002 要求記錄輪替事件)。
|
|
89
|
+
- **`pii-classification`**——守護 TIER-1 PII 的憑證承襲最嚴格的處理控制。
|
|
90
|
+
- **`security-standards`**——本標準是更廣安全基線的憑證衛生面向。
|
|
91
|
+
|
|
92
|
+
## 相關規格
|
|
93
|
+
|
|
94
|
+
- XSPEC-065 — UDS 基礎設施(IaC)標準包(本標準來源)
|
|
95
|
+
- DEC-043 — UDS 覆蓋完整性路線圖(Wave 4 範圍;D1 橫切負責者)
|
|
96
|
+
|
|
97
|
+
## 變更紀錄
|
|
98
|
+
|
|
99
|
+
| 版本 | 日期 | 變更 |
|
|
100
|
+
|------|------|------|
|
|
101
|
+
| v1.0.0 | 2026-06-17 | 初版——REQ-001~004:機密來源選項、輪替政策、硬編碼機密防護、機密注入(XSPEC-065) |
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: ../../../core/secure-op.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
last_synced: 2026-06-10
|
|
6
|
+
source_hash: 7ef0c2e3a2c2
|
|
7
|
+
status: current
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Secure-Op:AI Agent 安全操作標準
|
|
11
|
+
|
|
12
|
+
> **Language**: [原文(繁體中文)](../../../core/secure-op.md) | 繁體中文 | [简体中文](../../zh-CN/core/secure-op.md)
|
|
13
|
+
|
|
14
|
+
**版本**:1.0.0
|
|
15
|
+
**最後更新**:2026-05-04
|
|
16
|
+
**適用範圍**:所有部署 AI Agent 的系統
|
|
17
|
+
**範疇**:AI Agent 安全操作
|
|
18
|
+
**產業標準**:ISO/IEC 27001:2022、NIST SP 800-207、OWASP LLM Top 10 2025
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 標準概述
|
|
23
|
+
|
|
24
|
+
**Secure-Op** 是針對 AI Agent 系統的安全操作方法論,定義 AI Agent 在執行高風險操作時必須遵循的六大安全支柱。
|
|
25
|
+
|
|
26
|
+
本標準源自 External Guardian OPA Sidecar reference implementation (XSPEC-146 from an external project)的實作經驗,並沉澱為通用 UDS 標準,供任何採用 UDS 的 AI Agent 系統套用。
|
|
27
|
+
|
|
28
|
+
### 核心理念
|
|
29
|
+
|
|
30
|
+
傳統軟體安全假設操作主體是人類使用者。AI Agent 系統帶來新的威脅模型:
|
|
31
|
+
- **Agent 可能被提示注入(Prompt Injection)操控**,偽裝成合法操作
|
|
32
|
+
- **LLM 推論不確定性**,相同輸入可能產生不同決策
|
|
33
|
+
- **操作範圍不可預測**,一個指令可能觸發連鎖副作用
|
|
34
|
+
|
|
35
|
+
Secure-Op 的回應是:**確定性系統守護邊界,機率性系統只做輔助**。
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 六大支柱
|
|
40
|
+
|
|
41
|
+
### 支柱一:Veto-Based Decision(否決式決策)
|
|
42
|
+
|
|
43
|
+
決策邏輯必須以「否決權」為基礎,不得使用投票制。
|
|
44
|
+
|
|
45
|
+
#### 核心原則
|
|
46
|
+
|
|
47
|
+
| 原則 | 說明 |
|
|
48
|
+
|------|------|
|
|
49
|
+
| Deterministic > Probabilistic | 確定性系統(Policy Engine、Rule Engine)的決策優先於 LLM 推論 |
|
|
50
|
+
| Policy-as-Code | 所有安全規則必須版本控制,可回歸測試 |
|
|
51
|
+
| 否決即終止 | 任一層 DENY 即立刻終止管線,不繼續下一層 |
|
|
52
|
+
|
|
53
|
+
#### 決策管線(Decision Pipeline)
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
輸入操作請求
|
|
57
|
+
│
|
|
58
|
+
▼
|
|
59
|
+
[M1] Prompt Injection 偵測
|
|
60
|
+
│ DENY → 終止
|
|
61
|
+
▼
|
|
62
|
+
[M2] Policy Engine(OPA / Rule Engine)
|
|
63
|
+
│ DENY → 終止
|
|
64
|
+
▼
|
|
65
|
+
[M3] SOBR 風險評分
|
|
66
|
+
│ ≥76 → DENY;51-75 → HITL;≤50 → 繼續
|
|
67
|
+
▼
|
|
68
|
+
[M4] Semantic Review(選配,LLM)
|
|
69
|
+
│ DENY → 終止
|
|
70
|
+
▼
|
|
71
|
+
執行操作 + 記錄 Audit
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**參考實作**:OPA(Open Policy Agent)或等效 Policy Engine
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
### 支柱二:SOBR Risk Scoring(四維風險評分)
|
|
79
|
+
|
|
80
|
+
量化風險分數,提供一致且可解釋的決策依據。
|
|
81
|
+
|
|
82
|
+
#### 公式
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
RiskScore = S×0.30 + O×0.25 + B×0.25 + R×0.20
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
#### 四個維度
|
|
89
|
+
|
|
90
|
+
| 維度 | 權重 | 說明 | 範例高分 | 範例低分 |
|
|
91
|
+
|------|------|------|---------|---------|
|
|
92
|
+
| **S** Sensitivity | 0.30 | 目標資源敏感度 | 使用者憑證(100)| 公開文件(5)|
|
|
93
|
+
| **O** OperationType | 0.25 | 操作危險程度 | 執行任意程式碼(100)| 讀取公開資料(10)|
|
|
94
|
+
| **B** BlastRadius | 0.25 | 操作影響範圍 | 影響所有正式環境(100)| 隔離開發沙箱(10)|
|
|
95
|
+
| **R** Reversibility | 0.20 | 不可逆程度(越不可逆分數越高)| 永久刪除無備份(100)| 唯讀操作(0)|
|
|
96
|
+
|
|
97
|
+
#### 決策閾值
|
|
98
|
+
|
|
99
|
+
| 分數範圍 | 決策 | 行動 |
|
|
100
|
+
|---------|------|------|
|
|
101
|
+
| 0–25 | **ALLOW** | 正常執行,記錄 Audit |
|
|
102
|
+
| 26–50 | **ALLOW_WITH_MONITORING** | 執行並加強監控,標記人工事後審查 |
|
|
103
|
+
| 51–75 | **REQUIRE_HITL** | 觸發人工審核升級(Human-in-the-Loop)|
|
|
104
|
+
| 76–100 | **DENY** | 拒絕,記錄決策路徑與違規項目 |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### 支柱三:Fail-Closed(故障關閉原則)
|
|
109
|
+
|
|
110
|
+
任何安全組件故障時,**預設行為必須是 DENY**,禁止 fail-open。
|
|
111
|
+
|
|
112
|
+
#### 故障情境對應
|
|
113
|
+
|
|
114
|
+
| 故障情境 | 必要回應 | 例外 |
|
|
115
|
+
|---------|---------|------|
|
|
116
|
+
| Policy Engine 不可達 | DENY ALL | 唯讀操作可由操作者明確設定例外 |
|
|
117
|
+
| SOBR 評分計算失敗 | REQUIRE_HITL(保守升級)| 無 |
|
|
118
|
+
| Signature 驗證失敗 | DENY ALL | 無 |
|
|
119
|
+
| 任何未知錯誤 | DENY | 無 |
|
|
120
|
+
|
|
121
|
+
#### 禁止的反模式
|
|
122
|
+
|
|
123
|
+
- **Fail-Open**:錯誤時預設 ALLOW(嚴重度:CRITICAL)
|
|
124
|
+
- **部分驗證繼續執行**:某層驗證失敗但仍繼續(嚴重度:HIGH)
|
|
125
|
+
- **靜默吞噬錯誤**:catch 錯誤但不改變決策(嚴重度:HIGH)
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### 支柱四:Audit Chain(不可竄改審計軌跡)
|
|
130
|
+
|
|
131
|
+
所有安全決策必須記錄在**可驗證的不可竄改審計軌跡**中。
|
|
132
|
+
|
|
133
|
+
#### 每筆 Audit 紀錄必要欄位
|
|
134
|
+
|
|
135
|
+
| 欄位 | 型別 | 說明 |
|
|
136
|
+
|------|------|------|
|
|
137
|
+
| `request_id` | UUID v4 | 每次決策的唯一識別碼 |
|
|
138
|
+
| `decision` | enum | ALLOW / ALLOW_WITH_MONITORING / REQUIRE_HITL / DENY |
|
|
139
|
+
| `risk_score` | number (0-100) | SOBR 計算結果 |
|
|
140
|
+
| `timestamp` | ISO 8601 UTC | 毫秒精度時間戳 |
|
|
141
|
+
| `violations` | string[] | 違規政策列表(ALLOW 時為空陣列)|
|
|
142
|
+
| `signature` | base64 Ed25519 | 對核心欄位的非對稱簽章 |
|
|
143
|
+
| `prev_hash` | SHA-256 hex | 前一筆紀錄的 hash(構成 hash chain)|
|
|
144
|
+
|
|
145
|
+
#### Hash Chain 設計
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
Record[0]: prev_hash = "0000...0000" (genesis)
|
|
149
|
+
Record[1]: prev_hash = SHA-256(Record[0])
|
|
150
|
+
Record[2]: prev_hash = SHA-256(Record[1])
|
|
151
|
+
...
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
必須提供 `verify_chain()` 函式,可偵測任何中間紀錄的竄改。
|
|
155
|
+
|
|
156
|
+
#### 簽章規格
|
|
157
|
+
|
|
158
|
+
- **演算法**:Ed25519(非對稱加密)
|
|
159
|
+
- **簽署內容**:`{request_id}:{decision}:{risk_score}:{timestamp}`
|
|
160
|
+
- **禁止**:使用 HMAC(對稱)作為審計簽章
|
|
161
|
+
|
|
162
|
+
#### 儲存等級
|
|
163
|
+
|
|
164
|
+
| 等級 | 儲存媒介 | 適用環境 |
|
|
165
|
+
|------|---------|---------|
|
|
166
|
+
| Level 0(最低)| 本地 append-only file | 開發/測試 |
|
|
167
|
+
| Level 1(推薦)| WORM 儲存(S3 Object Lock / Azure Immutable Blob)| 正式環境 |
|
|
168
|
+
| Level 2(最高)| 不可變雲端 + Remote Attestation | 法規要求環境(SOC2, ISO 27001 認證)|
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
### 支柱五:HITL Escalation(人工審核升級)
|
|
173
|
+
|
|
174
|
+
Risk Score 落在 51–75(REQUIRE_HITL 區間)時,必須有明確的人工審核升級機制。
|
|
175
|
+
|
|
176
|
+
#### 兩種 HITL 模式
|
|
177
|
+
|
|
178
|
+
| 模式 | 行為 | 適用情境 |
|
|
179
|
+
|------|------|---------|
|
|
180
|
+
| **Non-Blocking** | 發送通知,執行繼續(加強監控)| 分數 51–62,低敏感操作 |
|
|
181
|
+
| **Blocking** | 暫停執行,等待人工確認 | 分數 63–75,高敏感環境 |
|
|
182
|
+
|
|
183
|
+
#### 必要要求
|
|
184
|
+
|
|
185
|
+
- **TTL**:HITL 審核請求必須有過期時間(建議 **1800 秒**)
|
|
186
|
+
- **過期行為**:TTL 到期未審核 → 自動升級為 DENY
|
|
187
|
+
- **Audit**:HITL 觸發事件與審核結果必須記入 Audit Chain
|
|
188
|
+
- **通知介面**:Webhook 為標準介面;Adapter 模式支援 Slack / Teams / PagerDuty
|
|
189
|
+
|
|
190
|
+
#### 通知 Payload 必要欄位
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"request_id": "...",
|
|
195
|
+
"risk_score": 67,
|
|
196
|
+
"operation_summary": "...",
|
|
197
|
+
"policy_violations": [...],
|
|
198
|
+
"expires_at": "2026-05-04T12:30:00Z"
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
### 支柱六:Prompt Injection Defense(提示注入防護)
|
|
205
|
+
|
|
206
|
+
AI Agent 系統必須防護 Prompt Injection 攻擊,防止惡意輸入繞過安全控制。
|
|
207
|
+
|
|
208
|
+
#### 偵測模式類型
|
|
209
|
+
|
|
210
|
+
| 類型 | 範例模式 |
|
|
211
|
+
|------|---------|
|
|
212
|
+
| 覆蓋指令 | "ignore previous instructions", "disregard your programming" |
|
|
213
|
+
| 角色扮演操控 | "you are now", "act as", "DAN", "jailbreak" |
|
|
214
|
+
| 系統 Token 注入 | `[SYSTEM]`, `[INST]`, `<\|system\|>`, `<<SYS>>` |
|
|
215
|
+
| 指令前綴 | "New instruction:", "OVERRIDE:", "Updated system prompt:" |
|
|
216
|
+
|
|
217
|
+
#### 防護措施
|
|
218
|
+
|
|
219
|
+
1. **攔截位置**:M1 Intake 層(管線最前端),在任何語意評估前攔截
|
|
220
|
+
2. **回應**:觸發 DENY + 記錄 `PROMPT_INJECTION_DETECTED` violation
|
|
221
|
+
3. **日誌安全**:**禁止**將原始惡意輸入存入日誌;只記錄偵測到的模式類型與輸入的 Hash
|
|
222
|
+
4. **模式維護**:每月更新偵測模式;訂閱 OWASP LLM Working Group 更新
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## 實作參考
|
|
227
|
+
|
|
228
|
+
### External Guardian (reference implementation)(TypeScript 參考實作)
|
|
229
|
+
|
|
230
|
+
External Guardian OPA Sidecar reference implementation (XSPEC-146 from an external project)是 Secure-Op 的完整 TypeScript 參考實作,包含:
|
|
231
|
+
|
|
232
|
+
- **GuardianService**:主要 Veto-based 決策管線
|
|
233
|
+
- **SobrScorer**:SOBR 四維風險評分
|
|
234
|
+
- **AuditChain**:SHA-256 Hash Chain + Ed25519 簽章
|
|
235
|
+
- **HitlNotifier**:Webhook Adapter(支援 Slack/Teams)
|
|
236
|
+
- **PromptInjectionDetector**:正則表達式 + 模式比對
|
|
237
|
+
|
|
238
|
+
> 路徑:external Guardian implementation (separately licensed)
|
|
239
|
+
|
|
240
|
+
### 最小實作清單
|
|
241
|
+
|
|
242
|
+
建立 Secure-Op 合規系統的最小步驟:
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
□ Step 1:建立 Policy Engine(OPA 或等效工具)並連接至 Agent 管線
|
|
246
|
+
□ Step 2:實作 SOBR 評分計算(4 維度 + 權重公式)
|
|
247
|
+
□ Step 3:設定決策閾值路由(ALLOW / MONITORING / HITL / DENY)
|
|
248
|
+
□ Step 4:建立 Audit Chain(append-only + hash + signature)
|
|
249
|
+
□ Step 5:實作 HITL 通知 + TTL 機制
|
|
250
|
+
□ Step 6:加入 Prompt Injection 偵測(M1 位置)
|
|
251
|
+
□ Step 7:在所有錯誤路徑確認 Fail-Closed 行為
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## ISO / NIST / OWASP 對映
|
|
257
|
+
|
|
258
|
+
| 支柱 | 標準對映 |
|
|
259
|
+
|------|---------|
|
|
260
|
+
| Veto-Based Decision | ISO/IEC 27001:2022 A.8.24 |
|
|
261
|
+
| SOBR Risk Scoring | ISO/IEC 27001:2022 Annex A.8.24;ISO/IEC 27005 |
|
|
262
|
+
| Fail-Closed | NIST SP 800-207 Zero Trust Architecture(2.1節);ISO/IEC 27001:2022 A.8.22 |
|
|
263
|
+
| Audit Chain | ISO/IEC 27001:2022 A.8.15(Logging);ISO/IEC 27001:2022 A.5.33(Protection of records)|
|
|
264
|
+
| HITL Escalation | ISO/IEC 27001:2022 A.8.2;NIST SP 800-53 AC-2 |
|
|
265
|
+
| Prompt Injection Defense | OWASP LLM Top 10 2025 LLM01;ISO/IEC 27001:2022 A.8.24 |
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 等級分類
|
|
270
|
+
|
|
271
|
+
Secure-Op 標準分為三個實作等級(Priority Levels):
|
|
272
|
+
|
|
273
|
+
### P0a:審查層(必須)
|
|
274
|
+
|
|
275
|
+
最低基準要求,所有 AI Agent 系統必須實作:
|
|
276
|
+
|
|
277
|
+
- Policy Engine 連接並設定 Fail-Closed
|
|
278
|
+
- SOBR 風險評分(任何操作請求觸發)
|
|
279
|
+
- Prompt Injection 偵測(M1 位置)
|
|
280
|
+
|
|
281
|
+
### P0b:執行驗證層(必須)
|
|
282
|
+
|
|
283
|
+
在 P0a 基礎上,強化執行時的決策保障:
|
|
284
|
+
|
|
285
|
+
- 完整決策路由(ALLOW / MONITORING / HITL / DENY)
|
|
286
|
+
- HITL 升級機制(含 TTL)
|
|
287
|
+
- 所有決策記入 Audit Log
|
|
288
|
+
|
|
289
|
+
### P0c:強化層(高安全需求環境)
|
|
290
|
+
|
|
291
|
+
在 P0b 基礎上,達到法規合規等級:
|
|
292
|
+
|
|
293
|
+
- Hash Chain + Ed25519 簽章的 Audit Chain
|
|
294
|
+
- WORM 儲存(Level 1 或 Level 2)
|
|
295
|
+
- Remote Attestation 支援
|
|
296
|
+
- 定期 Audit Chain 完整性驗證
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## 快速開始建議
|
|
301
|
+
|
|
302
|
+
### 對於小型 AI Agent 系統(MVP / Prototype)
|
|
303
|
+
|
|
304
|
+
從 SOBR 評分 + 基本 DENY 閾值開始:
|
|
305
|
+
|
|
306
|
+
1. 為每個操作類型定義 S / O / B / R 值
|
|
307
|
+
2. 計算 RiskScore;≥76 直接拒絕
|
|
308
|
+
3. 記錄決策到 append-only log
|
|
309
|
+
|
|
310
|
+
### 對於生產環境 AI Agent 系統
|
|
311
|
+
|
|
312
|
+
完整實作六大支柱,使用 External Guardian (reference implementation) 作為參考或直接引用。
|
|
313
|
+
|
|
314
|
+
### 對於法規要求環境(金融、醫療、政府)
|
|
315
|
+
|
|
316
|
+
P0c 等級 + 外部稽核師可存取的 Audit Chain 匯出功能。
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## 相關標準
|
|
321
|
+
|
|
322
|
+
- `security-standards`:架構層安全設計(輸入驗證、認證設計)
|
|
323
|
+
- `security-testing`:安全測試方法論(SAST、DAST、依賴審計)
|
|
324
|
+
- `audit-trail`:一般 Audit Trail 標準
|
|
325
|
+
- `mock-boundary`:測試中禁止 mock 安全控制
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
**Scope**: universal
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: ../../../core/security-testing.md
|
|
3
|
+
source_version: 1.1.0
|
|
4
|
+
translation_version: 1.1.0
|
|
5
|
+
last_synced: 2026-07-08
|
|
6
|
+
source_hash: 242e9016416c
|
|
7
|
+
status: current
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 資安測試標準
|
|
11
|
+
|
|
12
|
+
> **Language**: [English](../../../core/security-testing.md) | 繁體中文
|
|
13
|
+
|
|
14
|
+
**版本**: 1.1.0
|
|
15
|
+
**最後更新**: 2026-06-19
|
|
16
|
+
**適用範圍**: 所有軟體專案
|
|
17
|
+
**Scope**: universal
|
|
18
|
+
**產業標準**: OWASP Testing Guide v4, NIST SP 800-115, ISO/IEC 27001
|
|
19
|
+
**參考資料**: OWASP Top 10, CWE/SANS Top 25
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 目的
|
|
24
|
+
|
|
25
|
+
本文件定義軟體專案的資安測試方法論。它與 `security-standards.md`(架構層級的資安設計)互補,提供執行層級的指引:該執行哪些工具、何時執行、以及如何回應發現的問題。
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 四個資安測試層
|
|
30
|
+
|
|
31
|
+
### 1. SAST — 靜態分析
|
|
32
|
+
|
|
33
|
+
在不執行程式碼的情況下分析原始碼。於 pre-commit 與 CI 中執行。
|
|
34
|
+
|
|
35
|
+
| 語言 | 工具 | 偵測項目 |
|
|
36
|
+
|----------|------|---------|
|
|
37
|
+
| TypeScript/JS | eslint-plugin-security | eval 注入、regex DoS、路徑遍歷 |
|
|
38
|
+
| Python | bandit | SQL 注入、硬編碼憑證 |
|
|
39
|
+
| Java | SpotBugs + FindSecBugs | SQL 注入、XSS |
|
|
40
|
+
|
|
41
|
+
**閘門**: High/Critical → 阻擋 merge
|
|
42
|
+
|
|
43
|
+
### 2. 相依套件稽核
|
|
44
|
+
|
|
45
|
+
掃描第三方套件的已知 CVE。於 pre-push 與每週執行。
|
|
46
|
+
|
|
47
|
+
| 生態系 | 工具 | 指令 |
|
|
48
|
+
|-----------|------|---------|
|
|
49
|
+
| Node.js | npm audit | `npm audit --audit-level=high` |
|
|
50
|
+
| Python | pip-audit | `pip-audit` |
|
|
51
|
+
|
|
52
|
+
**閘門**: High/Critical CVE → 阻擋發布(例外須記錄並附到期日)
|
|
53
|
+
|
|
54
|
+
### 3. 機密掃描
|
|
55
|
+
|
|
56
|
+
偵測不慎提交的機密資訊。於每次 commit 時執行。
|
|
57
|
+
|
|
58
|
+
工具: gitleaks、truffleHog
|
|
59
|
+
|
|
60
|
+
**閘門**: 偵測到任何機密 → 立即阻擋 commit
|
|
61
|
+
|
|
62
|
+
### 4. DAST — 動態分析
|
|
63
|
+
|
|
64
|
+
透過 HTTP 測試運行中的應用程式。於 staging 部署後執行。
|
|
65
|
+
|
|
66
|
+
工具: OWASP ZAP、Nuclei
|
|
67
|
+
|
|
68
|
+
**閘門**: High/Critical 發現 → 阻擋晉升至 production
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## CVE 回應政策
|
|
73
|
+
|
|
74
|
+
| 嚴重度 | 回應 |
|
|
75
|
+
|----------|----------|
|
|
76
|
+
| Critical | 24 小時內修補;阻擋所有部署 |
|
|
77
|
+
| High | 下次發布前解決 |
|
|
78
|
+
| Moderate | 14 天內解決 |
|
|
79
|
+
| Low | 追蹤;於維護時段解決 |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 發現事項修復生命週期
|
|
84
|
+
|
|
85
|
+
上述各層負責偵測發現,CVE 政策則設定解決時限(SLA),但一個發現事項還需要一個**有負責人的生命週期**——否則「阻擋 merge」就是唯一定義好的動作,偵測之後的一切都沒有定義。每個資安發現(SAST / DAST / 機密 / 相依套件 CVE)都遵循以下狀態機。
|
|
86
|
+
|
|
87
|
+
| 狀態 | 意義 | 負責人 | 結束條件 |
|
|
88
|
+
|-------|---------|-------|----------------|
|
|
89
|
+
| **Detected(已偵測)** | 由某一層(SAST/DAST/機密/稽核)提出 | 掃描閘門(CI) | 已指派嚴重度 |
|
|
90
|
+
| **Triaged(已分診)** | 已確認嚴重度與有效性(真實 vs 誤判) | 資安審查者 | 真實 → 轉為 In-Progress;誤判 → 標記為 `suppressed` 並記錄理由 |
|
|
91
|
+
| **In-Progress(處理中)** | 修復正在實作 | 受影響元件的程式碼負責人 | 修復已提交 |
|
|
92
|
+
| **Resolved(已解決)** | 修復已合併 | 程式碼負責人 | 原掃描重新執行後乾淨無發現 |
|
|
93
|
+
| **Verified(已驗證)** | 重新掃描確認發現已消失 | 掃描閘門(CI) | 發現事項關閉 |
|
|
94
|
+
|
|
95
|
+
- **閘門**:任何 Critical/High 發現若狀態非 `Verified`(或 `Triaged → suppressed` 且附有理由),皆**阻擋發布**,與上述 CVE 回應政策的 SLA 一致。
|
|
96
|
+
- **不得靜默關閉**:發現事項只能透過 `Verified`(重新掃描乾淨)或資安審查者明確記錄的 `suppressed` 決定離開此生命週期——絕不可透過刪除,也不可由修復作者自行核准關閉。
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 反模式
|
|
101
|
+
|
|
102
|
+
- 將所有 CVE 視為同等緊急
|
|
103
|
+
- 對 production 執行 DAST(應使用 staging)
|
|
104
|
+
- 無限期忽略 `npm audit`
|
|
105
|
+
- 在測試中 mock 身分驗證 middleware(見 mock-boundary.md)
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 與其他標準的關係
|
|
110
|
+
|
|
111
|
+
- `security-standards`: 架構層級的控制措施(輸入驗證、身分驗證設計)
|
|
112
|
+
- `mock-boundary`: 測試中絕不 mock 資安控制
|
|
113
|
+
- `deployment-standards`: DAST 作為部署管線的一部分執行
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
source: ../../../core/self-review-protocol.md
|
|
3
|
-
source_version: 1.
|
|
4
|
-
translation_version: 1.
|
|
5
|
-
last_synced: 2026-
|
|
3
|
+
source_version: 1.1.0
|
|
4
|
+
translation_version: 1.1.0
|
|
5
|
+
last_synced: 2026-07-09
|
|
6
6
|
status: current
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -10,8 +10,8 @@ status: current
|
|
|
10
10
|
|
|
11
11
|
> **語言**: [English](../../../core/self-review-protocol.md) | 繁體中文
|
|
12
12
|
|
|
13
|
-
**版本**: 1.
|
|
14
|
-
**最後更新**: 2026-
|
|
13
|
+
**版本**: 1.1.0
|
|
14
|
+
**最後更新**: 2026-07-09
|
|
15
15
|
**適用範圍**: 所有軟體專案(新建、重構、遷移、維護)
|
|
16
16
|
**範圍**: partial
|
|
17
17
|
**業界標準**: ISO/IEC 25010(文件可維護性)、IEEE 1063-2001(軟體使用者文件)
|
|
@@ -24,7 +24,7 @@ status: current
|
|
|
24
24
|
本標準規範大型 markdown 編輯**commit 前**必跑 **self-review**,捕捉內部 cross-reference 不一致 — 這類問題慣性被內部推理忽略,但完整 re-read 一次即可 surface。
|
|
25
25
|
|
|
26
26
|
**與其他標準的關係**:
|
|
27
|
-
- 與 [code-review.md](code-review.md) 互補(後者涵蓋程式碼變更)
|
|
27
|
+
- 與 [code-review.md](code-review-checklist.md) 互補(後者涵蓋程式碼變更)
|
|
28
28
|
- 與 [documentation-writing-standards.md](documentation-writing-standards.md) 互補(後者涵蓋內容創作)
|
|
29
29
|
- 本標準專注於**大型 markdown 文件**(DEC、ADR、XSPEC、SKILL.md、規格文件、runbook 等)的**編輯後驗證**
|
|
30
30
|
|
|
@@ -34,7 +34,7 @@ status: current
|
|
|
34
34
|
|
|
35
35
|
多次 Claude 輔助編輯 session(如 `dev-platform/.claude/skills/eval-source/SKILL.md` v1.1.0 → v1.1.1、v1.2.0 → v1.2.1)觀察到一致模式:**每次大型 markdown 編輯都引入 3-6 處小型內部不一致**,內部推理看不出來,但完整 re-read 立刻 surface。
|
|
36
36
|
|
|
37
|
-
這些不一致歸納為 **6 大類**,且固定觸發後續 patch commit。在 commit 前加入強制 re-read 步驟後,此模式消失(eval-source v1.3.0 為首次無 patch follow-up 的 SKILL.md
|
|
37
|
+
這些不一致歸納為 **6 大類**,且固定觸發後續 patch commit。在 commit 前加入強制 re-read 步驟後,此模式消失(eval-source v1.3.0 為首次無 patch follow-up 的 SKILL.md 變更)。第 7 大類(語言與術語一致性)為後續因不同動機(跨對話 AI 輸出漂移,非原始 patch 週期模式)新增,詳見下方。
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
@@ -56,7 +56,7 @@ status: current
|
|
|
56
56
|
|
|
57
57
|
---
|
|
58
58
|
|
|
59
|
-
##
|
|
59
|
+
## 7 類常見內部不一致
|
|
60
60
|
|
|
61
61
|
### 1. Diagram / Flow 與 step list 不同步
|
|
62
62
|
**範例**:工作流程圖 7 格但文件實際定義 8 步驟
|
|
@@ -82,12 +82,16 @@ status: current
|
|
|
82
82
|
**範例**:example 寫「D1/D2/D3」但 rule 明說 D3 不強制,且當前案例正好把 D3 降為後續追蹤
|
|
83
83
|
**檢查**:example 中每個具體值是否與當前 rule 一致;example 不應與最新案例經驗矛盾
|
|
84
84
|
|
|
85
|
+
### 7. 語言與術語一致性
|
|
86
|
+
**範例**:雙語文件某段落中英文夾雜,或日文假名/韓文諺文混入繁體中文段落;或同一份文件內「XSPEC」「gate」「pipeline」等專案慣用術語寫法不一致
|
|
87
|
+
**檢查**:掃描非目標語言文字是否出現在非預期段落(如日文假名 U+3040–U+30FF、韓文諺文 U+AC00–U+D7A3 混入 zh-TW 段落)、同段落語言混雜、以及同一檔案內既有慣用術語拼法是否一致
|
|
88
|
+
|
|
85
89
|
---
|
|
86
90
|
|
|
87
91
|
## 流程
|
|
88
92
|
|
|
89
93
|
1. **edit 完成後、commit 前**,用 file-reading 工具重新讀過**完整檔案**(不只 diff)
|
|
90
|
-
2. 依上方
|
|
94
|
+
2. 依上方 7 類逐項對照
|
|
91
95
|
3. **發現問題** → 直接 Edit 修補後再 commit(同一 commit 包含修正,不要分開 ship)
|
|
92
96
|
4. **若已 commit 才發現** → 新增 patch commit(如 v1.2.1 對 v1.2.0)
|
|
93
97
|
|
|
@@ -104,19 +108,19 @@ status: current
|
|
|
104
108
|
### ADR / DEC
|
|
105
109
|
在 `## 後續追蹤` 表格新增一行:
|
|
106
110
|
```
|
|
107
|
-
| Self-review pass | 本 DEC | ✅ YYYY-MM-DD (
|
|
111
|
+
| Self-review pass | 本 DEC | ✅ YYYY-MM-DD (7 類無 issue) |
|
|
108
112
|
```
|
|
109
113
|
|
|
110
114
|
### XSPEC SDD Delta
|
|
111
115
|
在「不改動清單」section(如 §N.6)後追加:
|
|
112
116
|
```
|
|
113
|
-
> Self-review pass: YYYY-MM-DD (
|
|
117
|
+
> Self-review pass: YYYY-MM-DD (7 類無 issue)
|
|
114
118
|
```
|
|
115
119
|
|
|
116
120
|
### Commit message body
|
|
117
121
|
最後一行附:
|
|
118
122
|
```
|
|
119
|
-
Self-review (protocol v1.
|
|
123
|
+
Self-review (protocol v1.1.0): N issues found, M applied in same commit / 0 found.
|
|
120
124
|
```
|
|
121
125
|
|
|
122
126
|
---
|
|
@@ -125,7 +129,7 @@ Self-review (protocol v1.0.0): N issues found, M applied in same commit / 0 foun
|
|
|
125
129
|
|
|
126
130
|
| 實踐 | 涵蓋面向 | 觸發時機 |
|
|
127
131
|
|---|---|---|
|
|
128
|
-
| **Code Review**([code-review.md](code-review.md))| 程式碼正確性、設計、安全 | code PR merge 前 |
|
|
132
|
+
| **Code Review**([code-review.md](code-review-checklist.md))| 程式碼正確性、設計、安全 | code PR merge 前 |
|
|
129
133
|
| **內容自我審計**(如 eval-source skill 7 題)| 內容完整性(是否包含所有必要 section)| 每次文件產出 |
|
|
130
134
|
| **Self-Review Protocol**(本標準)| 內部 cross-reference 一致性(形式,非內容)| 大型 markdown 編輯後、commit 前 |
|
|
131
135
|
| **同儕審查** | 獨立視角、blast radius 評估 | 重要變更 |
|
|
@@ -164,3 +168,4 @@ Self-review (protocol v1.0.0): N issues found, M applied in same commit / 0 foun
|
|
|
164
168
|
## Self-Review Pass
|
|
165
169
|
|
|
166
170
|
> Self-review pass: 2026-05-26 (6 類無 issue;本標準首稿同步 self-review)
|
|
171
|
+
> Self-review pass: 2026-07-09(7 類無 issue —— 依 XSPEC-324 新增第 7 類「語言與術語一致性」)
|