izm1chael commited on
Commit
16c7c7d
·
verified ·
1 Parent(s): fd6ea5a

Publish Layerfault deep challenge LF-CH-SCRX-0008

Browse files
CHALLENGE_ORACLE.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "attack_surface": [
3
+ "script-supply-chain"
4
+ ],
5
+ "control_type": "positive",
6
+ "corpus_id": "LF-CH-SCRX-0008",
7
+ "difficulty": "hard",
8
+ "expected_decision": "BLOCK",
9
+ "ground_truth": "synthetic-generated",
10
+ "layerfault_rule_expectations": {
11
+ "candidate_rules": [
12
+ "LF-DEP-NPM-INSTALL-HOOK",
13
+ "LF-JS-SEMANTIC-PROCESS"
14
+ ],
15
+ "expected_rules": [],
16
+ "must_not_rules": []
17
+ },
18
+ "oracle_ids": [
19
+ "LF-ORACLE-SCRX-0008"
20
+ ],
21
+ "related_cases": [],
22
+ "repo_name": "script-js-install-hook-chain",
23
+ "safe_fixture": true,
24
+ "schema": 2,
25
+ "severity": "medium",
26
+ "techniques": [
27
+ "js",
28
+ "install",
29
+ "hook",
30
+ "chain"
31
+ ],
32
+ "transformations": []
33
+ }
FIXTURE_LAYOUT.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "artifacts": [
3
+ "package.json",
4
+ "loader.js"
5
+ ],
6
+ "family": "scriptx",
7
+ "note": "All content is synthetic and inert. Do not treat this as a production model.",
8
+ "repo_name": "script-js-install-hook-chain"
9
+ }
LAYERFAULT_CORPUS.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate_rules": [
3
+ "LF-DEP-NPM-INSTALL-HOOK",
4
+ "LF-JS-SEMANTIC-PROCESS"
5
+ ],
6
+ "challenge": {
7
+ "attack_surface": [
8
+ "script-supply-chain"
9
+ ],
10
+ "control_type": "positive",
11
+ "difficulty": "hard",
12
+ "expected_decision": "BLOCK",
13
+ "oracle_ids": [
14
+ "LF-ORACLE-SCRX-0008"
15
+ ],
16
+ "related_cases": [],
17
+ "severity": "medium",
18
+ "techniques": [
19
+ "js",
20
+ "install",
21
+ "hook",
22
+ "chain"
23
+ ],
24
+ "transformations": []
25
+ },
26
+ "corpus_id": "LF-CH-SCRX-0008",
27
+ "description": "Script js install hook chain.",
28
+ "expected_rules": [],
29
+ "generator": "challenges.generate_challenge",
30
+ "ground_truth": "synthetic-generated",
31
+ "must_not_rules": [],
32
+ "repo_name": "script-js-install-hook-chain",
33
+ "repo_type": "model",
34
+ "safe_fixture": true,
35
+ "safety": "inert/canary-only",
36
+ "schema": 1,
37
+ "validation": {
38
+ "kind": "verify-package",
39
+ "target": "."
40
+ }
41
+ }
README.md ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ # script-js-install-hook-chain
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-CH-SCRX-0008`
30
+
31
+ ## Purpose
32
+
33
+ Script js install hook chain.
34
+
35
+ ## Direct expected Layerfault rules
36
+
37
+ - None; this repository is a control/comparison input.
38
+
39
+ ## Candidate rules
40
+
41
+ These are deliberately plausible targets that remain marked as candidates until the exact
42
+ Layerfault build used for certification confirms them.
43
+
44
+ - `LF-DEP-NPM-INSTALL-HOOK`
45
+ - `LF-JS-SEMANTIC-PROCESS`
46
+
47
+ ## Negative-control rules
48
+
49
+ These should remain silent for this corpus item.
50
+
51
+ - None
52
+
53
+ ## Safety
54
+
55
+ The corpus uses fake secrets, loopback/`.invalid` network destinations, harmless marker output,
56
+ and synthetic model behavior only. It is intended for static scanning and isolated security testing.
57
+
58
+ ## Challenge classification
59
+
60
+ - Severity: **medium**
61
+ - Difficulty: **hard**
62
+ - Expected admission decision: **BLOCK**
63
+ - Control type: **positive**
64
+ - Attack surface: script-supply-chain
65
+ - Techniques: js, install, hook, chain
66
+ - Transformations: none
67
+
68
+ ### Ground-truth oracle IDs
69
+
70
+ - `LF-ORACLE-SCRX-0008`
71
+
72
+ These oracle IDs describe synthetic ground truth. They do not claim that a
73
+ matching Layerfault detector already exists. A challenge may intentionally expose
74
+ a scanner blind spot and remain unmapped until the detector is implemented.
SHA256SUMS.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "path": "CHALLENGE_ORACLE.json",
4
+ "sha256": "cc1fb524d00e8b328702addb0662ea081f9b106352c9010dd61126332a7a0382",
5
+ "size": 684
6
+ },
7
+ {
8
+ "path": "FIXTURE_LAYOUT.json",
9
+ "sha256": "d44f2881263311066a7a04dd21c1d23d4271eda00849351c9462cfe6ded6931a",
10
+ "size": 221
11
+ },
12
+ {
13
+ "path": "LAYERFAULT_CORPUS.json",
14
+ "sha256": "1871a8efedca02f1e4a316a4c2c8c66b7e3f035201155321ee2af45d3b0ba572",
15
+ "size": 915
16
+ },
17
+ {
18
+ "path": "README.md",
19
+ "sha256": "0e45a52b68b33c451f6d3052a7e277dc9e25f867f68064ec286f156a534b106b",
20
+ "size": 2249
21
+ },
22
+ {
23
+ "path": "loader.js",
24
+ "sha256": "ebfe96ed3cb9525a3987e0b3b65478f782a5b3c5c04ce6b05b61b29463db02cc",
25
+ "size": 70
26
+ },
27
+ {
28
+ "path": "package.json",
29
+ "sha256": "1b9e1385b1b1350639f81a9eb0686a8473fdf289b451054c799c0d8f1e5813be",
30
+ "size": 59
31
+ }
32
+ ]
loader.js ADDED
@@ -0,0 +1 @@
 
 
1
+ const cp=require("child_process"); console.log("LAYERFAULT_FIXTURE");
package.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "scripts": {
3
+ "postinstall": "node loader.js"
4
+ }
5
+ }