Security regression: dedicated security test suite from commit 7109410 missing from codebase #252
Labels
No labels
blocked:children
blocked:commit-ready-failed
blocked:depends-231
blocked:depends-236
blocked:depends-237
blocked:depends-238
blocked:depends-239
blocked:gate-fetch
blocked:gate-fetch
blocked:gate-lint
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:no-procedure
blocked:preflight
blocked:verify-failed
bug
enhancement
feature-request
high-priority
in-progress
lint-cleanup
needs-decompose
needs-triage
ops-retry
ops-task
phase-5
quickfix
security/medium
self-building
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/mesh-seed#252
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding from post-deploy probe of mesh-seed #46 (kanban card t_714d1965)
Description
The security hardening commit
7109410("feat(security): implement multi-wave security hardening for deploy skills") originally introduced three dedicated security test files to validate the mitigation measures for issue #46:test_secrets_manager.pytest_skill_secrets_redaction.pytest_node_provision_skill_integration.pyThese files no longer exist in the codebase. Only a stale
.pycbytecode file remains fortest_node_provision_skill_integration. The only remaining test coverage for the security hardening lives intests/unit/test_skill_runtime.py(34 tests), which covers the runtime integration but lacks the dedicated attack-surface tests (command injection probes, secret redaction edge cases, node provision security boundaries).Impact
Security-specific tests that validated hard-won mitigations (host key pinning, bootstrap integrity, champion gate enforcement, secret redaction) have been lost. Future refactors or regressions in these areas will not be caught by the existing test suite.
Steps to Reproduce
test_secrets_manager*,test_skill_secrets_redaction*, ortest_node_provision_skill_integration*.pycfortest_node_provision_skill_integration)Expected Behavior
Security tests shipped with the hardening commit should remain in the codebase to provide regression coverage. Specifically, these files should exist at test paths matching
tests/security/*or similar.Actual Behavior
The security-specific test files have been removed from the source tree. Only generic runtime tests remain.
References
7109410Reopened by QA reconciliation sweep (2026-08-04).
The closure of this issue at 2026-08-04T04:34:57Z was a false-positive from a kanban reconciliation sweep that bulk-closed multiple open issues without verifying whether fixes had landed. No fix has actually landed for this issue.
Independent verification on master (
92521ce956):tests/unit/test_secrets_manager.py→ 404tests/unit/test_skill_secrets_redaction.py→ 404tests/unit/test_node_provision_skill_integration.py→ 404tests/unit/test_skill_runtime.py(referenced in the original issue body as containing 34 tests) → 404No PR contains these files. The fixit kanban card
t_75eb6327(kilo-gsd-runner assignee) never produced a fix — the runner crashed at 70 seconds (kilo-crash: kilo-gsd.py exited with code 1) and the card sat blocked for ~120 hours before being auto-completed by the reconciliation sweep with empty result.The underlying claim of this issue remains valid: the dedicated security regression tests added in commit
7109410are absent frommaster. Fix is still required.Reopened by QA verification — false-close detected.
Evidence:
b44120aexists on branchrestore-security-tests-252but is NOT on mastertest_secrets_manager.py,test_skill_secrets_redaction.py,test_node_provision_skill_integration.py) do NOT exist on masterskill_executor.pypassescapability_idtorecord_secret_access()but the method expectscontract_idStatus: PR #265 needs to be fixed (use
contract_idinstead ofcapability_id) and merged.