bx-yaml — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited bx-yaml (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
install-bx-module bx-yaml
# CommandBox
box install boxlang-yaml| BIF | Description |
|---|---|
yamlSerialize( content, [filepath], [charset] ) | Serialize a BoxLang value to a YAML string (or file) |
yamlDeserialize( content ) | Parse a YAML string into a BoxLang value |
yamlDeserializeFile( filepath, [charset] ) | Parse a YAML file into a BoxLang value |
// Serialize a struct to YAML
yaml = yamlSerialize( { name: "Luis", age: 21, city: "Orlando" } )
// Serialize nested structures
yaml = yamlSerialize({
name : "Luis",
age : 21,
address : { street: "1234 Main St", city: "Orlando", state: "FL" },
tags : [ "admin", "developer" ]
})
// Serialize to a file
yamlSerialize( appConfig, "/app/config/settings.yml" )
// Deserialize YAML string back to BoxLang value
data = yamlDeserialize( yaml )
println( data.name ) // Luis
println( data.address.city ) // Orlando
// Deserialize from a file
config = yamlDeserializeFile( "/app/config/settings.yml" )// Read environment config
env = server.system.environment.APP_ENV ?: "development"
config = yamlDeserializeFile( "/app/config/#env#.yml" )
// Access nested config values
dbHost = config.database.host
dbPort = config.database.portBy default, a class with serializable = true (or no annotation) is serialized using its properties:
class serializable=true {
property name="username" type="string"
property name="email" type="string"
property name="password" type="string" yamlExclude=true // excluded from YAML
}
user = new User().setUsername( "alice" ).setEmail( "[email protected]" )
yaml = yamlSerialize( user )
// username and email are included; password is excludedtoYAML() Methodclass {
function init( name, age, city ) {
variables.name = name
variables.age = age
variables.city = city
}
// Only expose name and city (not age)
function toYAML() {
return { name: variables.name, city: variables.city }
}
}
person = new Person( "Luis", 21, "Orlando" )
yaml = yamlSerialize( person )
// Calls toYAML() — only name and city appear in outputyamlExclude=true on a property — exclude this property from YAML serializationserializable=false on the class — prevents the whole class from being serializedyamlExclude list on the class — list of property names to excludeyamlDeserializeFile() for reading config files rather than fileRead() + yamlDeserialize()yamlSerialize()yamlExclude annotation to prevent sensitive fields (passwords, tokens) from being serialized~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.