AlpacaHack Logo
Sign InSign Up
Daily AlpacaHack

A CTF challenge series with fun puzzles to enjoy every day

What is Daily AlpacaHack?

We regularly publish simple, beginner-friendly or educational CTF challenges!

Join Anytime

Solve each challenge within its time window to appear on the leaderboard.

Not a Competition

Discussion with friends or AI is welcome (account sharing is prohibited).

Solution Sharing Rules

Sharing solutions is allowed only after the challenge period has ended.

Solve stats

0

/10

No solved challenges yet.

Sign In to view your player stats

Today's Challenge
hiikunzhiikunz
nested eval
Misc
Hard
28 solves
Submissions (latest 3)
kapumoka

SOLVED!

Sep 19, 8:24 PM

hiikunz

SOLVED!

Sep 19, 3:03 PM

Leaderboard

Try the first challenge

Is this your first CTF? Let's begin by tackling the first challenge released on Daily AlpacaHack.

View challenge
admin
AlpacaHack 2100
Misc
Welcome🌱
2,210 solves
Upcoming challenges reveal the , , and in advance.
Prev

Sep 2026

Next
Solved
Unsolved
Upcoming
Mon
Tue
Wed
Thu
Fri
Sat
Sun
 
tchentchen
Springing
Web
Medium
74 solves
1
admin
QUIZ ALPACASHOCK
Misc
Welcome🌱
122 solves
2
hiikunzhiikunz
base 16-32-64
Misc
Easy🌱
99 solves
3-4
tan90909090tan90909090
Let's Shut Down Linux
Misc
Medium
62 solves
5
baumroll1234
6-8
minaminaominaminao
Bitflip RSA
Crypto
Hard
53 solves
 
minaminaominaminao
Bitflip RSA
Crypto
Hard
53 solves
9-11
minaminaominaminao
\^o^/
Misc
Hard
42 solves
12-13
tan90909090tan90909090
sin function vs. fsin instruction
Rev
Misc
Medium
54 solves
14-15
tan90909090tan90909090
integer division
Misc
Medium
67 solves
16-18
edwowmathedwowmath
neighboRhood_diStAnce
Crypto
Hard
37 solves
19-21
hiikunzhiikunz
nested eval
Misc
Hard
28 solves
 
hiikunzhiikunz
nested eval
Misc
Hard
28 solves
22
Coming soon
23
Coming soon
24
Coming soon
25
Coming soon
26
Coming soon
27
Coming soon
28
Coming soon
29
Coming soon
30
Coming soon
1
Coming soon
2
Coming soon
3
Coming soon
4
Coming soon

Want a harder challenge?

Go to B-SIDE

Writeups

Writeup for neighboRhood_diStAnce

baumroll1234

ja
neighboRhood_diStAnce

2026/09/18 22:37

curetwinkle

Writeup for simple ROP(アセンブリ解説多め)

ja

2026/09/15 03:55

gattoartz

Writeup for Integer Writer

ja

2026/09/14 12:03

sp1n0z4

Writeup for Bitflip RSA

en

2026/09/12 23:42

gattoartz

Writeup for Leaked Flag Checker

Rows:

vm1

Topic: Jail, JavaScriptReleased: Jun 3, 2026

113 solves
Misc
Medium4.0

by

minaminao

minaminao

https://nodejs.org/docs/latest-v26.x/api/vm.html#vm-executing-javascript

The node:vm module is not a security mechanism. Do not use it to run untrusted code.

I do not believe so

Beginner Hint 1: Challenge Overview (AI-translated)
  • If you read the distributed jail.js, you can see that the JavaScript code you input is executed with runInNewContext from node:vm.
  • Roughly speaking, runInNewContext is used as runInNewContext(code, contextObject, options). The first argument is the code to execute, the second argument is the global object visible from that code, and the third argument is the runtime options.
  • In this challenge, runInNewContext(code.toString(), {}, { timeout: 1000 }) is executed. In other words, your input code is executed in a new context, and an empty {} is passed as the global object. timeout: 1000 is a setting to stop execution that runs for too long.
  • The flag is stored in the environment variable FLAG, and in normal Node.js code, you can obtain it with process.env.FLAG. However, in this challenge, the {} passed as the second argument to runInNewContext does not contain process, so it fails with ReferenceError: process is not defined.
  • So how can you obtain FLAG?
Beginner Hint 2: Approach (AI-translated)
  • At first glance, it looks like you cannot access objects such as process, but that is not actually the case.
  • In JavaScript, when reading an object's property, if the property does not exist on the object itself, properties on the prototype chain are also searched.
  • In the vm context, focus especially on the constructor property among the properties visible from globalThis, and try investigating it.
Beginner Hint 3: A More Detailed Approach (AI-translated)
  • globalThis.constructor.constructor becomes the Function constructor, which can create functions from strings.
  • In which context is a function created with this evaluated?
vm1.tar.gz

Please sign in to submit the flag.

descriptionsolveswriteups