{"data":{"skill":{"slug":"k-dense-ai-rdkit","name":"rdkit","icon":"📦","repo":"https://github.com/K-Dense-AI/claude-scientific-skills/tree/main/scientific-skills/rdkit","status":"approved","author":"K-Dense-AI","authorVersion":null,"skillstoreRevision":null},"audit":{"id":"49d9be83-5d88-4ace-8073-3a60b797005a","skill_id":"e1affdfd-ebe6-4c48-a4ce-d5f765e5ddb1","version":5,"content_hash":"ccc0cf579dc445391e8496294a1186a9","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 many high-risk hits, but review shows most are false positives from Markdown backticks, SMARTS patterns, and RDKit chemistry terminology. No malicious intent, network access, credential access, shell execution, or prompt injection evidence was found. The remaining medium risk is unsafe pickle-loading guidance and expected filesystem writes in helper scripts.","remediation":[],"risk_factor_evidence":[{"factor":"scripts","evidence":[{"file":"scripts/molecular_properties.py","line_end":22,"line_start":1},{"file":"scripts/similarity_search.py","line_end":23,"line_start":1},{"file":"scripts/substructure_filter.py","line_end":21,"line_start":1}]},{"factor":"filesystem","evidence":[{"file":"scripts/molecular_properties.py","line_end":153,"line_start":153},{"file":"scripts/similarity_search.py","line_end":159,"line_start":159},{"file":"scripts/substructure_filter.py","line_end":217,"line_start":201},{"file":"SKILL.md","line_end":476,"line_start":475},{"file":"SKILL.md","line_end":696,"line_start":691}]}],"critical_findings":[],"high_findings":[],"medium_findings":[{"title":"Unsafe Pickle Deserialization Guidance","locations":[{"file":"SKILL.md","line_end":696,"line_start":688}],"confidence":0.86,"description":"The skill shows loading molecule data with pickle.load without warning that pickle files must be trusted. This can execute code if a user loads a malicious pickle file.","confidence_reasoning":"The referenced lines import pickle and load molecules from a pickle file. The risk is real for untrusted files, but the surrounding context is performance guidance rather than malicious behavior."}],"low_findings":[{"title":"User-Controlled Output File Writes","locations":[{"file":"scripts/molecular_properties.py","line_end":153,"line_start":153},{"file":"scripts/similarity_search.py","line_end":159,"line_start":159},{"file":"scripts/substructure_filter.py","line_end":217,"line_start":201}],"confidence":0.68,"description":"The helper scripts write CSV, SDF, SMILES, and report files to user-provided paths. This is expected CLI behavior, but users should avoid overwriting sensitive files.","confidence_reasoning":"The scripts clearly open user-selected output paths for writing. This is a legitimate feature, so the concern is operational misuse rather than exploitation intent."},{"title":"False Positive: Markdown Backticks Flagged as Commands","locations":[{"file":"references/api_reference.md","line_end":34,"line_start":13},{"file":"references/descriptors_reference.md","line_end":18,"line_start":7},{"file":"SKILL.md","line_end":34,"line_start":23}],"confidence":0.97,"description":"Static command-execution alerts are Markdown inline code and fenced Python examples documenting RDKit APIs. No shell, subprocess, or Ruby backtick execution was found in these examples.","confidence_reasoning":"The cited content is documentation syntax and Python snippets, not executable shell command syntax. Searches found no subprocess, os.system, curl, wget, or network execution patterns."},{"title":"False Positive: Chemistry Strings Flagged as Malware or Crypto","locations":[{"file":"references/smarts_patterns.md","line_end":232,"line_start":220},{"file":"references/descriptors_reference.md","line_end":264,"line_start":245},{"file":"scripts/similarity_search.py","line_end":31,"line_start":26},{"file":"scripts/molecular_properties.py","line_end":71,"line_start":36}],"confidence":0.95,"description":"Weak-crypto and C2 alerts map to cheminformatics terms, descriptor names, and SMARTS ring patterns. These strings describe molecular structures and fingerprints, not cryptographic or command-and-control behavior.","confidence_reasoning":"The cited strings are established RDKit descriptor, fingerprint, and SMARTS examples. They do not include network endpoints, cryptographic routines, credential handling, or malware logic."}],"dangerous_patterns":[{"title":"Unsafe Pickle Deserialization Guidance","locations":[{"file":"SKILL.md","line_end":696,"line_start":688}],"confidence":0.86,"description":"The skill shows loading molecule data with pickle.load without warning that pickle files must be trusted. This can execute code if a user loads a malicious pickle file.","confidence_reasoning":"The referenced lines import pickle and load molecules from a pickle file. The risk is real for untrusted files, but the surrounding context is performance guidance rather than malicious behavior."},{"title":"User-Controlled Output File Writes","locations":[{"file":"scripts/molecular_properties.py","line_end":153,"line_start":153},{"file":"scripts/similarity_search.py","line_end":159,"line_start":159},{"file":"scripts/substructure_filter.py","line_end":217,"line_start":201}],"confidence":0.68,"description":"The helper scripts write CSV, SDF, SMILES, and report files to user-provided paths. This is expected CLI behavior, but users should avoid overwriting sensitive files.","confidence_reasoning":"The scripts clearly open user-selected output paths for writing. This is a legitimate feature, so the concern is operational misuse rather than exploitation intent."}],"files_scanned":7,"total_lines":3394,"audit_model":"codex","audited_at":"2026-06-30T06:09:06.56+00:00","created_at":"2026-06-30T06:56:25.619084+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":"medium","confirmedFindingCount":2,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":2,"agentAutoInstallPolicy":null,"manualInstallPolicy":null,"artifactSignatureState":"available","attestationState":"not_attestable","verificationState":"not_verified"},"isLatest":false}}