{"data":{"skill":{"slug":"jessepwj-chatspss","name":"chatspss","icon":"📦","repo":"https://github.com/jessepwj/chatspss/tree/f675f99015ec9a01f6bc4207bcd6712cc88d59a3/","status":"approved","author":"jessepwj","authorVersion":"0.2.0","skillstoreRevision":1},"audit":{"id":"01335128-9c96-45ed-8547-b6febf9ef607","skill_id":"64e6915a-5cd1-46cc-a378-36b97839f143","version":1,"content_hash":"v3:024bb47aa42497e6c888c47e2ed9eaa1ddd09123:e30fdf56b813348ddfb6556c2d39b04a3ce521651f5301d9b636b9d65f25f2b6:9304af27cf850a9c8a21bd8c64a340634eddbc46c90627d99f734e45025ac569:736b696c6c732f6a6573736570776a2f6368617473707373:2c291f592f646c80e04acfc9328c9b6a","risk_level":"high","is_blocked":false,"safe_to_publish":false,"analysis_status":"ok","agent_auto_install_policy":"confirmation_required","manual_install_policy":"allowed","summary":"All 33 static findings are false positives involving Markdown backticks, readable Chinese text, statistical indexing, stopwords, or numeric validation. A separate high-severity finding concerns hidden stdout instructions that promote tool output into agent instructions alongside dataset-derived text. No evidence found of dataset uploads or credential theft in the reviewed execution paths.","remediation":[{"issue":"Hidden stdout instructions cross the boundary between analysis results and agent instructions.","severity":"high","suggestion":"Remove the INSTRUCTION block and its delegation in SKILL.md. Keep presentation rules in skill documentation and treat dataset labels and stdout as untrusted data."}],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":18,"line_start":18},{"file":"SKILL.md","line_end":27,"line_start":27},{"file":"SKILL.md","line_end":40,"line_start":40},{"file":"SKILL.md","line_end":44,"line_start":42},{"file":"SKILL.md","line_end":48,"line_start":44},{"file":"SKILL.md","line_end":50,"line_start":48},{"file":"SKILL.md","line_end":50,"line_start":50},{"file":"SKILL.md","line_end":70,"line_start":70},{"file":"SKILL.md","line_end":76,"line_start":74},{"file":"SKILL.md","line_end":80,"line_start":76}]}],"critical_findings":[],"high_findings":[{"title":"Prompt Injection Attempt Detected","locations":[{"file":"SKILL.md","line_end":27,"line_start":25},{"file":"scripts/chatspss.py","line_end":118,"line_start":85},{"file":"scripts/chatspss.py","line_end":2258,"line_start":2252}],"confidence":0.94,"description":"The script appends '[INSTRUCTION]' and '[/INSTRUCTION]' around directives to reproduce tables and hide the internal guidance. SKILL.md tells agents to apply these stdout instructions. Dataset labels enter the same output stream, creating a path for instruction-like data to influence agent behavior.","review_kind":"security","source_category":"semantic","source_severity":"high","confidence_reasoning":"The hidden block and explicit instruction to follow it are directly visible. Dataset labels reach output with Markdown formatting escapes but no instruction boundary."}],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":9,"total_lines":2497,"audit_model":"codex","audited_at":"2026-10-30T10:51:38.215+00:00","created_at":"2026-10-30T11:03:50.475716+00:00","static_findings":[{"id":"blocker:README.md:27:system-prompt-extraction-attempt","file":"README.md","pattern":"System prompt extraction attempt","snippet":"Read [SKILL.md](SKILL.md) for supported tasks, input checks and result-display instructions. Files a","category":"blocker","line_end":27,"severity":"high","line_start":27},{"id":"obfuscation:scripts/chatspss.py:433:unicode-escape-sequence","file":"scripts/chatspss.py","pattern":"Unicode escape sequence","snippet":"segment = lambda text: re.findall(r'[\\u4e00-\\u9fff]{2,}|[a-zA-Z]{2,}', text)","category":"obfuscation","line_end":433,"severity":"low","line_start":433},{"id":"blocker:scripts/chatspss.py:415:system-reconnaissance","file":"scripts/chatspss.py","pattern":"System reconnaissance","snippet":"'the a an is are was were be been being have has had do does did will would '","category":"blocker","line_end":415,"severity":"low","line_start":415},{"id":"blocker:scripts/chatspss.py:2105:system-reconnaissance","file":"scripts/chatspss.py","pattern":"System reconnaissance","snippet":"invalid = raw.notna() & x.isna()","category":"blocker","line_end":2105,"severity":"low","line_start":2105},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"2. 对已支持的任务调用 `scripts/chatspss.py`。命令只使用用户确认过的文件和字面列名;脚本退出码非零时如实报告,不把失败包装成结论。","category":"external_commands","line_end":18,"severity":"medium","line_start":18},{"id":"external_commands:SKILL.md:27:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"脚本若输出面向 AI 的内部 `INSTRUCTION` 块,只将其中要求用于执行和解释,不得把该块原样展示给用户;这不影响完整展示其余用户可见结果表。分析失败时说明失败原因,不编造表格或把部分失败说","category":"external_commands","line_end":27,"severity":"medium","line_start":27},{"id":"external_commands:SKILL.md:40:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"用户要求“效度”“结构效度”“EFA”或探索题项维度时,使用 `--task efa`。先确认选择的都是题项列、反向题已按量尺正确计分,且缺失值处理可接受。本入口默认 `--extraction pr","category":"external_commands","line_end":40,"severity":"medium","line_start":40},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","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":"```","category":"external_commands","line_end":48,"severity":"medium","line_start":44},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"有理论指定维度时用 `--factors` 明确给出;未指定时,特征根大于 1 只作为初步选取依据,不能代替理论、碎石图或平行分析。KMO 偏低、Bartlett 不显著、交叉载荷或共同度偏低时,要指","category":"external_commands","line_end":50,"severity":"medium","line_start":48},{"id":"external_commands:SKILL.md:50:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"运行 EFA 需要 `numpy`、`pandas`、`scipy`、`scikit-learn` 和 `factor-analyzer`。依赖不齐时应报告缺失项,不用另一个任务的输出冒充本入口的完整","category":"external_commands","line_end":50,"severity":"medium","line_start":50},{"id":"external_commands:SKILL.md:70:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"建议在独立的 Python 3.12 或 3.13 环境中执行 `python3 -m pip install -r requirements.txt`。依赖清单固定了本次对齐验证所用的统计库版本;更","category":"external_commands","line_end":70,"severity":"medium","line_start":70},{"id":"external_commands:SKILL.md:74:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"脚本的参数以 `python3 scripts/chatspss.py --help` 为准。最小示例:","category":"external_commands","line_end":76,"severity":"medium","line_start":74},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":80,"severity":"medium","line_start":76},{"id":"obfuscation:references/advanced-prediction-and-delivery.md:1:heuristic-high-file-entropy-7-53-bits-possible-b","file":"references/advanced-prediction-and-delivery.md","pattern":"[HEURISTIC] High file entropy (7.53 bits) - possible binary/encrypted content","snippet":"File: references/advanced-prediction-and-delivery.md","category":"obfuscation","line_end":1,"severity":"high","line_start":1},{"id":"obfuscation:references/latent-and-mechanism-models.md:1:heuristic-high-file-entropy-7-25-bits-possible-b","file":"references/latent-and-mechanism-models.md","pattern":"[HEURISTIC] High file entropy (7.25 bits) - possible binary/encrypted content","snippet":"File: references/latent-and-mechanism-models.md","category":"obfuscation","line_end":1,"severity":"high","line_start":1},{"id":"obfuscation:references/longitudinal-panel-spatial.md:1:heuristic-high-file-entropy-7-46-bits-possible-b","file":"references/longitudinal-panel-spatial.md","pattern":"[HEURISTIC] High file entropy (7.46 bits) - possible binary/encrypted content","snippet":"File: references/longitudinal-panel-spatial.md","category":"obfuscation","line_end":1,"severity":"high","line_start":1},{"id":"obfuscation:scripts/chatspss.py:514:heuristic-very-high-entropy-string-6-43-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (6.43 bits) - likely encoded/encrypted payload","snippet":"错误：自变量之间存在完全共线关系（设计矩阵不满秩：秩 {rank} / 需要 {n_cols} 列），模型无法估计。涉及的自变量：{involved_str}。...","category":"obfuscation","line_end":514,"severity":"high","line_start":514},{"id":"obfuscation:scripts/chatspss.py:534:heuristic-very-high-entropy-string-5-57-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (5.57 bits) - likely encoded/encrypted payload","snippet":"），会导致因变量被当成自变量之一参与回归。请检查 --dependent-var与 --independent-vars 中的名称是否重复，或存在拼写/标点差异...","category":"obfuscation","line_end":534,"severity":"high","line_start":534},{"id":"obfuscation:scripts/chatspss.py:558:heuristic-very-high-entropy-string-5-68-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (5.68 bits) - likely encoded/encrypted payload","snippet":"错误：有效样本量不足（当前 {n_samples}，至少需要 {min_required}）。请检查因变量是否为数值型，或自变量是否包含过多缺失值。","category":"obfuscation","line_end":558,"severity":"high","line_start":558},{"id":"obfuscation:scripts/chatspss.py:775:heuristic-very-high-entropy-string-5-63-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (5.63 bits) - likely encoded/encrypted payload","snippet":"。变量之间存在完全或数值上近乎完全线性相关，或有效样本相对于自变量数量不足。请先移除这些变量后重试；若仍失败，再尝试中心化变量、调整计量单位并检查相关性。","category":"obfuscation","line_end":775,"severity":"high","line_start":775},{"id":"obfuscation:scripts/chatspss.py:781:heuristic-very-high-entropy-string-5-70-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (5.70 bits) - likely encoded/encrypted payload","snippet":"」存在可完全分隔两类结局的阈值，属于完全分离，二元逻辑回归系数无法有限估计。请检查分组边界、增加重叠样本，或移除该变量后重试。","category":"obfuscation","line_end":781,"severity":"high","line_start":781},{"id":"obfuscation:scripts/chatspss.py:788:heuristic-very-high-entropy-string-5-79-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (5.79 bits) - likely encoded/encrypted payload","snippet":"错误：检测到完全或近完全分离：预测变量几乎能完全区分两类结局，二元逻辑回归系数无法稳定估计。请合并稀疏类别、增加重叠样本，或减少相关自变量后重试。","category":"obfuscation","line_end":788,"severity":"high","line_start":788},{"id":"obfuscation:scripts/chatspss.py:790:heuristic-very-high-entropy-string-6-29-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (6.29 bits) - likely encoded/encrypted payload","snippet":"错误：逻辑回归设计矩阵不可逆（Singular matrix）。这可能来自未被预检捕获的线性相关、稀疏类别或分离问题，无法仅凭该错误确定唯一原因。请检查自变量相...","category":"obfuscation","line_end":790,"severity":"high","line_start":790},{"id":"obfuscation:scripts/chatspss.py:826:heuristic-very-high-entropy-string-5-79-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (5.79 bits) - likely encoded/encrypted payload","snippet":"错误：检测到完全或近完全分离：预测变量几乎能完全区分两类结局，二元逻辑回归系数无法稳定估计。请合并稀疏类别、增加重叠样本，或减少相关自变量后重试。","category":"obfuscation","line_end":826,"severity":"high","line_start":826},{"id":"obfuscation:scripts/chatspss.py:828:heuristic-very-high-entropy-string-6-66-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (6.66 bits) - likely encoded/encrypted payload","snippet":"错误：逻辑回归模型没有收敛（已自动加大迭代次数重跑一次，估计仍不稳定），因此不给出系数、OR、置信区间和显著性。常见原因是自变量之间存在近乎完全的线性关系（例如...","category":"obfuscation","line_end":828,"severity":"high","line_start":828},{"id":"obfuscation:scripts/chatspss.py:830:heuristic-very-high-entropy-string-6-02-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (6.02 bits) - likely encoded/encrypted payload","snippet":"错误：逻辑回归的标准误无法计算（协方差矩阵无效），因此不给出系数、OR、置信区间和显著性。请检查自变量之间是否存在近乎完全的线性关系或稀疏类别后重试。","category":"obfuscation","line_end":830,"severity":"high","line_start":830},{"id":"obfuscation:scripts/chatspss.py:1065:heuristic-very-high-entropy-string-6-03-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (6.03 bits) - likely encoded/encrypted payload","snippet":"）。本次不输出系数、p 值、OR 或置信区间。先核对类别样本量、自变量的单位/极端值、重复或高度相关变量及稀疏类别；排除数据或模型问题后，重新检查模型设定再运行...","category":"obfuscation","line_end":1065,"severity":"high","line_start":1065},{"id":"obfuscation:scripts/chatspss.py:1396:heuristic-very-high-entropy-string-5-64-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (5.64 bits) - likely encoded/encrypted payload","snippet":"没有维度能够进行有效的信度分析。请检查题项是否为数值编码；如果数据中是文本选项，需要先转换为数值编码后再做 Cronbach α。","category":"obfuscation","line_end":1396,"severity":"high","line_start":1396},{"id":"obfuscation:scripts/chatspss.py:2258:heuristic-very-high-entropy-string-6-25-bits-lik","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Very high entropy string (6.25 bits) - likely encoded/encrypted payload","snippet":"\\n\\n---\\n[INSTRUCTION]\\n请将上方全部用户可见 Markdown 表格原样渲染在回复中，再紧跟解读。保留表头、列序、数值精度、显著性星号、...","category":"obfuscation","line_end":2258,"severity":"high","line_start":2258},{"id":"obfuscation:SKILL.md:40:heuristic-very-high-entropy-string-5-87-bits-lik","file":"SKILL.md","pattern":"[HEURISTIC] Very high entropy string (5.87 bits) - likely encoded/encrypted payload","snippet":" 可关闭旋转。按实际使用的提取和旋转方法解释，不将默认结果说成 MINRES 公共因子提取。主结果为三张表：KMO/Bartlett、总方差解释、因子载荷及共同...","category":"obfuscation","line_end":40,"severity":"high","line_start":40},{"id":"obfuscation:SKILL.md:1:heuristic-high-file-entropy-7-69-bits-possible-b","file":"SKILL.md","pattern":"[HEURISTIC] High file entropy (7.69 bits) - possible binary/encrypted content","snippet":"File: SKILL.md","category":"obfuscation","line_end":1,"severity":"high","line_start":1},{"id":"obfuscation:scripts/chatspss.py:1:heuristic-multiple-bracket-chains-33-jsfuck-obfu","file":"scripts/chatspss.py","pattern":"[HEURISTIC] Multiple bracket chains (33) - JSFuck/obfuscation pattern","snippet":"())]]), ()))), ())}","category":"obfuscation","line_end":1,"severity":"high","line_start":1}],"finding_verdicts":[{"id":"blocker:README.md:27:system-prompt-extraction-attempt","reason":"The paragraph links to skill documentation and describes local processing and EFA limitations. It does not request hidden prompts or system instructions.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:433:unicode-escape-sequence","reason":"The Unicode escapes define a Chinese character range for fallback word tokenization. They are regular-expression syntax, not a concealed executable payload.","verdict":"false_positive","confidence":0.99},{"id":"blocker:scripts/chatspss.py:415:system-reconnaissance","reason":"This string contains English stopwords used by word_frequency. It performs no host inspection or command execution.","verdict":"false_positive","confidence":0.99},{"id":"blocker:scripts/chatspss.py:2105:system-reconnaissance","reason":"The pandas expression detects nonnumeric cells after numeric conversion for EFA validation. It examines the selected dataset, not system information.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:18:ruby-shell-backtick-execution","reason":"Backticks mark the local script path as inline Markdown. The instruction restricts execution to user-confirmed files and literal column names.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:27:ruby-shell-backtick-execution","reason":"Backticks format the word INSTRUCTION and do not execute shell or Ruby code. The separate trust-boundary concern is documented as a semantic finding.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:40:ruby-shell-backtick-execution","reason":"Inline backticks document fixed EFA options and statistical method names. They are Markdown formatting, not shell command substitution.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:42:ruby-shell-backtick-execution","reason":"The backticks open a fenced Bash example invoking the local EFA script with literal arguments. No Ruby execution or shell substitution occurs.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:44:ruby-shell-backtick-execution","reason":"This is the closing Markdown fence for the EFA example, followed by statistical quality guidance. It is not executable backtick syntax.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:48:ruby-shell-backtick-execution","reason":"Backticks identify the factors option and dependency names in explanatory prose. The text discusses factor selection and does not execute commands.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:50:ruby-shell-backtick-execution","reason":"The inline strings name scientific Python dependencies required for EFA. They are not commands, encoded content, or command substitutions.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:70:ruby-shell-backtick-execution","reason":"The paragraph documents ordinary dependency installation in an isolated Python environment. Markdown backticks do not execute the command or expose an injection vector.","verdict":"false_positive","confidence":0.98},{"id":"external_commands:SKILL.md:74:ruby-shell-backtick-execution","reason":"The inline command requests help from the bundled script. Its backticks are Markdown delimiters, not an executable shell construct.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:76:ruby-shell-backtick-execution","reason":"The fenced examples invoke local overview, correlation, and t-test tasks with literal arguments. The fences are documentation rather than shell substitution.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:references/advanced-prediction-and-delivery.md:1:heuristic-high-file-entropy-7-53-bits-possible-b","reason":"The file is readable Chinese Markdown describing unsupported advanced methods and a disclosed service link. No binary, encrypted content, or payload decoding appears.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:references/latent-and-mechanism-models.md:1:heuristic-high-file-entropy-7-25-bits-possible-b","reason":"The file contains readable Chinese guidance distinguishing supported analyses from unsupported latent and mechanism models. Its multilingual text is not encoded executable content.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:references/longitudinal-panel-spatial.md:1:heuristic-high-file-entropy-7-46-bits-possible-b","reason":"The file is a readable Chinese scope table for unsupported longitudinal, panel, survival, and spatial methods. High entropy does not indicate encryption here.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:514:heuristic-very-high-entropy-string-6-43-bits-lik","reason":"This readable Chinese error explains rank deficiency and redundant regression predictors. It is returned as diagnostic text, not decoded or executed.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:534:heuristic-very-high-entropy-string-5-57-bits-lik","reason":"The string reports duplicate dependent and independent variable selections. It is ordinary Chinese validation feedback, not an encrypted payload.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:558:heuristic-very-high-entropy-string-5-68-bits-lik","reason":"This diagnostic reports insufficient valid observations for regression. Numeric placeholders are formatted into a readable error, not executed.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:775:heuristic-very-high-entropy-string-5-63-bits-lik","reason":"The string explains collinearity or insufficient observations in a logistic design matrix. It is readable statistical troubleshooting text.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:781:heuristic-very-high-entropy-string-5-70-bits-lik","reason":"The message reports complete separation caused by a predictor threshold. Chinese prose and the displayed column name are not encoded executable content.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:788:heuristic-very-high-entropy-string-5-79-bits-lik","reason":"The error explains unstable logistic estimates from complete or near-complete separation. It is returned as diagnostic prose without payload decoding.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:790:heuristic-very-high-entropy-string-6-29-bits-lik","reason":"The readable error explains a singular logistic design matrix and possible causes. It does not conceal code or execute its contents.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:826:heuristic-very-high-entropy-string-5-79-bits-lik","reason":"This raised ValueError reports separation warnings from logistic fitting. Its readable Chinese statistical guidance is not an encrypted payload.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:828:heuristic-very-high-entropy-string-6-66-bits-lik","reason":"The error explains failed convergence after a retry and withholds unreliable estimates. It is plain diagnostic text, not executable obfuscation.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:830:heuristic-very-high-entropy-string-6-02-bits-lik","reason":"This error withholds logistic estimates when standard errors are invalid. The Chinese message is directly readable and has no decoding behavior.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:1065:heuristic-very-high-entropy-string-6-03-bits-lik","reason":"The string reports failed ordinal-model convergence or invalid standard errors. It gives statistical troubleshooting guidance rather than carrying a concealed payload.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:1396:heuristic-very-high-entropy-string-5-64-bits-lik","reason":"This readable message explains that reliability analysis needs numerically coded items. It contains no encryption, decoding, or executable content.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:2258:heuristic-very-high-entropy-string-6-25-bits-lik","reason":"The printed string is readable Chinese presentation guidance, not encoded or encrypted content. Its hidden instruction behavior is assessed separately as a semantic risk.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:SKILL.md:40:heuristic-very-high-entropy-string-5-87-bits-lik","reason":"The paragraph explains EFA extraction, rotation, and result tables in readable Chinese. Statistical option names and multilingual prose are not payload obfuscation.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:SKILL.md:1:heuristic-high-file-entropy-7-69-bits-possible-b","reason":"The file contains ordinary YAML frontmatter and readable Chinese Markdown instructions. No encrypted file content or decoding mechanism appears.","verdict":"false_positive","confidence":0.99},{"id":"obfuscation:scripts/chatspss.py:1:heuristic-multiple-bracket-chains-33-jsfuck-obfu","reason":"Nested brackets occur in ordinary Python table construction, DataFrame selection, and numerical indexing. The script is readable statistical Python, not JSFuck.","verdict":"false_positive","confidence":0.98}],"semantic_findings":[{"title":"Prompt Injection Attempt Detected","severity":"high","locations":[{"file":"SKILL.md","line_end":27,"line_start":25},{"file":"scripts/chatspss.py","line_end":118,"line_start":85},{"file":"scripts/chatspss.py","line_end":2258,"line_start":2252}],"confidence":0.94,"description":"The script appends '[INSTRUCTION]' and '[/INSTRUCTION]' around directives to reproduce tables and hide the internal guidance. SKILL.md tells agents to apply these stdout instructions. Dataset labels enter the same output stream, creating a path for instruction-like data to influence agent behavior.","confidence_reasoning":"The hidden block and explicit instruction to follow it are directly visible. Dataset labels reach output with Markdown formatting escapes but no instruction boundary."}],"subject_marketplace_commit_sha":"024bb47aa42497e6c888c47e2ed9eaa1ddd09123","subject_content_hash":"e30fdf56b813348ddfb6556c2d39b04a3ce521651f5301d9b636b9d65f25f2b6","subject_tree_hash":"9304af27cf850a9c8a21bd8c64a340634eddbc46c90627d99f734e45025ac569","subject_plugin_path":"skills/jessepwj/chatspss","audit_payload_hash":"2c291f592f646c80e04acfc9328c9b6a","confirmed_risk_level":"high","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"024bb47aa42497e6c888c47e2ed9eaa1ddd09123","contentHash":"e30fdf56b813348ddfb6556c2d39b04a3ce521651f5301d9b636b9d65f25f2b6","treeHash":"9304af27cf850a9c8a21bd8c64a340634eddbc46c90627d99f734e45025ac569","pluginPath":"skills/jessepwj/chatspss","auditPayloadHash":"2c291f592f646c80e04acfc9328c9b6a"},"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/jessepwj-chatspss/audits/1/attestation","status":"active"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"high","confirmedFindingCount":1,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"confirmation_required","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"active","verificationState":"not_verified"},"isLatest":true}}