izm1chael commited on
Commit
8824ea8
·
verified ·
1 Parent(s): d54793e

Publish Layerfault synthetic corpus LF-CORPUS-DEP-0001

Browse files
LAYERFAULT_CORPUS.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate_rules": [],
3
+ "corpus_id": "LF-CORPUS-DEP-0001",
4
+ "description": "Mixed Python/npm dependency manifests exercising alternate indexes, URLs, missing includes, insecure transport, local paths, path escapes, install hooks and VCS references.",
5
+ "expected_rules": [
6
+ "LF-DEP-ALT-INDEX",
7
+ "LF-DEP-DIRECT-URL",
8
+ "LF-DEP-INCLUDE-MISSING",
9
+ "LF-DEP-INSECURE-TRANSPORT",
10
+ "LF-DEP-BUILD-BACKEND",
11
+ "LF-DEP-INSTALL-HOOK",
12
+ "LF-DEP-LOCAL-PATH",
13
+ "LF-DEP-PATH-ESCAPE",
14
+ "LF-DEP-NPM-INSTALL-HOOK",
15
+ "LF-DEP-RUNTIME-INSTALL",
16
+ "LF-DEP-VCS",
17
+ "LF-DEP-VCS-MUTABLE-REF"
18
+ ],
19
+ "generator": "packages.dependency_suite",
20
+ "ground_truth": "synthetic-generated",
21
+ "must_not_rules": [],
22
+ "repo_name": "dependency-risk-suite",
23
+ "repo_type": "model",
24
+ "safety": "inert/canary-only",
25
+ "schema": 1,
26
+ "validation": {
27
+ "kind": "verify-package",
28
+ "target": "."
29
+ }
30
+ }
README.md ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ tags:
4
+ - layerfault
5
+ - security-research
6
+ - model-security
7
+ - synthetic
8
+ - adversarial-testing
9
+ extra_gated_prompt: >-
10
+ This repository is a synthetic security-test artifact from the Layerfault
11
+ corpus. It intentionally contains adversarial characteristics (e.g.
12
+ suspicious pickle opcodes, executable-format smuggling, prompt-injection
13
+ strings) designed to exercise security scanner detection rules. It is
14
+ **not** a usable ML model and must never be loaded or executed outside an
15
+ isolated scanner-testing environment. By accepting, you confirm you
16
+ understand this repository is a test fixture, not production model
17
+ weights.
18
+ extra_gated_button_content: I understand this is a security test fixture and accept the risk
19
+ gated: auto
20
+ ---
21
+
22
+ # dependency-risk-suite
23
+
24
+ > **SECURITY TEST ARTIFACT — DO NOT USE AS A PRODUCTION MODEL**
25
+
26
+ This repository is part of the Layerfault synthetic security corpus.
27
+ It is deliberately constructed to contain security-relevant characteristics for scanner testing.
28
+
29
+ **Corpus ID:** `LF-CORPUS-DEP-0001`
30
+
31
+ ## Purpose
32
+
33
+ Mixed Python/npm dependency manifests exercising alternate indexes, URLs, missing includes, insecure transport, local paths, path escapes, install hooks and VCS references.
34
+
35
+ ## Direct expected Layerfault rules
36
+
37
+ - `LF-DEP-ALT-INDEX`
38
+ - `LF-DEP-DIRECT-URL`
39
+ - `LF-DEP-INCLUDE-MISSING`
40
+ - `LF-DEP-INSECURE-TRANSPORT`
41
+ - `LF-DEP-BUILD-BACKEND`
42
+ - `LF-DEP-INSTALL-HOOK`
43
+ - `LF-DEP-LOCAL-PATH`
44
+ - `LF-DEP-PATH-ESCAPE`
45
+ - `LF-DEP-NPM-INSTALL-HOOK`
46
+ - `LF-DEP-RUNTIME-INSTALL`
47
+ - `LF-DEP-VCS`
48
+ - `LF-DEP-VCS-MUTABLE-REF`
49
+
50
+ ## Candidate rules
51
+
52
+ These are deliberately plausible targets that remain marked as candidates until the exact
53
+ Layerfault build used for certification confirms them.
54
+
55
+ - None
56
+
57
+ ## Negative-control rules
58
+
59
+ These should remain silent for this corpus item.
60
+
61
+ - None
62
+
63
+ ## Safety
64
+
65
+ The corpus uses fake secrets, loopback/`.invalid` network destinations, harmless marker output,
66
+ and synthetic model behavior only. It is intended for static scanning and isolated security testing.
SHA256SUMS.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "path": "LAYERFAULT_CORPUS.json",
4
+ "sha256": "1a1dddb3f1e2f1cbeff39ecdb9eff8ce9a16ccff2118d8eef2c5e9fba6661ad8",
5
+ "size": 903
6
+ },
7
+ {
8
+ "path": "README.md",
9
+ "sha256": "92a2e5cbb962575785759bde3718c73f7f7b58d0035311fdb6cb20e1f2dac6c6",
10
+ "size": 2044
11
+ },
12
+ {
13
+ "path": "model.safetensors",
14
+ "sha256": "a93e4b89dd8218d941be2b57882ed3185f71a7ebfc003548fd494aa8a795ca2f",
15
+ "size": 856
16
+ },
17
+ {
18
+ "path": "package.json",
19
+ "sha256": "b37f9330a5f4fb1f7d8b6ea5d710c00209046dd504f31eeb001aa36f6e69e43b",
20
+ "size": 169
21
+ },
22
+ {
23
+ "path": "postinstall.js",
24
+ "sha256": "d2ffb4281f6a043a3c6b171078bd20dac359123389a817277910ac93ed823a67",
25
+ "size": 58
26
+ },
27
+ {
28
+ "path": "preinstall.js",
29
+ "sha256": "32cccc292486305ec79ff34793626ac5e12a2bc62a7d376df7c1e5fd524712e4",
30
+ "size": 57
31
+ },
32
+ {
33
+ "path": "pyproject.toml",
34
+ "sha256": "8552affd72d8e870a59b3de9b1076b5bc0b208cabcb0f8ea2996d7357762ab56",
35
+ "size": 122
36
+ },
37
+ {
38
+ "path": "requirements.txt",
39
+ "sha256": "a2443729c4047d6824d11532cbda706642835fa2d60a1558ca842034b2070978",
40
+ "size": 344
41
+ },
42
+ {
43
+ "path": "setup.py",
44
+ "sha256": "68ab7754813ecd95998b32a0492f0b4c8358a2856d5de2405ceef928cbf5ed4d",
45
+ "size": 352
46
+ }
47
+ ]
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a93e4b89dd8218d941be2b57882ed3185f71a7ebfc003548fd494aa8a795ca2f
3
+ size 856
package.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "layerfault-dependency-fixture",
3
+ "scripts": {
4
+ "postinstall": "node postinstall.js",
5
+ "preinstall": "node preinstall.js"
6
+ },
7
+ "version": "0.0.1"
8
+ }
postinstall.js ADDED
@@ -0,0 +1 @@
 
 
1
+ require('child_process').execFile('node', ['--version']);
preinstall.js ADDED
@@ -0,0 +1 @@
 
 
1
+ require('child_process').execFile('npm', ['--version']);
pyproject.toml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ [build-system]
2
+ requires = ["setuptools"]
3
+ build-backend = "layerfault_build.backend"
4
+ backend-path = ["../outside-backend"]
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ --index-url http://127.0.0.1:8080/simple
2
+ -r missing-requirements.txt
3
+ -e ../outside-package
4
+ -e ./local-package
5
+ layerfault-direct @ http://example.invalid/layerfault-direct.whl
6
+ layerfault-vcs @ git+https://example.invalid/layerfault.git@main
7
+ layerfault-pinned @ git+https://example.invalid/layerfault.git@0123456789abcdef0123456789abcdef01234567
setup.py ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ from setuptools import setup
2
+ from setuptools.command.install import install
3
+ import subprocess, sys
4
+ class LayerfaultInstall(install):
5
+ def run(self):
6
+ subprocess.run(["pip", "install", "layerfault-synthetic-canary"], check=False)
7
+ super().run()
8
+ setup(name="layerfault-fixture", version="0.0.1", cmdclass={"install": LayerfaultInstall})