bx-unsafe-evaluate

Define safe BoxLang evaluate() usage patterns for legacy CFML migration.

Updated Apr 10, 2026
One-click install
npx skills add https://github.com/ortus-boxlang/skills --skill bx-unsafe-evaluate
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bx-unsafe-evaluate
Source: https://github.com/ortus-boxlang/skills/tree/main/boxlang-modules/bx-unsafe-evaluate
Command: npx skills add https://github.com/ortus-boxlang/skills --skill bx-unsafe-evaluate

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Helps developers safely navigate dynamic evaluation in BoxLang by providing guidance, best practices, and explicit security warnings for legacy CFML migrations.

Core Features & Use Cases

  • Safe evaluation patterns: replace evaluate() with variables[...] access and invoke() where possible.
  • Migration guidance: step-by-step approach to migrate legacy CFML code to BoxLang safely.
  • Security-focused guidance: clearly documented risks and mitigation strategies for dynamic evaluation.

Quick Start

Consult this guide during CFML migrations to apply safe dynamic evaluation patterns and plan the gradual removal of evaluate() from new code.

Frequently Asked Questions about bx-unsafe-evaluate

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I safely migrate CFML evaluate() calls to BoxLang?

To safely migrate CFML evaluate() calls to BoxLang, replace dynamic evaluation with secure patterns like variables[...] access and invoke(), following a step-by-step roadmap that gradually removes unsafe usage.

What are the security risks of using evaluate() in BoxLang?

The security risks of using evaluate() in BoxLang include dynamic code injection vulnerabilities during legacy CFML migration, requiring explicit safeguards, error handling, and documented mitigation strategies to prevent unsafe execution.

When should I avoid evaluate() entirely in BoxLang?

You should avoid evaluate() entirely in BoxLang when secure alternatives like variables[...] bracket access or invoke() can achieve the same dynamic behavior without exposing legacy CFML code to injection risks.

What is the best way to replace dynamic evaluation in CFML migrations?

The best way to replace dynamic evaluation in CFML migrations is using variables[...] for variable lookups and invoke() for method calls, applying secure coding practices while planning gradual removal of evaluate().

Does BoxLang support safe alternatives to evaluate() for legacy CFML code?

Yes, BoxLang supports safe alternatives to evaluate() for legacy CFML code, specifically offering variables[...] array notation for dynamic variable access and invoke() for dynamic method execution with built-in safeguards.

Why does dynamic evaluation cause issues during CFML to BoxLang migration?

Dynamic evaluation causes issues during CFML to BoxLang migration because evaluate() bypasses compile-time checks and introduces security vulnerabilities, requiring safe usage patterns and error handling to manage risk.