{"data":{"skill":{"slug":"nexaiguy-agent-checkpoint","name":"agent-checkpoint","icon":"📦","repo":"https://github.com/nexaiguy/nex-ai-skills/tree/463aaff26593654193deb52f24d18e80ec21e323/skills/agent-checkpoint","status":"approved","author":"nexaiguy","authorVersion":"1.2","skillstoreRevision":1,"license":"MIT"},"licenseCorrection":null,"audit":{"id":"a4a44531-cd98-46d3-bdb1-54109943f0c0","skill_id":"fb31b25a-258c-437f-9cc3-bd0fc9269440","version":1,"content_hash":"v3:3ddfdca559084abffbfdd188f2ba14b597dcfd9c:aa22bc127a5111c42d7b558bc306fcabeb83feb25d162f9d9836c4a191f284e2:07c230d4cfaad958a627650815dbed8e030e460010cc72bc251f70a328f411f9:736b696c6c732f6e657861696775792f6167656e742d636865636b706f696e74:5e6762933bf70be7c2b6dee7d9b197c1","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 20 static findings are false positives: Markdown formatting, documented commands, attribution links, and explanatory text do not establish malicious behavior. No evidence found of prompt injection, credential access, exfiltration, or reconnaissance in the supplied guide. The implementation, hooks, and tests are explicitly absent, so their safety claims cannot be verified.","remediation":[{"issue":"The guide describes executable features and security guarantees without including the implementation or tests.","severity":"low","suggestion":"Label this distribution as documentation only and provide a separately auditable implementation before presenting its safety guarantees as verified."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":18,"line_start":18},{"file":"SKILL.md","line_end":25,"line_start":20},{"file":"SKILL.md","line_end":29,"line_start":25},{"file":"SKILL.md","line_end":29,"line_start":29},{"file":"SKILL.md","line_end":30,"line_start":30},{"file":"SKILL.md","line_end":35,"line_start":34},{"file":"SKILL.md","line_end":69,"line_start":35},{"file":"SKILL.md","line_end":72,"line_start":69},{"file":"SKILL.md","line_end":76,"line_start":72},{"file":"SKILL.md","line_end":86,"line_start":76},{"file":"SKILL.md","line_end":88,"line_start":86},{"file":"SKILL.md","line_end":90,"line_start":88},{"file":"SKILL.md","line_end":98,"line_start":90},{"file":"SKILL.md","line_end":102,"line_start":98},{"file":"SKILL.md","line_end":102,"line_start":102}]},{"factor":"network","evidence":[{"file":"SKILL.md","line_end":14,"line_start":14},{"file":"SKILL.md","line_end":124,"line_start":124}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":1,"total_lines":125,"audit_model":"codex","audited_at":"2026-11-02T12:07:20.594+00:00","created_at":"2026-11-02T17:00:38.4246+00:00","static_findings":[{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"One script, `checkpoint.py`, that gives any project an undo button for agent work:","category":"external_commands","line_end":18,"severity":"medium","line_start":18},{"id":"external_commands:SKILL.md:20:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":25,"severity":"medium","line_start":20},{"id":"external_commands:SKILL.md:25:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":29,"severity":"medium","line_start":25},{"id":"external_commands:SKILL.md:29:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Claude Code's `/rewind` tracks edits made with Claude's file tools. It does not track files change","category":"external_commands","line_end":29,"severity":"medium","line_start":29},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Asking an agent to commit or stash before every risky step pollutes history, and `stash`/`checkout","category":"external_commands","line_end":30,"severity":"medium","line_start":30},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Inside git**: checkpoints are commits under `refs/checkpoints/`, built with a private index. You","category":"external_commands","line_end":35,"severity":"medium","line_start":34},{"id":"external_commands:SKILL.md:35:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- **Outside git**: deduplicated content-addressed copies in `.agent-checkpoints/`.","category":"external_commands","line_end":69,"severity":"medium","line_start":35},{"id":"external_commands:SKILL.md:69:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":72,"severity":"medium","line_start":69},{"id":"external_commands:SKILL.md:72:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":76,"severity":"medium","line_start":72},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":86,"severity":"medium","line_start":76},{"id":"external_commands:SKILL.md:86:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":88,"severity":"medium","line_start":86},{"id":"external_commands:SKILL.md:88:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"The two deletions in `src/orders/` were not part of the plan (a codemod I ran matched too broadly), ","category":"external_commands","line_end":90,"severity":"medium","line_start":88},{"id":"external_commands:SKILL.md:90:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":98,"severity":"medium","line_start":90},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":102,"severity":"medium","line_start":98},{"id":"external_commands:SKILL.md:102:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`checkpoint.py restore 1` puts the project back exactly as it was, and `restore 2` would bring the r","category":"external_commands","line_end":102,"severity":"medium","line_start":102},{"id":"network:SKILL.md:14:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"> Free skill by [Nex AI](https://nex-ai.be). This file is the public guide from [Agensi](https://www","category":"network","line_end":14,"severity":"low","line_start":14},{"id":"network:SKILL.md:124:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"Built by [Nex AI](https://nex-ai.be). More skills, including the paid catalog: https://www.agensi.io","category":"network","line_end":124,"severity":"low","line_start":124},{"id":"sensitive:SKILL.md:114:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"### Does it store my .env?","category":"sensitive","line_end":114,"severity":"high","line_start":114},{"id":"blocker:SKILL.md:37:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- **Never loses what it did not save**: files that are ignored, too large, or inside nested reposito","category":"blocker","line_end":37,"severity":"low","line_start":37},{"id":"blocker:SKILL.md:124:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"Built by [Nex AI](https://nex-ai.be). More skills, including the paid catalog: https://www.agensi.io","category":"blocker","line_end":124,"severity":"low","line_start":124}],"finding_verdicts":[{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","reason":"The backticks format a script name in Markdown prose. There is no Ruby or shell command substitution.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:20:ruby-shell-backtick-execution","reason":"This is a fenced Bash example showing checkpoint operations, not backtick execution. It contains no dynamic shell construction or malicious command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:25:ruby-shell-backtick-execution","reason":"The matched backticks close a Markdown code fence. The following text explains editor recovery behavior rather than executing commands.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:29:ruby-shell-backtick-execution","reason":"Inline code names commands as examples of edits an editor rewind may miss. The prose does not instruct their execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","reason":"The guide discusses risks of Git operations using inline code formatting. This is cautionary prose, not executable command substitution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","reason":"Backticks format documented local checkpoint storage locations. Neither line executes a shell command.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:35:ruby-shell-backtick-execution","reason":"The range contains storage documentation, limitations, and an example introduction. Its backticks are Markdown formatting, not executable substitution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:69:ruby-shell-backtick-execution","reason":"A fenced transcript illustrates saving a checkpoint and its expected response. The fence delimiters are not shell backticks.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:72:ruby-shell-backtick-execution","reason":"The matched range closes one transcript and opens another. These are Markdown delimiters without execution semantics.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","reason":"The fenced transcript lists example file differences after a refactor. It does not execute backticks or construct shell commands.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:86:ruby-shell-backtick-execution","reason":"This closes a Markdown transcript before explanatory prose. No executable backtick expression is present.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:88:ruby-shell-backtick-execution","reason":"Inline backticks format an example directory, followed by a code fence. The passage explains recovering unintended deletions, not unauthorized execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:90:ruby-shell-backtick-execution","reason":"The fenced transcript demonstrates scoped file restoration and its documented undo checkpoint. Markdown fencing is not Ruby or shell backtick execution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:98:ruby-shell-backtick-execution","reason":"The range closes a transcript and introduces optional rollback instructions. Its backticks are Markdown syntax, not shell substitution.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:102:ruby-shell-backtick-execution","reason":"Inline code documents restoring a selected checkpoint and reversing that restore. No Ruby execution, command injection, or unrelated operation appears.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:14:hardcoded-url","reason":"These are publisher attribution and product documentation links. No request code, payload transmission, or instruction to send project data is present.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:124:hardcoded-url","reason":"The footer links to the publisher and its catalog. A static promotional link does not establish network execution or exfiltration.","verdict":"false_positive","confidence":0.99},{"id":"sensitive:SKILL.md:114:environment-file-access","reason":"The match is an FAQ question about environment files, followed by a statement that ignored files are excluded. No file access occurs here.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:37:system-reconnaissance","reason":"The sentence describes exclusions for ignored files, large files, and nested repositories. It contains no system enumeration or reconnaissance instruction.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:124:system-reconnaissance","reason":"This is a publisher attribution footer and catalog link. It does not collect or inspect system information.","verdict":"false_positive","confidence":1}],"semantic_findings":[],"subject_marketplace_commit_sha":"3ddfdca559084abffbfdd188f2ba14b597dcfd9c","subject_content_hash":"aa22bc127a5111c42d7b558bc306fcabeb83feb25d162f9d9836c4a191f284e2","subject_tree_hash":"07c230d4cfaad958a627650815dbed8e030e460010cc72bc251f70a328f411f9","subject_plugin_path":"skills/nexaiguy/agent-checkpoint","audit_payload_hash":"5e6762933bf70be7c2b6dee7d9b197c1","confirmed_risk_level":"safe","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"3ddfdca559084abffbfdd188f2ba14b597dcfd9c","contentHash":"aa22bc127a5111c42d7b558bc306fcabeb83feb25d162f9d9836c4a191f284e2","treeHash":"07c230d4cfaad958a627650815dbed8e030e460010cc72bc251f70a328f411f9","pluginPath":"skills/nexaiguy/agent-checkpoint","auditPayloadHash":"5e6762933bf70be7c2b6dee7d9b197c1"},"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/nexaiguy-agent-checkpoint/audits/1/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"safe","confirmedFindingCount":0,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}