Ae1
- Category
- analysis-evasion
- Confidence
- 100% confidence
- Finding
Referenced artifact was not completely inspected
- Content
md - CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Security audit
Security checks for vulnerabilities and agentic risk
The skill matches its Amazon review-monitoring purpose, but it can spend ARI credits automatically under auto-confirm rules and change future confirmation settings.
Review before installing if you want strict control over paid actions. Use this only if you are comfortable sending Amazon ASIN/review and account data to ARI, storing an ARI API key locally, and managing persistent ARI settings. Consider saying “only quote, do not execute” or setting autoconfirm off before running paid reports.
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
Referenced artifact was not completely inspected
- CLI:本 Skill 目录下的 `scripts/ari.py`。在 Skill 根目录执行,例如
The skill performs authenticated network access to a remote service and device-auth flows, yet the finding indicates network capability is not covered by declared permissions. Even with strong destination validation to ari.funewa.com and redirect blocking, undeclared network access is a real security/governance issue because it can transmit user data and credentials outside the local environment.
The skill performs authenticated network access to a remote service and device-auth flows, yet the finding indicates network capability is not covered by declared permissions. Even with strong destination validation to ari.funewa.com and redirect blocking, undeclared network access is a real security/governance issue because it can transmit user data and credentials outside the local environment.
The skill performs authenticated network access to a remote service and device-auth flows, yet the finding indicates network capability is not covered by declared permissions. Even with strong destination validation to ari.funewa.com and redirect blocking, undeclared network access is a real security/governance issue because it can transmit user data and credentials outside the local environment.
The entire user-facing changelog content is written in Chinese, which effectively forces a specific language/locale for readers without indicating any user choice or opt-in. Under the policy, language constraints should either offer a choice or be clearly documented as justified region-specific behavior.
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
- 能力层收窄:44 个专属包不再只是「声明窄」,包体 `scripts/ari.py` 同时按各自契约裁剪。
构建期用 AST 删除文档未承诺的命令、它们的解析器注册块,以及只被它们引用的辅助函数与
常量;专属包因此不再包含 `export`(任意路径写文件)、`autoconfirm`(撤销逐次确认)、
`workbench`(改写差评处理状态)、`alerts`(标记预警已读)、`competitors`、`schedule`、
`voc` / `analyze` / `charts` / `deepdive` 等母版命令。
- 新增运行期兜底闸:专属包在包内写入 `allowedCommands` 白名单,`ari.py`
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
- 能力层收窄:44 个专属包不再只是「声明窄」,包体 `scripts/ari.py` 同时按各自契约裁剪。
构建期用 AST 删除文档未承诺的命令、它们的解析器注册块,以及只被它们引用的辅助函数与
常量;专属包因此不再包含 `export`(任意路径写文件)、`autoconfirm`(撤销逐次确认)、
`workbench`(改写差评处理状态)、`alerts`(标记预警已读)、`competitors`、`schedule`、
`voc` / `analyze` / `charts` / `deepdive` 等母版命令。
- 新增运行期兜底闸:专属包在包内写入 `allowedCommands` 白名单,`ari.py`
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
- 能力层收窄:44 个专属包不再只是「声明窄」,包体 `scripts/ari.py` 同时按各自契约裁剪。
构建期用 AST 删除文档未承诺的命令、它们的解析器注册块,以及只被它们引用的辅助函数与
常量;专属包因此不再包含 `export`(任意路径写文件)、`autoconfirm`(撤销逐次确认)、
`workbench`(改写差评处理状态)、`alerts`(标记预警已读)、`competitors`、`schedule`、
`voc` / `analyze` / `charts` / `deepdive` 等母版命令。
- 新增运行期兜底闸:专属包在包内写入 `allowedCommands` 白名单,`ari.py`
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
- 能力层收窄:44 个专属包不再只是「声明窄」,包体 `scripts/ari.py` 同时按各自契约裁剪。
构建期用 AST 删除文档未承诺的命令、它们的解析器注册块,以及只被它们引用的辅助函数与
常量;专属包因此不再包含 `export`(任意路径写文件)、`autoconfirm`(撤销逐次确认)、
`workbench`(改写差评处理状态)、`alerts`(标记预警已读)、`competitors`、`schedule`、
`voc` / `analyze` / `charts` / `deepdive` 等母版命令。
- 新增运行期兜底闸:专属包在包内写入 `allowedCommands` 白名单,`ari.py`
The README is entirely written in Chinese and all example invocations are Chinese-only, which implies the skill expects or defaults to a specific language. There is no indication that users may choose another language or that the Chinese-only scope is a justified locale constraint.
The skill instructs the agent to initiate a potentially billable VOC operation by default based on user intent, relying on a server-side auto-confirm path that may charge the account before explicit confirmation in the current conversation. This weakens user consent boundaries and creates a risk of unintended spend, especially when the skill is invoked by broad natural-language requests.
1. 运行 `check`,确认账户、邮箱验证状态和可用积点。
2. 用户要 VOC / 评论分析报告时,默认运行 `voc <ASIN> --site <站点>`。
**返回里有 `autoConfirmed: true` 就说明已经直接生成了**(1.4.5 起:服务端对前几次小额
付费操作免确认,用户先拿到结果再谈钱),此时把报告讲给用户,并转述 `autoConfirmNote`
(本次扣了多少、还剩几次免确认、之后会先问)。**不要在拿到结果后再补问「要不要生成」。**
3. 返回 `confirmationRequired: true` 才需要用户确认:报出 `totalCredits` 与余额,
This line explicitly instructs running a confirm flag after minimal confirmation wording, and the surrounding workflow normalizes automatic progression from user request to billable execution. If the user intent is ambiguous or the cost context is not sufficiently clear, the agent may authorize charges too easily.
1. 运行 `check`,确认账户、邮箱验证状态和可用积点。
2. 用户要 VOC / 评论分析报告时,默认运行 `voc <ASIN> --site <站点>`。
**返回里有 `autoConfirmed: true` 就说明已经直接生成了**(1.4.5 起:服务端对前几次小额
付费操作免确认,用户先拿到结果再谈钱),此时把报告讲给用户,并转述 `autoConfirmNote`
(本次扣了多少、还剩几次免确认、之后会先问)。**不要在拿到结果后再补问「要不要生成」。**
3. 返回 `confirmationRequired: true` 才需要用户确认:报出 `totalCredits` 与余额,
用户同意后运行 `voc <ASIN> --site <站点> --confirm`。该命令会自动补齐采集、等待任务完成、
The instruction to proceed when autoConfirm: true means the skill is designed to let backend policy override interactive user confirmation for billable actions. In a conversational agent context, this is dangerous because a broad trigger plus auto-execution can convert exploratory questions into charged operations without fresh consent.
用户只说自然语言。网页是补充视图(图表、分享链接、海报),不是把人送走的地方。
**确认与扣点**
- 报价返回 `autoConfirm: true` 时直接生成,不要再问「要不要」。生成后一句话交代:本次扣了多少、
还剩几次免确认(或「免费版小额不问」)。策略由服务端决定:免费版小额不问;付费版前几次不问,之后先问。
- 用户说「以后别问了 / 50 以内直接做」→ 运行 `autoconfirm 50`;说「以后每次先问我」→ `autoconfirm off`;
说「恢复默认」→ `autoconfirm default`。这是唯一需要你代用户设置的东西,设完复述一句当前规则。
Allowing the agent to change persistent autoconfirm settings on behalf of the user alters future spending behavior and expands the blast radius beyond the current task. Even though the text says this is the only delegated setting, changing consent policy is security-sensitive because it modifies how later billable actions are authorized.
**确认与扣点**
- 报价返回 `autoConfirm: true` 时直接生成,不要再问「要不要」。生成后一句话交代:本次扣了多少、
还剩几次免确认(或「免费版小额不问」)。策略由服务端决定:免费版小额不问;付费版前几次不问,之后先问。
- 用户说「以后别问了 / 50 以内直接做」→ 运行 `autoconfirm 50`;说「以后每次先问我」→ `autoconfirm off`;
说「恢复默认」→ `autoconfirm default`。这是唯一需要你代用户设置的东西,设完复述一句当前规则。
- 报价需要确认时,只说两个数:这次多少积点、余额多少,然后等用户一个「好」。采集是**固定单价**:直接说「15 积点/页 × 3 页 = 45 积点」,不要说成「预计 / 最多」——价格不会浮动;商品评论不够这么多页时只收实际采到的页数,差额自动退回(`pricingNote` 已写好这句)。不要罗列参数。