soul-self-evolution
Warn
Audited by Gen Agent Trust Hub on Oct 17, 2026
Risk Level: MEDIUMINDIRECT_PROMPT_INJECTIONDATA_EXFILTRATIONCOMMAND_EXECUTIONDYNAMIC_EXECUTION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill implements a self-modification loop where the agent's core instructions are updated based on external observations, creating a surface for instruction injection.
- Ingestion points: The
observationsparameter in theproposefunction and thechangeslist in theapplyfunction process external data. - Boundary markers: None; content is interpolated directly into markdown files without delimiters or warnings to ignore embedded instructions.
- Capability inventory: The skill utilizes the
write_filetool to commit changes to the repository's configuration files. - Sanitization: No validation or filtering is performed on the incoming content to prevent the inclusion of malicious or overriding instructions.
- Safety Bypass: The
immutable_sectionslist, intended to protect safety guardrails, is passed as a tool argument, meaning an agent could be manipulated into overriding its own protection by passing an empty or modified list. - [DATA_EXFILTRATION]: The rollback mechanism allows for arbitrary file read access, which could be used to expose sensitive system data.
- Evidence: In
run.py, therollbackfunction accepts an absolute path for thecheckpointargument. The code reads the content of the provided path usingcheckpoint_path.read_text()without verifying that the path resides within the intended checkpoint directory, allowing any file accessible to the process to be read and then written into a public repository file namedSOUL.md. - [COMMAND_EXECUTION]: The skill performs standard file system operations to manage configuration files and historical state.
- Evidence: The
applyandrollbackhandlers inrun.pyusepath.write_textandpath.read_textto modify repository files, and_checkpoint_dirusesmkdirto create local storage directories. - [DYNAMIC_EXECUTION]: The skill's test suite utilizes dynamic module loading for its execution flow.
- Evidence:
tests/test_soul_self_evolution.pyusesimportlib.utilto load and execute therun.pyscript as a module during testing.
Audit Metadata