Versioned security assessment

Report ID: SA-6FB47571

7/10/2026, 12:25:01 AM

nla-fulfill security assessment v1

Skill Security Certification Report

Audit History
Audit model: codex Historical report
Skill name
nla-fulfill
Version
v1
Maintainer
internet-court
Coverage
1 Files scanned · 114 Lines analyzed
Policy version
Unavailable

Highest confirmed finding severity

High

3 confirmed security findings require attention.

Installation context

Historical evidence

This report may not describe the currently installable artifact. Open the current Skill page for install guidance.

Open current Skill page

This report does not block or authorize the manifest or ZIP.

The skill legitimately uses the nla CLI, but several commands perform on-chain writes and rely on wallet private keys. Markdown fence matches are mostly false positives, while transaction execution, secret handling, and shell argument injection remain real risks. No prompt injection attempt was found in SKILL.md.

Report position

Historical report

Open audit history before using this report to install.

Audit attestation

Not attestable

The required immutable binding is incomplete.

Human verification

Not verified

No human verification is recorded for this report.

Coverage

1 Files scanned · 114 Lines analyzed

9 items shown for review

Limitations

This report does not claim runtime or sandbox execution and does not prove the absence of side effects.

Evidence chain

Follow the evidence from source binding to the install contract. Available evidence supports verification; it is not a safety guarantee.

  1. Source

    Binding unavailable

  2. Artifact

    Identity incomplete

  3. Audit

    Complete

  4. Install contract

    Open manifest to verify

    Open manifest

Capabilities observed

Observed means this report recorded supporting evidence. Not recorded does not prove that a capability is absent.

Contains scripts

May execute code included with the Skill.

Not recorded by this audit

Network access

May connect to external services.

Not recorded by this audit

Filesystem access

May read or write local files.

Not recorded by this audit

Env variables

May read values from the process environment.

Observed in 1 evidence location

External commands

May invoke commands or programs outside the Skill.

Observed in 11 evidence locations

Capability review items (6)
High
Ruby/shell backtick execution
```bash
The command block runs nla escrow:fulfill, which submits on-chain transactions and includes user-controlled fulfillment text. This can spend gas and mutate blockchain state.
High
Ruby/shell backtick execution
```bash
The command block runs nla escrow:collect, which can transfer escrowed tokens after approval. This is a financial write operation through local wallet tooling.
High
Ruby/shell backtick execution
```bash
The example flow contains status, fulfill, and collect CLI commands, including transaction submission and token collection. These commands execute external wallet tooling and can change blockchain state.
High
Generic API/secret keys
- Private key set via `nla wallet:set`, `--private-key` flag, or `PRIVATE_KEY` env var
The skill explicitly allows a PRIVATE_KEY environment variable for wallet access. Environment secrets can leak through logs, subprocesses, shell history, or misconfigured tooling.
Medium
Ruby/shell backtick execution
```bash
The block instructs the agent to run the external nla CLI with a user-supplied escrow UID. This is a read-only status query, but it still executes local tooling and network-dependent blockchain access.
Medium
Ruby/shell backtick execution
```bash
The block instructs another nla escrow:status invocation against a user-selected escrow. It is read-only, but it still runs an external CLI and queries blockchain state.

Risk findings

Confirmed security concerns are separated from items that still need review.

Confirmed security concerns (3)

RISK-001 High
Crypto seed/private key mention
- Private key set via `nla wallet:set`, `--private-key` flag, or `PRIVATE_KEY` env var
The prerequisite requires a crypto private key through the CLI, a command flag, or an environment variable. Exposure of that key can compromise the wallet and all controlled funds.
RISK-002 High
Shell Argument Injection in Fulfillment Command
The skill places arbitrary fulfillment text inside a double-quoted Bash argument. A crafted fulfillment containing quotes or shell metacharacters could alter the command that the agent runs.
The command template directly interpolates fulfillment text into a shell command. The file gives no escaping, argument-array, or validation guidance.
RISK-003 High
On-Chain Transaction Confirmation Missing
The workflow submits fulfillment and collection transactions that can spend gas and transfer escrowed tokens. It does not require explicit user confirmation before each write action.
The documented commands mutate blockchain state and collect tokens. The instructions list prerequisites and effects but omit a confirmation gate.

Remediation

Suggested fixes recorded by this audit. Applying them is the maintainer’s responsibility.

  1. FIX-001
    High
    Fulfillment text is interpolated into a shell command.
    Use safe argument escaping or an argument-array execution API. Reject fulfillment text that cannot be safely passed through Bash.
  2. FIX-002
    High
    On-chain write commands lack an explicit confirmation step.
    Require confirmation before fulfill and collect actions. Show escrow UID, oracle, chain, wallet address, gas estimate, and token movement.
  3. FIX-003
    High
    Private key setup permits command flags and environment variables.
    Recommend secure wallet storage or interactive secret entry. Remove examples that encourage --private-key or PRIVATE_KEY usage.
  4. FIX-004
    Medium
    External CLI commands depend on local wallet and network state.
    Add preflight checks for CLI version, selected chain, account address, balance, and oracle address before transactions.

Expert evidence

Immutable subject identity, scanner metadata, dismissed matches, and source-level evidence.

Artifact subject

Marketplace commit
Unavailable
Content hash
Unavailable
Tree hash
Unavailable
Skill path
Unavailable
Audit payload hash
Unavailable

Analysis metadata

Audit model: codex

Analysis state: Complete

Scope is limited to the recorded files, lines, methods, and evidence. No runtime or sandbox execution is claimed.

Verify and export

The manifest and lockfile bind install artifacts to cryptographic hashes. This integrity claim is separate from the security assessment.

Audit attestation: not_attestable