{"data":{"skill":{"slug":"lllllllama-minimal-run-and-audit","name":"minimal-run-and-audit","icon":"📦","repo":"https://github.com/lllllllama/ai-paper-reproduction-skill/tree/main/skills/minimal-run-and-audit/","status":"approved","author":"lllllllama","authorVersion":null,"skillstoreRevision":null},"audit":{"id":"d1efb9b7-bcab-43fc-a9a7-45395be5c2c4","skill_id":"a7048a7e-8ab4-4761-99a0-bf3b93a0b292","version":2,"content_hash":"d1365ece10245367d4af19a4b8bb568f","risk_level":"medium","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":null,"manual_install_policy":null,"summary":"Static analysis reported weak crypto, shell backtick, reconnaissance, and subprocess patterns. Review found the weak crypto, backtick, and reconnaissance hits are false positives from Markdown text, descriptions, or status messages, while the subprocess runner is intentional but risky. The skill is not blocked, but it should publish with a warning because it executes a user-selected local command.","remediation":[],"risk_factor_evidence":[{"factor":"scripts","evidence":[{"file":"scripts/run_command.py","line_end":1,"line_start":1},{"file":"scripts/run_command.py","line_end":275,"line_start":243}]},{"factor":"external_commands","evidence":[{"file":"scripts/run_command.py","line_end":62,"line_start":54},{"file":"scripts/run_command.py","line_end":155,"line_start":145},{"file":"SKILL.md","line_end":35,"line_start":33},{"file":"SKILL.md","line_end":47,"line_start":47}]}],"critical_findings":[],"high_findings":[],"medium_findings":[{"title":"User-Selected Local Command Execution","locations":[{"file":"scripts/run_command.py","line_end":155,"line_start":145},{"file":"scripts/run_command.py","line_end":251,"line_start":245}],"confidence":0.88,"description":"The runner accepts a command from the caller and executes it in the target repository with subprocess.run. It uses shlex.split and does not enable a shell, which lowers injection risk, but the selected command can still run arbitrary local tools or repository code.","confidence_reasoning":"The subprocess call and command argument are explicit. The risk is real but bounded by the skill purpose and by avoiding shell=True."}],"low_findings":[{"title":"Repository Path Metadata Collection","locations":[{"file":"scripts/run_command.py","line_end":62,"line_start":54},{"file":"scripts/run_command.py","line_end":99,"line_start":65},{"file":"scripts/run_command.py","line_end":168,"line_start":162}],"confidence":0.78,"description":"The script runs git status before and after execution and reports changed, new, deleted, and touched paths. This is useful audit evidence, but it may expose repository file names in generated reports.","confidence_reasoning":"The git status collection and path reporting are directly visible. The impact is limited to path metadata and supports the stated audit workflow."},{"title":"Static Pattern False Positives","locations":[{"file":"agents/openai.yaml","line_end":2,"line_start":2},{"file":"references/reporting-policy.md","line_end":13,"line_start":13},{"file":"references/reporting-policy.md","line_end":23,"line_start":23},{"file":"scripts/run_command.py","line_end":220,"line_start":220},{"file":"scripts/run_command.py","line_end":238,"line_start":238},{"file":"scripts/run_command.py","line_end":244,"line_start":244},{"file":"SKILL.md","line_end":3,"line_start":3},{"file":"SKILL.md","line_end":43,"line_start":41},{"file":"SKILL.md","line_end":47,"line_start":47}],"confidence":0.93,"description":"The weak crypto, Ruby backtick, and reconnaissance findings are not confirmed security issues. The cited lines contain Markdown code formatting, descriptions, or status text rather than cryptographic algorithms, Ruby execution, or system reconnaissance commands.","confidence_reasoning":"The cited lines were reviewed in context and do not perform the flagged operations. They are documentation or user-facing strings."}],"dangerous_patterns":[{"title":"subprocess.run On Caller-Provided Command","locations":[{"file":"scripts/run_command.py","line_end":155,"line_start":145},{"file":"scripts/run_command.py","line_end":251,"line_start":245}],"confidence":0.9,"description":"The script executes the caller-provided command after tokenizing it with shlex.split. This is intentional for reproduction runs, but it must be limited to trusted repositories and commands.","confidence_reasoning":"The command source and execution call are both explicit. The absence of shell=True reduces command injection risk but does not remove execution risk."},{"title":"subprocess.run For Git Status Probes","locations":[{"file":"scripts/run_command.py","line_end":62,"line_start":54},{"file":"scripts/run_command.py","line_end":99,"line_start":65}],"confidence":0.86,"description":"The script runs fixed git commands to inspect repository state. The command arguments are hardcoded, so this is a low-risk use that supports reporting.","confidence_reasoning":"The git commands are visible and use fixed arguments. No user-controlled git subcommand is present in this helper path."}],"files_scanned":5,"total_lines":384,"audit_model":"codex","audited_at":"2026-06-30T07:33:24.112+00:00","created_at":"2026-06-30T10:03:00.212677+00:00","static_findings":[],"finding_verdicts":[],"semantic_findings":[],"subject_marketplace_commit_sha":null,"subject_content_hash":null,"subject_tree_hash":null,"subject_plugin_path":null,"audit_payload_hash":null,"confirmed_risk_level":null,"scanner_version":null,"policy_version":null,"subject":{"marketplaceCommitSha":null,"contentHash":null,"treeHash":null,"pluginPath":null,"auditPayloadHash":null},"scannerVersion":null,"policyVersion":null},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"not_attestable","url":null,"status":null,"reason":"canonical install advisories are incomplete"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"safe","confirmedFindingCount":0,"capabilityReviewCount":2,"needsReviewCount":0,"falsePositiveCount":1,"agentAutoInstallPolicy":null,"manualInstallPolicy":null,"artifactSignatureState":"available","attestationState":"not_attestable","verificationState":"not_verified"},"isLatest":false}}