{"data":{"skill":{"slug":"reload-apps-citation-research","name":"citation-research","icon":"📦","repo":"https://github.com/reload-apps/citation-plugins/tree/d97dd78bc566fcc8b33fe87424d1a09fde6db298/skills/citation-research","status":"approved","author":"reload-apps","authorVersion":null,"skillstoreRevision":1},"audit":{"id":"fbd3ec2e-2f09-44ec-b0ce-864a8b5e9c7d","skill_id":"fbf1f77b-a5b5-4fd8-a67c-00afef403a83","version":1,"content_hash":"v3:45dcc884ec6fa1961423f1fee8072918692dac22:6bc05a7d6c15774e18a0c3a103f44b1b2959ca448bb4d4f70f248acbb7a994ff:98126a60219f8d4cacbb90c7bae192923ad88a17bafe2ddd04ff17d0f6d3ec40:736b696c6c732f72656c6f61642d617070732f6369746174696f6e2d7265736561726368:2c37c1b1504f7d9163e03f98f94f9cc5","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 12 static findings are false positives: Markdown backticks are not executable substitutions, and the source-save command does not perform system reconnaissance. The instructions restrict workspace access, require evidence-backed metadata, and reject instructions embedded in reference material. No evidence found of credential theft, unauthorized data transfers, or prompt injection attempts.","remediation":[],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":12,"line_start":12},{"file":"SKILL.md","line_end":17,"line_start":14},{"file":"SKILL.md","line_end":19,"line_start":17},{"file":"SKILL.md","line_end":19,"line_start":19},{"file":"SKILL.md","line_end":43,"line_start":29},{"file":"SKILL.md","line_end":45,"line_start":43},{"file":"SKILL.md","line_end":45,"line_start":45},{"file":"SKILL.md","line_end":47,"line_start":47},{"file":"SKILL.md","line_end":51,"line_start":49},{"file":"SKILL.md","line_end":53,"line_start":51},{"file":"SKILL.md","line_end":57,"line_start":53}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":2,"total_lines":63,"audit_model":"codex","audited_at":"2026-10-31T00:08:28.831+00:00","created_at":"2026-10-31T01:05:03.386315+00:00","static_findings":[{"id":"external_commands:SKILL.md:12:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Use the connected Citation MCP tools, or the installed `citation` CLI. First call `list_workspaces` ","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":17,"severity":"medium","line_start":14},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":19,"severity":"medium","line_start":17},{"id":"external_commands:SKILL.md:19:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Replace uppercase argument placeholders with IDs returned by Citation. The MCP source cursor is `aft","category":"external_commands","line_end":19,"severity":"medium","line_start":19},{"id":"external_commands:SKILL.md:29:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```json","category":"external_commands","line_end":43,"severity":"medium","line_start":29},{"id":"external_commands:SKILL.md:43:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":45,"severity":"medium","line_start":43},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Only include fields supported by the evidence. DOI is optional and must not remain a placeholder. `u","category":"external_commands","line_end":45,"severity":"medium","line_start":45},{"id":"external_commands:SKILL.md:47:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"When saving is in scope, call `add_source` with `document_id`, `source` and a fresh `request_id`, or","category":"external_commands","line_end":47,"severity":"medium","line_start":47},{"id":"external_commands:SKILL.md:49:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```sh","category":"external_commands","line_end":51,"severity":"medium","line_start":49},{"id":"external_commands:SKILL.md:51:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":53,"severity":"medium","line_start":51},{"id":"external_commands:SKILL.md:53:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Citation reuses a matching source identity. Compare the saved metadata with `read_source` before cla","category":"external_commands","line_end":57,"severity":"medium","line_start":53},{"id":"blocker:SKILL.md:50:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"citation sources add DOCUMENT_ID --file source.json --request-id REQUEST_UUID --json","category":"blocker","line_end":50,"severity":"low","line_start":50}],"finding_verdicts":[{"id":"external_commands:SKILL.md:12:ruby-shell-backtick-execution","reason":"The backticks delimit CLI and MCP names in Markdown, not shell substitutions. The instructions use Citation authentication and document tools within one workspace.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:14:ruby-shell-backtick-execution","reason":"This is a Markdown shell fence containing Citation document-read and source-list commands. Neither command executes backtick substitutions or probes the host system.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","reason":"Line 17 closes a Markdown code fence, followed by prose describing returned IDs and pagination. There is no Ruby or shell backtick execution.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:19:ruby-shell-backtick-execution","reason":"Inline backticks mark pagination fields, tool names, and a Citation draft command as documentation. Draft creation is explicitly limited to a requested collection.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:29:ruby-shell-backtick-execution","reason":"The fenced block is an illustrative JSON source object, not executable Ruby or shell. Its metadata fields do not invoke commands.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:43:ruby-shell-backtick-execution","reason":"Line 43 closes the JSON Markdown fence; subsequent inline backticks label metadata fields. No execution mechanism appears in this context.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","reason":"The backticks mark the url and csl field names. The prose requires evidence-backed fields and HTTP or HTTPS source addresses, not command execution.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:47:ruby-shell-backtick-execution","reason":"The inline code identifies the add_source tool and its arguments. Saving is conditional on user scope, with no shell substitution or arbitrary execution.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:49:ruby-shell-backtick-execution","reason":"The Markdown fence contains a Citation command that imports prepared source metadata using explicit placeholders. No backtick substitution or unrelated command appears.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:51:ruby-shell-backtick-execution","reason":"Line 51 closes the shell example, followed by source-identity and retry guidance. The backticks are Markdown delimiters rather than executable syntax.","verdict":"false_positive","confidence":1},{"id":"external_commands:SKILL.md:53:ruby-shell-backtick-execution","reason":"The backticks label read_source and the returned url field in explanatory prose. The surrounding instructions require verification and bounded retries, not command execution.","verdict":"false_positive","confidence":1},{"id":"blocker:SKILL.md:50:system-reconnaissance","reason":"The command imports source.json into a specified Citation document with a request ID. It does not enumerate host information, credentials, processes, or networks.","verdict":"false_positive","confidence":1}],"semantic_findings":[],"subject_marketplace_commit_sha":"45dcc884ec6fa1961423f1fee8072918692dac22","subject_content_hash":"6bc05a7d6c15774e18a0c3a103f44b1b2959ca448bb4d4f70f248acbb7a994ff","subject_tree_hash":"98126a60219f8d4cacbb90c7bae192923ad88a17bafe2ddd04ff17d0f6d3ec40","subject_plugin_path":"skills/reload-apps/citation-research","audit_payload_hash":"2c37c1b1504f7d9163e03f98f94f9cc5","confirmed_risk_level":"safe","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"45dcc884ec6fa1961423f1fee8072918692dac22","contentHash":"6bc05a7d6c15774e18a0c3a103f44b1b2959ca448bb4d4f70f248acbb7a994ff","treeHash":"98126a60219f8d4cacbb90c7bae192923ad88a17bafe2ddd04ff17d0f6d3ec40","pluginPath":"skills/reload-apps/citation-research","auditPayloadHash":"2c37c1b1504f7d9163e03f98f94f9cc5"},"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-research/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}}