Skip to content

Harden content integrity signature checks#269

Open
fallintoplace wants to merge 2 commits into
NVIDIA:mainfrom
fallintoplace:fix/verify-unsigned-skill-files
Open

Harden content integrity signature checks#269
fallintoplace wants to merge 2 commits into
NVIDIA:mainfrom
fallintoplace:fix/verify-unsigned-skill-files

Conversation

@fallintoplace

@fallintoplace fallintoplace commented Jun 12, 2026

Copy link
Copy Markdown

Summary

  • Walk signed skill directories and fail when a file is neither signed nor explicitly ignored by signature metadata.
  • Validate signed resource names before reading files: reject absolute paths, .., non-normalized names, and paths that resolve outside the skill directory.
  • Honor serialization.allow_symlinks only for symlinks that stay inside the skill directory.

Validation

  • PYTHONDONTWRITEBYTECODE=1 python3 -m py_compile .github/scripts/verify_content_integrity.py
  • git diff --check
  • Synthetic temp-dir checks for unsigned extras, ignored files, absolute paths, .., non-normalized paths, disallowed symlinks, allowed in-root symlinks, and symlinks escaping the skill directory.
  • python3 .github/scripts/verify_content_integrity.py fails as expected on current catalog drift, now including skills/physical-ai-neural-reconstruction/evals/evals.json: UNSIGNED EXTRA.

Signed-off-by: Minh Vu <vuhoangminh97@gmail.com>
Signed-off-by: Minh Vu <vuhoangminh97@gmail.com>
@fallintoplace fallintoplace changed the title Fail content integrity on unsigned skill files Harden content integrity signature checks Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant