You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reduce the real attack surface behind the current skills.sh security warnings and make every remaining intentional capability explicit, testable, and auditable without removing the GitHub, Linear, repository-validation, shell, or database-comparison behavior these skills exist to provide.
A successful closeout improves the code and the accuracy of scanner explanations. It does not require every automated badge to become green: Snyk W011 is an inherent exposure for workflows that must read outsider-authored issue, review, and CI content.
Current evidence
The skills.sh installation report currently shows:
Snyk W011 medium-risk exposure where lifecycle and review skills ingest third-party prose;
Socket low-severity anomalies for implement-epic's transitive implement-ticket trust boundary;
Gen/Socket findings for carve-changesets command strings executed with shell=True; and
Socket concern about database-comparison stdout persisted to disk.
The scanners found no high/critical verdict, backdoor, secret-exfiltration behavior, or malicious payload. This epic therefore owns focused defense-in-depth work, not a redesign or a scanner-appeasement exercise.
#69 is blocked by #71. Database-output lifetime should be implemented against the final argv-based command executor so the two tickets do not independently redesign db_compare capture and failure semantics.
No other blocker edge is justified. #68 and #70 touch related orchestration prose but neither consumes an artifact produced by the other.
Epic acceptance criteria
All four native child issues are closed only after their own acceptance criteria pass.
implement-epic refuses missing, third-party, incompatible, dynamically fetched, or unverifiable implement-ticket dependencies before child mutation while preserving a valid installed repository-owned path.
Tracker, repository, review, CI, and packet prose remains usable as verified evidence but cannot grant authority, override policy, request secrets, or supply executable commands.
Adversarial and legitimate-control evaluations cover the affected GitHub, Linear, review, CI, command-discovery, and dependency-provenance boundaries.
Production carve-changesets command execution contains no subprocess.run(..., shell=True) path; ordinary commands use exact argv boundaries and approved shell semantics remain available only through an explicitly selected shell executable.
Database comparison leaves no persistent raw output by default and retains exact raw output only through an explicit, permission-restricted persistence option.
Canonical and bundled review contracts remain byte-identical wherever touched.
just format, just lint, and just test pass on the integrated main result.
README and CHANGELOG.md accurately describe user-visible compatibility or safety changes.
The latest integrated skills are rescanned through the normal skills.sh flow and the before/after Gen, Socket, and Snyk results are recorded. A remaining exposure-based W011 is documented rather than hidden or treated as an epic failure.
Closeout evidence
Before closing this epic:
verify every child outcome is represented on current main;
run the required clean-main repository gates;
read back native parent, subIssues, blockedBy, and blocking relationships;
inspect the current per-skill security reports after rescan;
confirm that no mitigation removed an intended capability or weakened an authority/review gate; and
record residual scanner findings with their intentional capability and tested mitigation.
Non-goals
Eliminate third-party-content exposure by ceasing to read GitHub, Linear, review, repository, or CI content.
Promise that heuristic or model-based scanners will downgrade every report.
Obscure, relocate, or rename risky behavior merely to evade static analysis.
Remove arbitrary approved repository validation, explicit shell programs, database comparison, or raw-output retention when deliberately requested.
Outcome
Reduce the real attack surface behind the current skills.sh security warnings and make every remaining intentional capability explicit, testable, and auditable without removing the GitHub, Linear, repository-validation, shell, or database-comparison behavior these skills exist to provide.
A successful closeout improves the code and the accuracy of scanner explanations. It does not require every automated badge to become green: Snyk W011 is an inherent exposure for workflows that must read outsider-authored issue, review, and CI content.
Current evidence
The skills.sh installation report currently shows:
implement-epic's transitiveimplement-tickettrust boundary;carve-changesetscommand strings executed withshell=True; andThe scanners found no high/critical verdict, backdoor, secret-exfiltration behavior, or malicious payload. This epic therefore owns focused defense-in-depth work, not a redesign or a scanner-appeasement exercise.
Child tickets
implement-epicdelegation to an installed repository-owned compatibleimplement-ticket.carve-changesetsdatabase-comparison output ephemeral by default while retaining explicit output persistence.GitHub native parent/sub-issue and blocker relationships are the source of truth. This list is a reader-oriented summary only.
Dependency and execution shape
Initial parallel-ready children:
#69 is blocked by #71. Database-output lifetime should be implemented against the final argv-based command executor so the two tickets do not independently redesign
db_comparecapture and failure semantics.No other blocker edge is justified. #68 and #70 touch related orchestration prose but neither consumes an artifact produced by the other.
Epic acceptance criteria
implement-epicrefuses missing, third-party, incompatible, dynamically fetched, or unverifiableimplement-ticketdependencies before child mutation while preserving a valid installed repository-owned path.carve-changesetscommand execution contains nosubprocess.run(..., shell=True)path; ordinary commands use exact argv boundaries and approved shell semantics remain available only through an explicitly selected shell executable.just format,just lint, andjust testpass on the integratedmainresult.CHANGELOG.mdaccurately describe user-visible compatibility or safety changes.Closeout evidence
Before closing this epic:
main;parent,subIssues,blockedBy, andblockingrelationships;Non-goals