Skip to content

docs: add LICENSE and SECURITY.md - #6

Merged
mschmicking merged 2 commits into
masterfrom
docs-license-security
Aug 7, 2026
Merged

docs: add LICENSE and SECURITY.md#6
mschmicking merged 2 commits into
masterfrom
docs-license-security

Conversation

@mschmicking

Copy link
Copy Markdown
Owner

Two findings from the repo configuration audit.

LICENSE

GitHub showed the licence as NOASSERTION / "Other" in the sidebar. Its detector cannot parse LICENSE.md once the vendored Lua and LuaFileSystem notices are appended to the ISC text.

Adds a plain LICENSE containing only the canonical ISC text so it is detected. LICENSE.md keeps the third-party notices and now points at LICENSE as canonical. package.json already declared "license": "ISC", so npm was never affected — this was a GitHub display problem only.

LICENSE is added to the files allowlist and to the release tarball guard. Guard re-verified locally: 67 files, passes.

SECURITY.md

Worth more than boilerplate here, because embedding Lua makes the trust boundary unusual and it should be stated rather than assumed:

  • Out of scope: running untrusted Lua. Scripts get the full standard library — os.execute, io.open, require — plus LuaFileSystem, so they can run commands and touch files with the process's privileges. That is what embedding Lua is, not a defect.
  • Out of scope: misusing the low-level stack API. Some operations on unexpected types raise an unprotected Lua error that aborts the process. SetField/GetField guard against it; other methods do not. Documented behaviour.
  • In scope: memory corruption, use-after-free, or a crash reachable from ordinary API calls.

Supported versions are 2.x only, with the reason given: 1.x does not build on current Node.js and had the fixed-size error buffer among other memory-safety defects.

SECURITY.md is deliberately not shipped in the npm tarball — verified.

Note

I enabled private vulnerability reporting via the API, but GitHub does not surface that setting in security_and_analysis for user-owned repos, so I could not confirm it. Please check Settings → Security. The policy carries a fallback instruction either way.

🤖 Generated with Claude Code

mschmicking and others added 2 commits August 8, 2026 00:28
GitHub reported the licence as NOASSERTION/Other because its detector cannot
parse LICENSE.md once the vendored Lua and LuaFileSystem notices are appended.
Adding a plain LICENSE with only the canonical ISC text makes it detectable;
LICENSE.md keeps the third-party notices and now points at it. package.json
already declared ISC, so npm was never affected.

SECURITY.md records what is and is not a vulnerability here, which matters more
than usual for this package: embedding Lua hands scripts os.execute, io.open and
LuaFileSystem, so running untrusted Lua is out of scope by construction rather
than by oversight. Misuse of the low-level stack API is likewise documented
rather than treated as a defect.

Adds LICENSE to the files allowlist and to the release tarball guard. Verified
the guard still passes: 67 files, SECURITY.md correctly not shipped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0x7878 is the same person; using the legal name makes the copyright line
meaningful to anyone reading it. Medaeus245 stays: that is a separate author
whose 2017 copyright cannot be removed.

Also splits the two holders onto their own lines, which is the conventional
form for multiple copyright holders, and updates package.json to name Maurice
as author with Medaeus245 as a contributor.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mschmicking
mschmicking merged commit fd1fa25 into master Aug 7, 2026
13 checks passed
@mschmicking
mschmicking deleted the docs-license-security branch August 7, 2026 22:41
mschmicking added a commit that referenced this pull request Aug 8, 2026
* docs: add LICENSE and SECURITY.md

GitHub reported the licence as NOASSERTION/Other because its detector cannot
parse LICENSE.md once the vendored Lua and LuaFileSystem notices are appended.
Adding a plain LICENSE with only the canonical ISC text makes it detectable;
LICENSE.md keeps the third-party notices and now points at it. package.json
already declared ISC, so npm was never affected.

SECURITY.md records what is and is not a vulnerability here, which matters more
than usual for this package: embedding Lua hands scripts os.execute, io.open and
LuaFileSystem, so running untrusted Lua is out of scope by construction rather
than by oversight. Misuse of the low-level stack API is likewise documented
rather than treated as a defect.

Adds LICENSE to the files allowlist and to the release tarball guard. Verified
the guard still passes: 67 files, SECURITY.md correctly not shipped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* docs: credit Maurice Schmicking by name instead of the 0x7878 handle

0x7878 is the same person; using the legal name makes the copyright line
meaningful to anyone reading it. Medaeus245 stays: that is a separate author
whose 2017 copyright cannot be removed.

Also splits the two holders onto their own lines, which is the conventional
form for multiple copyright holders, and updates package.json to name Maurice
as author with Medaeus245 as a contributor.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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