AlpacaHack Logo
Sign InSign Up
Daily AlpacaHack

A daily CTF challenge with a fun new puzzle every day

What is Daily AlpacaHack?

We publish one simple, beginner-friendly or educational CTF challenge every day!

Join Anytime

Solve within 24 hours of release 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 24 hours have passed since release.

Solve stats

0

/185

No solved challenges yet.

Sign In to view your player stats

Today's Challenge
minaminaominaminao
vm1
Misc
Medium
17 solves
Submissions (latest 3)
hiziki

SOLVED!

Jun 2, 6:07 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🌱
1,842 solves
Upcoming challenges reveal the , , and in advance.
Prev

Jun 2026

Next
Solved
Unsolved
Upcoming
Mon
Tue
Wed
Thu
Fri
Sat
Sun
1
admin
Half-Year Recap
Misc
Welcome🌱
147 solves
2
minaminaominaminao
Cache Me If You Can
Web
Easy🌱
106 solves
3
minaminaominaminao
vm1
Misc
Medium
17 solves
4
pppp4649pppp4649
Planned topicRSA
Crypto
Easy🌱
5
Planned topicRandom Number
Misc
Crypto
Medium
7
Planned topicC++
Rev
Hard
8
Coming soon
9
Coming soon
10
Coming soon
11
Coming soon
12
Coming soon
13
Coming soon
14
Coming soon
15
Coming soon
16
Coming soon
17
Coming soon
18
Coming soon
19
Coming soon
20
Coming soon
21
Planned topicHeap
Pwn
Hard
22
Coming soon
23
Coming soon
24
Coming soon
25
Coming soon
26
Coming soon
27
Coming soon
28
Planned topicTBA
Pwn
Hard
29
Coming soon
30
Coming soon
1
Coming soon
2
Coming soon
3
Coming soon
4
Coming soon
5
Coming soon

Want a harder challenge?

Go to B-SIDE

Writeups

Daily AlpacaHackに挑戦するつくよみちゃん 06/02/Catch Me If You Can/minaminao

tsukuyomi-chan

ja
Cache Me If You Can

2 hours ago

tadanobutubutu

Writeup for Cache Me If You Can

Daily AlpacaHackに挑戦するつくよみちゃん 06/01/Half Year Recap/admin

Daily AlpacaHackに挑戦するつくよみちゃん 05/31/login-bonus-3/ptr-yudai

ja

2026/05/31 16:06

tadanobutubutu

Writeup for login-bonus-3

ja

2026/05/31 15:05

nitcelcius

Writeup for Slipboard

ja

2026/05/31 13:16

Rows:

vm1

Topic: Jail, JavaScriptReleased: Jun 3, 2026

17 solves
Misc
Medium

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.

descriptionsolves