Incomplete referenced artifact analysis
- Category
- analysis-evasion
- Confidence
- 100% confidence
- Finding
Referenced artifact was not completely inspected
- Content
md node scripts/gen.mjs --task item-detail \
Security audit
Security checks for vulnerabilities and agentic risk
This skill generates product-detail images using disclosed cloud services, with no evidence of hidden access or malicious behavior.
Select the provider explicitly and use --dry-run before generating. Images and prompts leave your machine, so use materials approved for that provider. Prefer a pinned CLI version and verify pricing: the instructions quote 5 credits per image, while the bundled estimator uses 45.
Referenced artifact was not completely inspected
node scripts/gen.mjs --task item-detail \
Referenced artifact was not completely inspected
| 统一入口的全部选项 | `node scripts/gen.mjs --help` |
Without declared permissions the skill's intent is opaque and cannot be validated.
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
| 做法 | 说明 |
| --- | --- |
| ✅ 商品图干净 | 带文字的图会让新排版和旧文字打架,先走 [remove-watermark](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/remove-watermark/skill.md) |
| ✅ 卖点写成短句 | `亲肤不扎` 比 `采用优质柔软亲肤面料不刺激皮肤` 好排版 |
| ✅ 文案字数控制 | 主标题 ≤ 8 字,副标题 ≤ 16 字,图标文案 ≤ 5 字 |
| ❌ 一个模块塞十条卖点 | 排不下,会挤成乱码 |
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
## 7、执行流程
1. **洗干净商品图**([remove-watermark](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/remove-watermark/skill.md)),避免新旧文字打架。
2. **定类目 → 取版式基调**(第四节表格)。
3. **把卖点压成短句**:主标题 ≤8 字,副标题 ≤16 字,图标文案 ≤5 字。
4. **拆模块**:banner / 卖点图标 / 材质说明 / 细节 / 尺码——**一个模块一条 prompt**。
The workflow directs the agent to submit product images and prompt content to an external image-generation service without explicitly disclosing that transfer or checking whether the materials are approved for external processing. This could expose unreleased product designs or confidential marketing content; naming dLazy makes the integration transparent but does not establish informed authorization for sensitive uploads.
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
model: () => env.GEN_MODEL_OPENAI || 'gpt-image-1',
describe(req) {
const ep = req.images?.length ? 'images/edits' : 'images/generations'
return `POST https://api.openai.com/v1/${ep} model=${openai.model()} size=${mapSize(req.size)} n=${req.batch}`
},
async run(req) {
const key = env.OPENAI_API_KEY
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
: await readFile(p)
fd.append('image[]', new Blob([buf], { type: mimeOf(p) }), path.basename(p))
}
r = await fetch('https://api.openai.com/v1/images/edits', {
method: 'POST', headers: { authorization: `Bearer ${key}` }, body: fd,
})
} else {
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
: await readFile(p)
fd.append('image[]', new Blob([buf], { type: mimeOf(p) }), path.basename(p))
}
r = await fetch('https://api.openai.com/v1/images/edits', {
method: 'POST', headers: { authorization: `Bearer ${key}` }, body: fd,
})
} else {
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
method: 'POST', headers: { authorization: `Bearer ${key}` }, body: fd,
})
} else {
r = await fetch('https://api.openai.com/v1/images/generations', {
method: 'POST',
headers: { authorization: `Bearer ${key}`, 'content-type': 'application/json' },
body: JSON.stringify({
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
method: 'POST', headers: { authorization: `Bearer ${key}` }, body: fd,
})
} else {
r = await fetch('https://api.openai.com/v1/images/generations', {
method: 'POST',
headers: { authorization: `Bearer ${key}`, 'content-type': 'application/json' },
body: JSON.stringify({
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
model: (req) =>
env.GEN_MODEL_REPLICATE ||
(req?.images?.length ? 'black-forest-labs/flux-kontext-pro' : 'black-forest-labs/flux-dev'),
describe(req) { return `POST https://api.replicate.com/v1/models/${replicate.model(req)}/predictions` },
async run(req) {
const input = { prompt: req.prompt, num_outputs: req.batch }
if (req.images?.length) input.input_image = await asDataUri(req.images[0])
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
const input = { prompt: req.prompt, num_outputs: req.batch }
if (req.images?.length) input.input_image = await asDataUri(req.images[0])
const j = await postJson(
`https://api.replicate.com/v1/models/${replicate.model(req)}/predictions`,
{ input },
{ authorization: `Bearer ${env.REPLICATE_API_TOKEN}`, prefer: 'wait' },
req.timeoutMs,
Detected: suspicious.dangerous_exec, suspicious.env_credential_access