{"data":{"skill":{"slug":"agentkitco-explain-codebase","name":"explain-codebase","icon":"📦","repo":"https://github.com/agentkitco/agentkit-dev-skills/tree/3de707c7875147b65ddff504d86b0d0dbf713fa7/skills/explain-codebase","status":"approved","author":"agentkitco","authorVersion":"1.0","skillstoreRevision":1},"audit":{"id":"02946392-5f89-4866-a71d-c9548bc4ad89","skill_id":"99471583-8cf7-4a05-9899-a86592da421a","version":1,"content_hash":"v3:743429f75b17204d47661a86b577a575ad67517f:3b6ef7ccc9b3387d5649210cb6f00c70749dc679b61a5043a17d1ef9034cb955:c60a644bc01f018e4328098d6e0a99b52342790b419ec21c5fd8189f19d576f8:736b696c6c732f6167656e746b6974636f2f6578706c61696e2d636f646562617365:a91f7d538dc6731081b466baee53751f","risk_level":"low","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"Eight detections are benign Markdown, read-only history inspection, or protective rules. One low-severity risk remains: repository-defined tests and lint may execute untrusted project code without a trust check. No evidence found of prompt injection, secret exfiltration, or malicious intent.","remediation":[{"issue":"SKILL.md:17 directs execution of repository-defined tests and lint without checking repository trust.","severity":"low","suggestion":"Inspect task definitions before execution, request approval for untrusted repositories, and use an isolated environment without credentials or unnecessary network access."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":18,"line_start":18},{"file":"SKILL.md","line_end":19,"line_start":19},{"file":"SKILL.md","line_end":23,"line_start":23},{"file":"SKILL.md","line_end":38,"line_start":27},{"file":"SKILL.md","line_end":42,"line_start":38},{"file":"SKILL.md","line_end":42,"line_start":42}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[{"title":"System reconnaissance","locations":[{"file":"SKILL.md","line_end":17,"line_start":17}],"confidence":0.85,"description":"2. **Run it**: install, run, test commands from manifests, Makefile and CI config. Run the cheap one","review_kind":"security","source_category":"blocker","source_severity":"low","confidence_reasoning":"Line 17 directs execution of repository-defined tests and lint while exploring an unfamiliar project. These tasks can execute repository code without a required trust check or isolation."}],"dangerous_patterns":[{"title":"System reconnaissance","locations":[{"file":"SKILL.md","line_end":17,"line_start":17}],"confidence":0.85,"description":"2. **Run it**: install, run, test commands from manifests, Makefile and CI config. Run the cheap one","review_kind":"security","source_category":"blocker","source_severity":"low","confidence_reasoning":"Line 17 directs execution of repository-defined tests and lint while exploring an unfamiliar project. These tasks can execute repository code without a required trust check or isolation."}],"files_scanned":1,"total_lines":46,"audit_model":"codex","audited_at":"2026-10-17T19:46:24.562+00:00","created_at":"2026-10-17T20:05:50.455106+00:00","static_findings":[{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"3. **Shape**: directory tree two levels deep (ignore `node_modules`, build output, `.git`). Note lan","category":"external_commands","line_end":18,"severity":"medium","line_start":18},{"id":"external_commands:SKILL.md:19:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. **Entry points**: `main`, server start file, CLI entry, route definitions, scheduled jobs, event ","category":"external_commands","line_end":19,"severity":"medium","line_start":19},{"id":"external_commands:SKILL.md:23:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"8. **Quality signals**: where tests live and what they cover, CI checks, lint rules, areas with TODO","category":"external_commands","line_end":23,"severity":"medium","line_start":23},{"id":"external_commands:SKILL.md:27:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":38,"severity":"medium","line_start":27},{"id":"external_commands:SKILL.md:38:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":42,"severity":"medium","line_start":38},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Cite `path:line` or at least `path` for each claim. If you inferred something, label it \"inferred\"","category":"external_commands","line_end":42,"severity":"medium","line_start":42},{"id":"sensitive:SKILL.md:44:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"- Never print secret values from `.env` files or config; list variable names only.","category":"sensitive","line_end":44,"severity":"high","line_start":44},{"id":"blocker:SKILL.md:17:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"2. **Run it**: install, run, test commands from manifests, Makefile and CI config. Run the cheap one","category":"blocker","line_end":17,"severity":"low","line_start":17},{"id":"blocker:SKILL.md:43:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"- Do not describe code you did not open. Do not guess at business context; put it under open questio","category":"blocker","line_end":43,"severity":"low","line_start":43}],"finding_verdicts":[{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","reason":"Backticks mark directory names to exclude from a repository map. They are Markdown formatting, not executable shell or Ruby syntax.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:19:ruby-shell-backtick-execution","reason":"Backticks highlight entry-point identifiers such as main, bin, and scripts. The instruction asks the agent to locate these entries, not execute them.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:23:ruby-shell-backtick-execution","reason":"The inline command reads recent Git history and aggregates changed filenames for a churn summary. It has fixed arguments and no credential access, writes, or external destination.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:27:ruby-shell-backtick-execution","reason":"The fenced block contains a prose outline for the onboarding report. Its placeholders are output formatting, not executable instructions.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:38:ruby-shell-backtick-execution","reason":"The matched backticks close the report outline and format citation examples. No shell substitution or Ruby execution appears in this passage.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","reason":"The backticks format path and line citation placeholders. The rule requires evidence and labeled inference, not command execution.","verdict":"false_positive","confidence":0.99},{"id":"sensitive:SKILL.md:44:environment-file-access","reason":"The instruction explicitly prohibits printing secret values from environment files or configuration. It permits variable names only and provides no exfiltration instruction.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:17:system-reconnaissance","reason":"Line 17 directs execution of repository-defined tests and lint while exploring an unfamiliar project. These tasks can execute repository code without a required trust check or isolation.","verdict":"confirmed","confidence":0.85},{"id":"blocker:SKILL.md:43:system-reconnaissance","reason":"This rule prohibits describing unread code and guessing business context. It constrains unsupported claims and does not request host reconnaissance.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[],"subject_marketplace_commit_sha":"743429f75b17204d47661a86b577a575ad67517f","subject_content_hash":"3b6ef7ccc9b3387d5649210cb6f00c70749dc679b61a5043a17d1ef9034cb955","subject_tree_hash":"c60a644bc01f018e4328098d6e0a99b52342790b419ec21c5fd8189f19d576f8","subject_plugin_path":"skills/agentkitco/explain-codebase","audit_payload_hash":"a91f7d538dc6731081b466baee53751f","confirmed_risk_level":"low","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"743429f75b17204d47661a86b577a575ad67517f","contentHash":"3b6ef7ccc9b3387d5649210cb6f00c70749dc679b61a5043a17d1ef9034cb955","treeHash":"c60a644bc01f018e4328098d6e0a99b52342790b419ec21c5fd8189f19d576f8","pluginPath":"skills/agentkitco/explain-codebase","auditPayloadHash":"a91f7d538dc6731081b466baee53751f"},"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-explain-codebase/audits/1/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"low","confirmedFindingCount":1,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}