{"data":{"skill":{"slug":"agentkitco-safe-refactor","name":"safe-refactor","icon":"📦","repo":"https://github.com/agentkitco/agentkit-dev-skills/tree/3de707c7875147b65ddff504d86b0d0dbf713fa7/skills/safe-refactor","status":"approved","author":"agentkitco","authorVersion":"1.0","skillstoreRevision":1},"audit":{"id":"22cbd0d6-2c4e-4c34-8bd9-1bef4cf0c506","skill_id":"f6edd233-3e5b-42e7-a877-306095411178","version":1,"content_hash":"v3:743429f75b17204d47661a86b577a575ad67517f:27d94e586faa8e2d21e9d487b98aa131f22a8f58e27e3aa6d1bbb1e60598157f:2ac924be1ad8453ab10bcdd2226cc3c437f70dd7e7cca9a3fbc83fb0d88f3e3b:736b696c6c732f6167656e746b6974636f2f736166652d7265666163746f72:8c55c6d07693918182eaf9007a8a5274","risk_level":"medium","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All three static findings are false positives: inline Markdown command references and a completion report do not establish shell execution or system reconnaissance. A separate rollback instruction could discard pre-existing user edits if git restore is applied without isolating the refactoring changes. No evidence found of prompt injection, credential access, or data exfiltration.","remediation":[{"issue":"The rollback instruction does not explicitly protect pre-existing user changes.","severity":"medium","suggestion":"Record the initial working diff and undo only edits made during the current refactoring step. Require explicit approval before discarding other changes."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":19,"line_start":19},{"file":"SKILL.md","line_end":24,"line_start":24}]}],"critical_findings":[],"high_findings":[],"medium_findings":[{"title":"Rollback Guidance May Discard Existing Changes","locations":[{"file":"SKILL.md","line_end":24,"line_start":24}],"confidence":0.82,"description":"The instruction says to undo a failed step using git restore without requiring preservation of existing edits. Restoring an entire modified file could discard unrelated user work.","review_kind":"security","source_category":"semantic","source_severity":"medium","confidence_reasoning":"The rollback instruction names git restore without a change-ownership safeguard. Data loss depends on the selected paths or hunks and pre-existing edits."}],"low_findings":[],"dangerous_patterns":[],"files_scanned":1,"total_lines":38,"audit_model":"codex","audited_at":"2026-10-17T19:54:05.118+00:00","created_at":"2026-10-17T20:06:31.727939+00:00","static_findings":[{"id":"external_commands:SKILL.md:19:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. **Check the blast radius.** Search for callers and dependents (`rg`), including tests, scripts, d","category":"external_commands","line_end":19,"severity":"medium","line_start":19},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **After every step** run the relevant tests plus type check or lint. If red, undo the step (`git r","category":"external_commands","line_end":24,"severity":"medium","line_start":24},{"id":"blocker:SKILL.md:31:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"Report: the steps taken, tests run and results, what you deliberately did not change, bugs or smells","category":"blocker","line_end":31,"severity":"low","line_start":31}],"finding_verdicts":[{"id":"external_commands:SKILL.md:19:ruby-shell-backtick-execution","reason":"The backticks format rg as inline Markdown within instructions to find callers and dependents. There is no Ruby code or shell command substitution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"The backticks format git restore as inline Markdown, not executable Ruby or shell substitution. Rollback scope is a separate semantic concern documented below.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:31:system-reconnaissance","reason":"The instruction requests a report of refactoring steps, test results, and remaining uncertainties. It does not request host enumeration or collection of system information.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[{"title":"Rollback Guidance May Discard Existing Changes","severity":"medium","locations":[{"file":"SKILL.md","line_end":24,"line_start":24}],"confidence":0.82,"description":"The instruction says to undo a failed step using git restore without requiring preservation of existing edits. Restoring an entire modified file could discard unrelated user work.","confidence_reasoning":"The rollback instruction names git restore without a change-ownership safeguard. Data loss depends on the selected paths or hunks and pre-existing edits."}],"subject_marketplace_commit_sha":"743429f75b17204d47661a86b577a575ad67517f","subject_content_hash":"27d94e586faa8e2d21e9d487b98aa131f22a8f58e27e3aa6d1bbb1e60598157f","subject_tree_hash":"2ac924be1ad8453ab10bcdd2226cc3c437f70dd7e7cca9a3fbc83fb0d88f3e3b","subject_plugin_path":"skills/agentkitco/safe-refactor","audit_payload_hash":"8c55c6d07693918182eaf9007a8a5274","confirmed_risk_level":"medium","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"743429f75b17204d47661a86b577a575ad67517f","contentHash":"27d94e586faa8e2d21e9d487b98aa131f22a8f58e27e3aa6d1bbb1e60598157f","treeHash":"2ac924be1ad8453ab10bcdd2226cc3c437f70dd7e7cca9a3fbc83fb0d88f3e3b","pluginPath":"skills/agentkitco/safe-refactor","auditPayloadHash":"8c55c6d07693918182eaf9007a8a5274"},"scannerVersion":"3.0.0","policyVersion":"skillstore-security-audit-policy-v1"},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"issued","url":"/api/skills/agentkitco-safe-refactor/audits/1/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"medium","confirmedFindingCount":1,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}