T09 · Insecure Skill Coding Practices
- Location
references/api_contract.md:172- Finding
DNS Rebinding Can Bypass customer_api Internal-Target Filtering
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly coherent for FlashRev CSV enrichment, but its optional customer_api feature gives broad third-party and internal-network request authority that deserves human review before installation.
Install only if you trust FlashRev and are comfortable with an agent enriching lead data through its CLI. Treat contact enrichment as paid data access, keep FLASHREV_API_KEY out of files and outputs, require dry-run and sample review before live runs, and do not use customer_api or --allow-internal-targets unless you have confirmed every destination and mapped field. In sensitive corporate or cloud environments, restrict outbound network access because the documented customer_api guardrail does not fully prevent DNS rebinding to private or metadata services.
references/api_contract.md:172DNS Rebinding Can Bypass customer_api Internal-Target Filtering
SKILL.md:288customer_api Exposes Approval-Gated Arbitrary Egress and Internal-Network Access
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.
- `--capability X --prompt "..."` together: `--capability` wins, `--prompt` is ignored with a stderr warning (no routing token charged).
- Unroutable prompts (e.g., "make me a sandwich") exit non-zero with the LLM's reasoning printed; zero rows run.
Agents must skip prompt routing unless the user explicitly requests it. `schema --json` plus explicit `--capability ID` is cheaper, faster, and deterministic.
For contact lookup, agents should use the contact routing table above and pass explicit `--capability`, never prompt routing.
The example normalizes use of --yes to auto-confirm a paid enrichment run, which can bypass an interactive approval checkpoint and make it easier for an agent to execute token- or credit-spending actions without fresh human confirmation. In this skill, some capabilities can also unlock contact data or trigger third-party egress, so encouraging auto-confirmation in examples weakens the approval boundary even though other sections elsewhere call for dry-run and sample preview first.
--capability enrich_email \
--map first_name=first_name --map last_name=last_name --map company_name=company \
--output verified_email=verified_business_email
# (preview shown, type 'y' to continue, or pass --yes to auto-confirm)
# 7. audit spend
flashrev-ai-enrich token-history --from 2026-05-01
No suspicious patterns detected.