self-improving-agent
Pass
Audited by Gen Agent Trust Hub on Sep 4, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill captures tool inputs and outputs (via environment variables in hooks) to generate learning episodes and candidates. This ingested data is stored in local state files and used to trigger the extraction of candidate lessons based on failure modes. While lessons currently use hardcoded templates, the ingestion of untrusted data from tool outputs creates a surface for potential bias or logic manipulation if the classification logic (e.g., detecting 'search_skipped') is deceived.
- Ingestion points:
TOOL_INPUTandTOOL_OUTPUTenvironment variables are captured byhooks/pre-tool.shandhooks/post-bash.shand processed byruntime/learning_core.py. - Boundary markers: No explicit delimiters or 'ignore' instructions are used when storing or summarizing tool data in the observation records.
- Capability inventory: The skill uses
subprocess.run(inpublish_event) to execute external commands and has file write capabilities to maintain local state. - Sanitization: The
redact_textfunction uses regular expressions to remove secrets (e.g., API keys, bearer tokens, AWS credentials), andsummarize_bloblimits the length and structure of tool data previews. - [COMMAND_EXECUTION]: The skill executes external commands to publish events to a telemetry system.
- Evidence:
runtime/learning_core.pycontains thepublish_eventfunction which callssubprocess.runusing a command list built bybuild_publish_command. The command executesuv run bb publishto send JSON data to an external service. - [EXTERNAL_DOWNLOADS]: The skill relies on an external system called 'Bloodbank' and its associated CLI tool
bb, which is expected to be present on the host system. - Evidence: The skill documentation and the
bloodbank_root()function inruntime/learning_core.pyreference a local directory~/code/33GOD/bloodbankas the location for this external dependency.
Audit Metadata