Ae1
- Category
- analysis-evasion
- Confidence
- 100% confidence
- Finding
Referenced artifact was not completely inspected
- Content
md node scripts/run.mjs --sample
Security audit
Security checks for vulnerabilities and agentic risk
This is a local bid-comparison skill with some documentation and trigger ambiguity, but no evidence of hidden network access, persistence, credential use, or destructive behavior.
Install only if you intend to process bid quotation data locally. Treat the output as a mechanical comparison aid, not a procurement decision or full audit, and verify totals/items yourself because some documentation overstates the exact columns produced. Avoid invoking it during general procurement discussion unless you actually want the provided bid data analyzed.
Referenced artifact was not completely inspected
node scripts/run.mjs --sample
Referenced artifact was not completely inspected
node scripts/run.mjs --sample
Referenced artifact was not completely inspected
node scripts/run.mjs --sample
The skill advertises broad activation phrases such as 清标, 横向比价, 评标辅助, and 投标报价比较, which can plausibly appear in ordinary procurement discussion rather than an explicit request to invoke the tool. That raises the risk of unintended activation and unnecessary exposure of uploaded bid data to the skill when a user is only discussing evaluation concepts, not asking for automated comparison.
The manifest describes a free version that provides a full per-item comparison across bidders for quantity, unit price, and total price, including medians, along with missing/extra items and total ranking. In code, CHECKS_GIVEN advertises those outputs, but analyze() only runs checkMissingItems(), the comparison table includes qty and prices plus median_price but omits per-item amount/合价, and there is no separate implementation for extra-item reporting beyond generic missing-item detection.
The file’s user-facing capability description, usage text, status messages, and guidance are entirely in Chinese, which imposes a specific language on users. There is no indication that the user can select another language or that the locale restriction is intentionally limited to a justified region-specific context.
The header comments claim the tool only performs the listed checks locally and does not fabricate conclusions, but nearby embedded documentation expands the apparent scope to unrelated 'document materials' handling. Overstating or blurring scope is dangerous for security-sensitive automation because users may trust the tool to have performed checks it was never designed to do.
The CLI help text advertises input formats and examples for invoice/packing-list/document checking, while the skill metadata and runtime capability are for multi-bid quote comparison. This mismatch can cause users to provide the wrong materials and misunderstand what analysis is actually being performed, leading to incorrect reliance on output in a procurement context.
The usage section explains scenarios where the skill is helpful, but it does not clearly separate descriptive discussion from actual invocation conditions. In practice, this ambiguity can cause the agent to over-trigger during normal conversation about bid review workflows, leading to accidental processing of sensitive commercial data.
The module doc comment states it will return insufficient_input when materials are insufficient and will '绝不输出"未发现问题"'. However, when no findings are generated, analyze() sets summary.verdict to '在上述检查项范围内没有发现问题 —— 这不等于没有问题', which directly contradicts that stated intent.
The sample data uses only Chinese company and item names throughout the file, which indicates a fixed language/locale presentation. Because this is a JSON manifest-style file and no user-selectable language or justification is present, it may violate the policy against forcing a specific language without opt-in.