npx-ownership-panel

Pass

Audited by Gen Agent Trust Hub on Sep 7, 2026

Risk Level: SAFEDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
  • [DYNAMIC_EXECUTION]: The script scripts/npx_linking/matching.py utilizes ast.parse, compile, and exec() within its _lift helper to extract and execute specific code blocks from other scripts in the skill. This is implemented to verify functional parity across different versions of normalization logic.
  • [DYNAMIC_EXECUTION]: scripts/dq_panel.py performs dynamic loading of the ownership_dq.py module using importlib.util. This allows the pipeline to flexibly load diagnostic tools based on the deployment environment.
  • [INDIRECT_PROMPT_INJECTION]: The adjudication script scripts/npx_linking/judge_matches.py ingests fund names from external ISS proxy-voting records and incorporates them directly into LLM prompts.
  • Ingestion points: External records are read via scripts/npx_linking/pull_npx_funds.py and processed.
  • Boundary markers: The prompt uses <<A>>, <<B>>, and <<MGR>> as placeholders for the ingested data.
  • Capability inventory: The LLM verdict determines fund-linking logic in the build_npx_crsp_link_headers.py stage.
  • Sanitization: No specific escaping or sanitization of the ingested name strings is performed before interpolation into the prompt.
  • [COMMAND_EXECUTION]: The orchestration layer, including scripts/npx_linking/pipeline.py and various Bash wrappers like scripts/run_pipeline.sh, uses subprocess.run and SGE qsub commands to manage dependencies and execute the multi-step build process on the WRDS grid.
  • [EXTERNAL_DOWNLOADS]: scripts/npx_linking/download_sec_series_class.py retrieves official identifier datasets from the SEC's public website (sec.gov). This is handled as a trusted source for financial metadata.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 7, 2026, 05:56 AM
Security Audit — agent-trust-hub — npx-ownership-panel