nlweb-tools-framework

Pass

Audited by Gen Agent Trust Hub on Sep 17, 2026

Risk Level: SAFEINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADSCOMMAND_EXECUTION
Full Analysis
  • [INDIRECT_PROMPT_INJECTION]: The framework described in the skill processes untrusted user queries and external data retrieved from sites. This data is fed into an LLM to determine tool routing and generate responses, creating a surface for indirect prompt injection. 1. Ingestion points: ToolSelector (in core/router.py) and search results from context.retriever.search (in methods/*.py). 2. Boundary markers: The skill mentions using <returnStruc> blocks to define JSON output shapes for LLM calls. 3. Capability inventory: Handlers execute Python logic, including retrieval and ranking. 4. Sanitization: Relies on strict JSON parsing of LLM outputs.\n- [DYNAMIC_EXECUTION]: The skill describes a tool routing flow where the ToolSelector dynamically determines which Python handler in methods/ to invoke based on LLM-generated decisions at runtime.\n- [EXTERNAL_DOWNLOADS]: The documentation instructs users to fetch various configuration (sites.xml, tools.xml) and documentation (tools.md, nlweb-prompts.md) files from https://github.com/nlweb-ai/NLWeb to ensure they are using the latest versions.\n- [COMMAND_EXECUTION]: The implementation guidance includes a curl command for testing custom tools by forcing the router to select a specific handler.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 17, 2026, 06:33 PM