{"data":{"skill":{"slug":"lambdasec-optiq-local-models","name":"optiq-local-models","icon":"📦","repo":"https://github.com/lambdasec/skills/tree/7d791206069498962a85a0f1ba95f7468dcf82f7/skills/optiq-local-models","status":"approved","author":"lambdasec","authorVersion":null,"skillstoreRevision":1},"audit":{"id":"157c3d45-2b89-4332-a4fc-95a74f0235ee","skill_id":"cfe0b242-344a-4d6a-8f43-1a288e75fcf2","version":1,"content_hash":"v3:87c9669baf85385959f9b0a344dc9dfc8d978f9c:565693416f0a61d5021673e846e184fed94988eceb57c608c54dd17342daf320:d21c0e1f811ca8c447bb9de2b1ebf4c17370d0db801373aadc85935496178fb8:736b696c6c732f6c616d6264617365632f6f707469712d6c6f63616c2d6d6f64656c73:efe563b2069a71bfb8339e7496fb07d4","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 40 static alerts are false positives involving Markdown, documented commands, project links, loopback endpoints, or authentication guidance. The skill requires consent before model downloads and server startup, avoids software installation, and recommends authenticated access beyond localhost. No evidence found of credential theft, malicious reconnaissance, data exfiltration, or prompt injection in the two reviewed files.","remediation":[],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":17,"line_start":13},{"file":"SKILL.md","line_end":25,"line_start":17},{"file":"SKILL.md","line_end":28,"line_start":25},{"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":34},{"file":"SKILL.md","line_end":40,"line_start":38},{"file":"SKILL.md","line_end":42,"line_start":40},{"file":"SKILL.md","line_end":44,"line_start":42},{"file":"SKILL.md","line_end":44,"line_start":44},{"file":"SKILL.md","line_end":46,"line_start":45},{"file":"SKILL.md","line_end":47,"line_start":46},{"file":"SKILL.md","line_end":48,"line_start":47},{"file":"SKILL.md","line_end":48,"line_start":48},{"file":"SKILL.md","line_end":49,"line_start":49},{"file":"SKILL.md","line_end":50,"line_start":50},{"file":"SKILL.md","line_end":52,"line_start":52},{"file":"SKILL.md","line_end":56,"line_start":56},{"file":"SKILL.md","line_end":62,"line_start":58},{"file":"SKILL.md","line_end":64,"line_start":62},{"file":"SKILL.md","line_end":64,"line_start":64},{"file":"SKILL.md","line_end":68,"line_start":68},{"file":"SKILL.md","line_end":70,"line_start":70},{"file":"SKILL.md","line_end":76,"line_start":76},{"file":"SKILL.md","line_end":79,"line_start":77},{"file":"SKILL.md","line_end":82,"line_start":79}]},{"factor":"network","evidence":[{"file":"SKILL.md","line_end":7,"line_start":7},{"file":"SKILL.md","line_end":30,"line_start":30},{"file":"SKILL.md","line_end":34,"line_start":34},{"file":"SKILL.md","line_end":56,"line_start":56},{"file":"SKILL.md","line_end":59,"line_start":59},{"file":"SKILL.md","line_end":64,"line_start":64},{"file":"SKILL.md","line_end":39,"line_start":39},{"file":"SKILL.md","line_end":52,"line_start":52},{"file":"SKILL.md","line_end":56,"line_start":56},{"file":"SKILL.md","line_end":59,"line_start":59},{"file":"SKILL.md","line_end":64,"line_start":64}]},{"factor":"env_access","evidence":[{"file":"SKILL.md","line_end":52,"line_start":52}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":2,"total_lines":92,"audit_model":"codex","audited_at":"2026-10-28T06:39:49.179+00:00","created_at":"2026-10-28T07:04:20.308448+00:00","static_findings":[{"id":"blocker:references/troubleshooting.md:6:system-reconnaissance","file":"references/troubleshooting.md","pattern":"System reconnaissance","snippet":"- Client says model not found: by default the `model` field is a label. Use the repo id you served.","category":"blocker","line_end":6,"severity":"low","line_start":6},{"id":"external_commands:SKILL.md:13:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":17,"severity":"medium","line_start":13},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":25,"severity":"medium","line_start":17},{"id":"external_commands:SKILL.md:25:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":28,"severity":"medium","line_start":25},{"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":"If `optiq` is not found, tell the user it is not installed and point them to the install steps on ht","category":"external_commands","line_end":30,"severity":"medium","line_start":30},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"The models page (https://mlx-optiq.com/models) lists quantized models. Pick one whose download size ","category":"external_commands","line_end":34,"severity":"medium","line_start":34},{"id":"external_commands:SKILL.md:38:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":40,"severity":"medium","line_start":38},{"id":"external_commands:SKILL.md:40:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":42,"severity":"medium","line_start":40},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Starting the server downloads the model on first use, so confirm with the user before running it. Le","category":"external_commands","line_end":44,"severity":"medium","line_start":42},{"id":"external_commands:SKILL.md:44:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `--max-context auto|N|off`: caps context so a long prompt cannot crash the server. `auto` is the d","category":"external_commands","line_end":44,"severity":"medium","line_start":44},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `--max-concurrent N`: how many requests decode in parallel (default 8). Lower it on a tight-memory","category":"external_commands","line_end":46,"severity":"medium","line_start":45},{"id":"external_commands:SKILL.md:46:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `--idle-timeout SECONDS`: unload the model after idle time to free memory (default off).","category":"external_commands","line_end":47,"severity":"medium","line_start":46},{"id":"external_commands:SKILL.md:47:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `--stream-experts`: for large mixture-of-experts models that do not fit in memory; the help says d","category":"external_commands","line_end":48,"severity":"medium","line_start":47},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `--kv-bits 4|8`, `--kv-config FILE`: KV-cache quantization (see Limits).","category":"external_commands","line_end":48,"severity":"medium","line_start":48},{"id":"external_commands:SKILL.md:49:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `--mtp`, `--ngram-draft N`, `--drafter ID`: optional speculative decoding. Only use them if the mo","category":"external_commands","line_end":49,"severity":"medium","line_start":49},{"id":"external_commands:SKILL.md:50:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- `--host`, `--port` and other mlx-lm server options are forwarded.","category":"external_commands","line_end":50,"severity":"medium","line_start":50},{"id":"external_commands:SKILL.md:52:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Keep the host at `127.0.0.1` unless the user wants other machines to reach the server. Any other hos","category":"external_commands","line_end":52,"severity":"medium","line_start":52},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"The server speaks the OpenAI chat API at `http://127.0.0.1:8080/v1`. `optiq serve --help` lists the ","category":"external_commands","line_end":56,"severity":"medium","line_start":56},{"id":"external_commands:SKILL.md:58:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":62,"severity":"medium","line_start":58},{"id":"external_commands:SKILL.md:62:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":64,"severity":"medium","line_start":62},{"id":"external_commands:SKILL.md:64:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"For an SDK or tool, set its base URL to `http://127.0.0.1:8080/v1`. A local server needs no real key","category":"external_commands","line_end":64,"severity":"medium","line_start":64},{"id":"external_commands:SKILL.md:68:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Speed: send one short and one long prompt, and time them (`time curl ...`, or read the `usage` in th","category":"external_commands","line_end":68,"severity":"medium","line_start":68},{"id":"external_commands:SKILL.md:70:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"Quality: ask five or six questions from the user's real work whose answers you can check. Compare ag","category":"external_commands","line_end":70,"severity":"medium","line_start":70},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- KV-cache quantization (`--kv-bits`, `--kv-config`) saves memory; it can make decoding slower, in o","category":"external_commands","line_end":76,"severity":"medium","line_start":76},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Long context needs memory for the cache, and prompts past the server's cache size are reprocessed ","category":"external_commands","line_end":79,"severity":"medium","line_start":77},{"id":"external_commands:SKILL.md:79:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"- Models that do not fit in memory can stream from disk with `--stream-experts`, at a large speed co","category":"external_commands","line_end":82,"severity":"medium","line_start":79},{"id":"network:SKILL.md:7:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"Use this skill when the user wants to run a language model on their own Apple Silicon Mac with mlx-o","category":"network","line_end":7,"severity":"low","line_start":7},{"id":"network:SKILL.md:30:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"If `optiq` is not found, tell the user it is not installed and point them to the install steps on ht","category":"network","line_end":30,"severity":"low","line_start":30},{"id":"network:SKILL.md:34:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"The models page (https://mlx-optiq.com/models) lists quantized models. Pick one whose download size ","category":"network","line_end":34,"severity":"low","line_start":34},{"id":"network:SKILL.md:56:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"The server speaks the OpenAI chat API at `http://127.0.0.1:8080/v1`. `optiq serve --help` lists the ","category":"network","line_end":56,"severity":"low","line_start":56},{"id":"network:SKILL.md:59:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"curl http://127.0.0.1:8080/v1/chat/completions \\","category":"network","line_end":59,"severity":"low","line_start":59},{"id":"network:SKILL.md:64:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"For an SDK or tool, set its base URL to `http://127.0.0.1:8080/v1`. A local server needs no real key","category":"network","line_end":64,"severity":"low","line_start":64},{"id":"network:SKILL.md:39:hardcoded-ip-address","file":"SKILL.md","pattern":"Hardcoded IP address","snippet":"optiq serve --model mlx-community/Qwen3.5-9B-OptiQ-4bit --host 127.0.0.1 --port 8080","category":"network","line_end":39,"severity":"medium","line_start":39},{"id":"network:SKILL.md:52:hardcoded-ip-address","file":"SKILL.md","pattern":"Hardcoded IP address","snippet":"Keep the host at `127.0.0.1` unless the user wants other machines to reach the server. Any other hos","category":"network","line_end":52,"severity":"medium","line_start":52},{"id":"network:SKILL.md:56:hardcoded-ip-address","file":"SKILL.md","pattern":"Hardcoded IP address","snippet":"The server speaks the OpenAI chat API at `http://127.0.0.1:8080/v1`. `optiq serve --help` lists the ","category":"network","line_end":56,"severity":"medium","line_start":56},{"id":"network:SKILL.md:59:hardcoded-ip-address","file":"SKILL.md","pattern":"Hardcoded IP address","snippet":"curl http://127.0.0.1:8080/v1/chat/completions \\","category":"network","line_end":59,"severity":"medium","line_start":59},{"id":"network:SKILL.md:64:hardcoded-ip-address","file":"SKILL.md","pattern":"Hardcoded IP address","snippet":"For an SDK or tool, set its base URL to `http://127.0.0.1:8080/v1`. A local server needs no real key","category":"network","line_end":64,"severity":"medium","line_start":64},{"id":"env_access:SKILL.md:52:generic-api-secret-keys","file":"SKILL.md","pattern":"Generic API/secret keys","snippet":"Keep the host at `127.0.0.1` unless the user wants other machines to reach the server. Any other hos","category":"env_access","line_end":52,"severity":"high","line_start":52},{"id":"blocker:SKILL.md:34:system-reconnaissance","file":"SKILL.md","pattern":"System reconnaissance","snippet":"The models page (https://mlx-optiq.com/models) lists quantized models. Pick one whose download size ","category":"blocker","line_end":34,"severity":"low","line_start":34}],"finding_verdicts":[{"id":"blocker:references/troubleshooting.md:6:system-reconnaissance","reason":"This troubleshooting note explains a model identifier mismatch. It neither inspects system information nor collects data.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:13:ruby-shell-backtick-execution","reason":"The backticks open a Markdown block containing read-only architecture, memory, and Python checks. No shell command substitution or Ruby execution appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","reason":"These backticks close the read-only preflight command block. They are Markdown delimiters, not executable shell substitutions.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:25:ruby-shell-backtick-execution","reason":"The Markdown block documents optiq version and help checks. These are ordinary availability checks, without installation or user-controlled command construction.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:28:ruby-shell-backtick-execution","reason":"This is a Markdown closing fence after optiq availability checks. The following prose explicitly prohibits installing software for the user.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:30:ruby-shell-backtick-execution","reason":"Inline backticks mark command and package names. The text directs users to installation documentation and explicitly forbids running installation commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:34:ruby-shell-backtick-execution","reason":"Backticks format model identifiers and a help command in model-selection guidance. They do not execute commands or interpolate untrusted values.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:38:ruby-shell-backtick-execution","reason":"This Markdown fence introduces an explicit localhost serving command. The surrounding instructions require consent before startup and model downloads.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:40:ruby-shell-backtick-execution","reason":"These backticks close the localhost serving example. They are formatting, and the next paragraph reiterates the download consent requirement.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","reason":"The inline command refers to optiq help output. This paragraph explicitly requires user confirmation before server startup and its initial model download.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:44:ruby-shell-backtick-execution","reason":"Backticks format a context-limit flag and its default. This is resource-management guidance, not shell substitution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","reason":"The inline text documents request concurrency and recommends lowering it on memory-constrained Macs. No executable backtick expression exists.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:46:ruby-shell-backtick-execution","reason":"The backticks format an idle-timeout option that releases model memory. They do not invoke a shell.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:47:ruby-shell-backtick-execution","reason":"This inline flag documents model streaming and warns about slower decoding. No command execution or injection appears.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","reason":"Backticks mark KV-cache configuration options. The line contains no file access instruction or executable shell substitution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:49:ruby-shell-backtick-execution","reason":"This line documents optional decoding flags and requires model support and output checks. The backticks are Markdown formatting.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:50:ruby-shell-backtick-execution","reason":"Backticks format host and port option names. The next paragraph recommends localhost and requires authentication for other hosts.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:52:ruby-shell-backtick-execution","reason":"Inline backticks format a loopback address and authentication settings. The text requires authentication for non-loopback serving rather than executing commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","reason":"Backticks format the local API address and a help command. This describes client connectivity, not shell command substitution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:58:ruby-shell-backtick-execution","reason":"The Markdown fence opens a curl smoke test against localhost. Its fixed greeting payload contains no credentials or private workspace data.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:62:ruby-shell-backtick-execution","reason":"This is the closing Markdown fence for the local API smoke test. It does not execute a shell expression.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:64:ruby-shell-backtick-execution","reason":"Inline backticks format the localhost endpoint, token prefix, and option names. The guidance avoids real cloud credentials and explains explicit-key authentication.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:68:ruby-shell-backtick-execution","reason":"The line suggests timing local requests and reading response usage. Backticks format examples, with no shell substitution or external upload.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:70:ruby-shell-backtick-execution","reason":"These inline commands describe local model evaluation and throughput prediction. They use a local model directory and contain no destructive operations or exfiltration.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","reason":"Backticks format cache options within a performance warning. The text recommends measurement and does not execute commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:77:ruby-shell-backtick-execution","reason":"The inline context-limit flag appears in a memory warning. This is documentation, not executable backtick syntax.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:79:ruby-shell-backtick-execution","reason":"Backticks format a streaming flag and a troubleshooting reference. Neither is shell execution, and the prose warns about performance costs.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:7:hardcoded-url","reason":"The URL identifies the mlx-optiq project relevant to this skill. No request transmitting user data is specified.","verdict":"false_positive","confidence":0.98},{"id":"network:SKILL.md:30:hardcoded-url","reason":"This is an installation documentation link, not an upload destination or automatic installer. The same paragraph forbids installation on the user's behalf.","verdict":"false_positive","confidence":0.98},{"id":"network:SKILL.md:34:hardcoded-url","reason":"The URL points to the project's model catalog for selecting a compatible model. It does not request secrets or workspace content.","verdict":"false_positive","confidence":0.98},{"id":"network:SKILL.md:56:hardcoded-url","reason":"The API URL uses the loopback address 127.0.0.1. It targets a server on the user's machine, not an external collector.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:59:hardcoded-url","reason":"The curl request sends a fixed greeting prompt to the local model server. No credential or workspace data is included.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:64:hardcoded-url","reason":"The base URL is a loopback endpoint for local clients. The paragraph explicitly says a local server needs no real API key.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:39:hardcoded-ip-address","reason":"The server explicitly binds to 127.0.0.1. This restricts listening to loopback rather than exposing the service to other machines.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:52:hardcoded-ip-address","reason":"The line recommends retaining the loopback binding and requires an API key for any other host. This is protective network guidance.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:56:hardcoded-ip-address","reason":"The hardcoded IP is the standard IPv4 loopback address. It documents the local inference endpoint, not a remote destination.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:59:hardcoded-ip-address","reason":"The smoke test calls 127.0.0.1 with a harmless greeting request. This is local endpoint verification, not external data transmission.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:64:hardcoded-ip-address","reason":"The client configuration points to the user's loopback server. The paragraph explains authentication behavior without directing traffic to an external host.","verdict":"false_positive","confidence":0.99},{"id":"env_access:SKILL.md:52:generic-api-secret-keys","reason":"OPTIQ_API_KEY is documented as an authentication configuration option. There is no instruction to read, reveal, or transmit an existing secret.","verdict":"false_positive","confidence":0.99},{"id":"blocker:SKILL.md:34:system-reconnaissance","reason":"The paragraph compares model download size with available memory and provides model identifiers. It performs no reconnaissance or data collection.","verdict":"false_positive","confidence":0.99}],"semantic_findings":[],"subject_marketplace_commit_sha":"87c9669baf85385959f9b0a344dc9dfc8d978f9c","subject_content_hash":"565693416f0a61d5021673e846e184fed94988eceb57c608c54dd17342daf320","subject_tree_hash":"d21c0e1f811ca8c447bb9de2b1ebf4c17370d0db801373aadc85935496178fb8","subject_plugin_path":"skills/lambdasec/optiq-local-models","audit_payload_hash":"efe563b2069a71bfb8339e7496fb07d4","confirmed_risk_level":"safe","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"87c9669baf85385959f9b0a344dc9dfc8d978f9c","contentHash":"565693416f0a61d5021673e846e184fed94988eceb57c608c54dd17342daf320","treeHash":"d21c0e1f811ca8c447bb9de2b1ebf4c17370d0db801373aadc85935496178fb8","pluginPath":"skills/lambdasec/optiq-local-models","auditPayloadHash":"efe563b2069a71bfb8339e7496fb07d4"},"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/lambdasec-optiq-local-models/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}}