{"data":{"skill":{"slug":"reload-apps-citation-format","name":"citation-format","icon":"📦","repo":"https://github.com/reload-apps/citation-plugins/tree/d97dd78bc566fcc8b33fe87424d1a09fde6db298/skills/citation-format","status":"approved","author":"reload-apps","authorVersion":null,"skillstoreRevision":1},"audit":{"id":"f22c0ca6-5a04-4c05-bd7e-780d4dbaf779","skill_id":"d3f76fdd-eaa2-4eef-948a-9f0845b94736","version":1,"content_hash":"v3:45dcc884ec6fa1961423f1fee8072918692dac22:010a0cca6fd62a3752b91d35a091cc9d6d956be1bee4ad2371d4cc29dd57767c:181820a20feec2ef1c490108f10d6576efa095ed1a1f88d9d45bc926b1cc5f12:736b696c6c732f72656c6f61642d617070732f6369746174696f6e2d666f726d6174:96451430b9cac157121f5331f1854249","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 13 static findings are false positives involving Markdown delimiters, documented Citation operations, or document version checks. The instructions require user authorization for changes and sharing, preserve source metadata, and treat document content as untrusted. No evidence found of prompt injection, credential exfiltration, or system reconnaissance in the supplied files.","remediation":[],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":8,"line_start":8},{"file":"SKILL.md","line_end":12,"line_start":12},{"file":"SKILL.md","line_end":16,"line_start":14},{"file":"SKILL.md","line_end":18,"line_start":16},{"file":"SKILL.md","line_end":18,"line_start":18},{"file":"SKILL.md","line_end":20,"line_start":20},{"file":"SKILL.md","line_end":24,"line_start":24},{"file":"SKILL.md","line_end":28,"line_start":26},{"file":"SKILL.md","line_end":30,"line_start":28},{"file":"SKILL.md","line_end":30,"line_start":30},{"file":"SKILL.md","line_end":34,"line_start":32},{"file":"SKILL.md","line_end":34,"line_start":34}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":2,"total_lines":42,"audit_model":"codex","audited_at":"2026-10-31T00:05:32.012+00:00","created_at":"2026-10-31T01:04:54.446509+00:00","static_findings":[{"id":"external_commands:SKILL.md:8:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Use Citation's formatter for the final references. Establish the document and style requested by the","category":"external_commands","line_end":8,"severity":"medium","line_start":8},{"id":"external_commands:SKILL.md:12:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Call `format_references` with `document_id` and the style ID, following `next_offset` until null. Re","category":"external_commands","line_end":12,"severity":"medium","line_start":12},{"id":"external_commands:SKILL.md:14:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```sh","category":"external_commands","line_end":16,"severity":"medium","line_start":14},{"id":"external_commands:SKILL.md:16:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":18,"severity":"medium","line_start":16},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Supported IDs are `apa`, `modern-language-association`, `chicago-author-date`, `chicago-notes-biblio","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":"Run `check_citations` or `citation citations check DOCUMENT_ID --all --json` and inspect missing met","category":"external_commands","line_end":20,"severity":"medium","line_start":20},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Lead with the formatted references and unresolved fields. Link the document using its returned `url`","category":"external_commands","line_end":24,"severity":"medium","line_start":24},{"id":"external_commands:SKILL.md:26:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```sh","category":"external_commands","line_end":28,"severity":"medium","line_start":26},{"id":"external_commands:SKILL.md:28:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":30,"severity":"medium","line_start":28},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Export requires `exports:read` in addition to document and source read permissions. The CLI reads al","category":"external_commands","line_end":30,"severity":"medium","line_start":30},{"id":"external_commands:SKILL.md:32:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Formatting alone does not change the draft. The `in_text` values are individual examples; numeric ci","category":"external_commands","line_end":34,"severity":"medium","line_start":32},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"If the user requests a document style change, first read its current `version`, then `update_draft` ","category":"external_commands","line_end":34,"severity":"medium","line_start":34},{"id":"blocker:SKILL.md:34:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"If the user requests a document style change, first read its current `version`, then `update_draft` ","category":"blocker","line_end":34,"severity":"low","line_start":34}],"finding_verdicts":[{"id":"external_commands:SKILL.md:8:ruby-shell-backtick-execution","reason":"Backticks delimit Markdown examples for workspace verification through list_workspaces or citation auth status --json. These are task-related checks, not Ruby execution or shell substitution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:12:ruby-shell-backtick-execution","reason":"The backticks mark MCP method names and pagination fields in prose. Snapshot retention and bounded retries support consistent reference formatting; no shell execution syntax is present.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:14:ruby-shell-backtick-execution","reason":"The matched span is a Markdown shell code fence containing a Citation reference-formatting example. Its literal command performs the requested formatting without shell substitution or unrelated actions.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:16:ruby-shell-backtick-execution","reason":"The matched backticks close a Markdown code block and introduce inline style identifiers. They are documentation delimiters, not executable backtick expressions.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","reason":"Each backtick pair encloses a supported citation style identifier in Markdown. These values select formatting styles and do not execute commands.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:20:ruby-shell-backtick-execution","reason":"The inline examples invoke Citation metadata checks directly related to the requested bibliography. The instructions acknowledge verification limits and preserve original metadata; no dangerous shell substitution is shown.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"Backticks identify the returned document URL, export tool, and bibliography formats. Export is scoped to a user-requested bibliography file, with no instruction to send data elsewhere.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:26:ruby-shell-backtick-execution","reason":"This Markdown code fence contains a Citation export example for a requested local bibliography. The command has a fixed example output path, and the documented CLI refuses existing output paths.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:28:ruby-shell-backtick-execution","reason":"The backticks close a Markdown code block and delimit permission and snapshot field names in prose. They do not form executable shell or Ruby expressions.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","reason":"Inline backticks identify exports:read and snapshot_id while explaining export permissions and consistency safeguards. No command execution or unauthorized permission escalation is requested.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:32:ruby-shell-backtick-execution","reason":"Backticks mark citation output fields and document update parameters in Markdown. The surrounding instructions prohibit implicit draft changes and require user-requested updates with version checks.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","reason":"The documented update_draft call and CLI equivalent implement an explicitly requested document style change. Version checks, preserved rich content, and request identifiers constrain updates; Markdown backticks are not shell substitution.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:34:system-reconnaissance","reason":"The version field belongs to the Citation document and supports optimistic concurrency during a requested style update. This does not inspect the operating system, installed software, or host configuration.","verdict":"false_positive","confidence":1}],"semantic_findings":[],"subject_marketplace_commit_sha":"45dcc884ec6fa1961423f1fee8072918692dac22","subject_content_hash":"010a0cca6fd62a3752b91d35a091cc9d6d956be1bee4ad2371d4cc29dd57767c","subject_tree_hash":"181820a20feec2ef1c490108f10d6576efa095ed1a1f88d9d45bc926b1cc5f12","subject_plugin_path":"skills/reload-apps/citation-format","audit_payload_hash":"96451430b9cac157121f5331f1854249","confirmed_risk_level":"safe","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"45dcc884ec6fa1961423f1fee8072918692dac22","contentHash":"010a0cca6fd62a3752b91d35a091cc9d6d956be1bee4ad2371d4cc29dd57767c","treeHash":"181820a20feec2ef1c490108f10d6576efa095ed1a1f88d9d45bc926b1cc5f12","pluginPath":"skills/reload-apps/citation-format","auditPayloadHash":"96451430b9cac157121f5331f1854249"},"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/reload-apps-citation-format/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}}