ctfd.Challenge
Explore with Pulumi AI
CTFd is built around the Challenge resource, which contains all the attributes to define a part of the Capture The Flag event.
This provider builds a cleaner API on top of CTFd’s one to improve its adoption and lifecycle management.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as ctfd from "@ctfer-io/pulumi-ctfd";
import * as fs from "fs";
const http = new ctfd.Challenge("http", {
category: "misc",
description: "...",
value: 500,
decay: 100,
minimum: 50,
state: "visible",
"function": "logarithmic",
topics: ["Misc"],
tags: [
"misc",
"basic",
],
});
const httpFlag = new ctfd.Flag("httpFlag", {
challengeId: http.id,
content: "CTF{some_flag}",
});
const httpHint1 = new ctfd.Hint("httpHint1", {
challengeId: http.id,
content: "Some super-helpful hint",
cost: 50,
});
const httpHint2 = new ctfd.Hint("httpHint2", {
challengeId: http.id,
content: "Even more helpful hint !",
cost: 50,
requirements: [httpHint1.id],
});
const httpFile = new ctfd.File("httpFile", {
challengeId: http.id,
contentb64: fs.readFileSync(".../image.png", { encoding: "base64" }),
});
import pulumi
import base64
import ctfer-io_pulumi-ctfd as ctfd
http = ctfd.Challenge("http",
category="misc",
description="...",
value=500,
decay=100,
minimum=50,
state="visible",
function="logarithmic",
topics=["Misc"],
tags=[
"misc",
"basic",
])
http_flag = ctfd.Flag("httpFlag",
challenge_id=http.id,
content="CTF{some_flag}")
http_hint1 = ctfd.Hint("httpHint1",
challenge_id=http.id,
content="Some super-helpful hint",
cost=50)
http_hint2 = ctfd.Hint("httpHint2",
challenge_id=http.id,
content="Even more helpful hint !",
cost=50,
requirements=[http_hint1.id])
http_file = ctfd.File("httpFile",
challenge_id=http.id,
contentb64=(lambda path: base64.b64encode(open(path).read().encode()).decode())(".../image.png"))
package main
import (
"encoding/base64"
"os"
"github.com/ctfer-io/pulumi-ctfd/sdk/go/ctfd"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func filebase64OrPanic(path string) string {
if fileData, err := os.ReadFile(path); err == nil {
return base64.StdEncoding.EncodeToString(fileData[:])
} else {
panic(err.Error())
}
}
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
http, err := ctfd.NewChallenge(ctx, "http", &ctfd.ChallengeArgs{
Category: pulumi.String("misc"),
Description: pulumi.String("..."),
Value: pulumi.Int(500),
Decay: pulumi.Int(100),
Minimum: pulumi.Int(50),
State: pulumi.String("visible"),
Function: pulumi.String("logarithmic"),
Topics: pulumi.StringArray{
pulumi.String("Misc"),
},
Tags: pulumi.StringArray{
pulumi.String("misc"),
pulumi.String("basic"),
},
})
if err != nil {
return err
}
_, err = ctfd.NewFlag(ctx, "httpFlag", &ctfd.FlagArgs{
ChallengeId: http.ID(),
Content: pulumi.String("CTF{some_flag}"),
})
if err != nil {
return err
}
httpHint1, err := ctfd.NewHint(ctx, "httpHint1", &ctfd.HintArgs{
ChallengeId: http.ID(),
Content: pulumi.String("Some super-helpful hint"),
Cost: pulumi.Int(50),
})
if err != nil {
return err
}
_, err = ctfd.NewHint(ctx, "httpHint2", &ctfd.HintArgs{
ChallengeId: http.ID(),
Content: pulumi.String("Even more helpful hint !"),
Cost: pulumi.Int(50),
Requirements: pulumi.StringArray{
httpHint1.ID(),
},
})
if err != nil {
return err
}
_, err = ctfd.NewFile(ctx, "httpFile", &ctfd.FileArgs{
ChallengeId: http.ID(),
Contentb64: filebase64OrPanic(".../image.png"),
})
if err != nil {
return err
}
return nil
})
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Pulumi;
using Ctfd = CTFerio.Ctfd;
string ReadFileBase64(string path)
{
return Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)));
}
return await Deployment.RunAsync(() =>
{
var http = new Ctfd.Challenge("http", new()
{
Category = "misc",
Description = "...",
Value = 500,
Decay = 100,
Minimum = 50,
State = "visible",
Function = "logarithmic",
Topics = new[]
{
"Misc",
},
Tags = new[]
{
"misc",
"basic",
},
});
var httpFlag = new Ctfd.Flag("httpFlag", new()
{
ChallengeId = http.Id,
Content = "CTF{some_flag}",
});
var httpHint1 = new Ctfd.Hint("httpHint1", new()
{
ChallengeId = http.Id,
Content = "Some super-helpful hint",
Cost = 50,
});
var httpHint2 = new Ctfd.Hint("httpHint2", new()
{
ChallengeId = http.Id,
Content = "Even more helpful hint !",
Cost = 50,
Requirements = new[]
{
httpHint1.Id,
},
});
var httpFile = new Ctfd.File("httpFile", new()
{
ChallengeId = http.Id,
Contentb64 = ReadFileBase64(".../image.png"),
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ctfd.Challenge;
import com.pulumi.ctfd.ChallengeArgs;
import com.pulumi.ctfd.Flag;
import com.pulumi.ctfd.FlagArgs;
import com.pulumi.ctfd.Hint;
import com.pulumi.ctfd.HintArgs;
import com.pulumi.ctfd.File;
import com.pulumi.ctfd.FileArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var http = new Challenge("http", ChallengeArgs.builder()
.category("misc")
.description("...")
.value(500)
.decay(100)
.minimum(50)
.state("visible")
.function("logarithmic")
.topics("Misc")
.tags(
"misc",
"basic")
.build());
var httpFlag = new Flag("httpFlag", FlagArgs.builder()
.challengeId(http.id())
.content("CTF{some_flag}")
.build());
var httpHint1 = new Hint("httpHint1", HintArgs.builder()
.challengeId(http.id())
.content("Some super-helpful hint")
.cost(50)
.build());
var httpHint2 = new Hint("httpHint2", HintArgs.builder()
.challengeId(http.id())
.content("Even more helpful hint !")
.cost(50)
.requirements(httpHint1.id())
.build());
var httpFile = new File("httpFile", FileArgs.builder()
.challengeId(http.id())
.contentb64(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(".../image.png"))))
.build());
}
}
Coming soon!
Create Challenge Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Challenge(name: string, args: ChallengeArgs, opts?: CustomResourceOptions);
@overload
def Challenge(resource_name: str,
args: ChallengeArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Challenge(resource_name: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
value: Optional[int] = None,
category: Optional[str] = None,
minimum: Optional[int] = None,
function: Optional[str] = None,
max_attempts: Optional[int] = None,
decay: Optional[int] = None,
name: Optional[str] = None,
next: Optional[int] = None,
requirements: Optional[ChallengeRequirementsArgs] = None,
state: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
topics: Optional[Sequence[str]] = None,
type: Optional[str] = None,
connection_info: Optional[str] = None)
func NewChallenge(ctx *Context, name string, args ChallengeArgs, opts ...ResourceOption) (*Challenge, error)
public Challenge(string name, ChallengeArgs args, CustomResourceOptions? opts = null)
public Challenge(String name, ChallengeArgs args)
public Challenge(String name, ChallengeArgs args, CustomResourceOptions options)
type: ctfd:Challenge
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ChallengeArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ChallengeArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ChallengeArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ChallengeArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ChallengeArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var challengeResource = new Ctfd.Challenge("challengeResource", new()
{
Description = "string",
Value = 0,
Category = "string",
Minimum = 0,
Function = "string",
MaxAttempts = 0,
Decay = 0,
Name = "string",
Next = 0,
Requirements = new Ctfd.Inputs.ChallengeRequirementsArgs
{
Behavior = "string",
Prerequisites = new[]
{
"string",
},
},
State = "string",
Tags = new[]
{
"string",
},
Topics = new[]
{
"string",
},
Type = "string",
ConnectionInfo = "string",
});
example, err := ctfd.NewChallenge(ctx, "challengeResource", &ctfd.ChallengeArgs{
Description: pulumi.String("string"),
Value: pulumi.Int(0),
Category: pulumi.String("string"),
Minimum: pulumi.Int(0),
Function: pulumi.String("string"),
MaxAttempts: pulumi.Int(0),
Decay: pulumi.Int(0),
Name: pulumi.String("string"),
Next: pulumi.Int(0),
Requirements: &ctfd.ChallengeRequirementsArgs{
Behavior: pulumi.String("string"),
Prerequisites: pulumi.StringArray{
pulumi.String("string"),
},
},
State: pulumi.String("string"),
Tags: pulumi.StringArray{
pulumi.String("string"),
},
Topics: pulumi.StringArray{
pulumi.String("string"),
},
Type: pulumi.String("string"),
ConnectionInfo: pulumi.String("string"),
})
var challengeResource = new Challenge("challengeResource", ChallengeArgs.builder()
.description("string")
.value(0)
.category("string")
.minimum(0)
.function("string")
.maxAttempts(0)
.decay(0)
.name("string")
.next(0)
.requirements(ChallengeRequirementsArgs.builder()
.behavior("string")
.prerequisites("string")
.build())
.state("string")
.tags("string")
.topics("string")
.type("string")
.connectionInfo("string")
.build());
challenge_resource = ctfd.Challenge("challengeResource",
description="string",
value=0,
category="string",
minimum=0,
function="string",
max_attempts=0,
decay=0,
name="string",
next=0,
requirements=ctfd.ChallengeRequirementsArgs(
behavior="string",
prerequisites=["string"],
),
state="string",
tags=["string"],
topics=["string"],
type="string",
connection_info="string")
const challengeResource = new ctfd.Challenge("challengeResource", {
description: "string",
value: 0,
category: "string",
minimum: 0,
"function": "string",
maxAttempts: 0,
decay: 0,
name: "string",
next: 0,
requirements: {
behavior: "string",
prerequisites: ["string"],
},
state: "string",
tags: ["string"],
topics: ["string"],
type: "string",
connectionInfo: "string",
});
type: ctfd:Challenge
properties:
category: string
connectionInfo: string
decay: 0
description: string
function: string
maxAttempts: 0
minimum: 0
name: string
next: 0
requirements:
behavior: string
prerequisites:
- string
state: string
tags:
- string
topics:
- string
type: string
value: 0
Challenge Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Challenge resource accepts the following input properties:
- Category string
- Category of the challenge that CTFd groups by on the web UI.
- Description string
- Description of the challenge, consider using multiline descriptions for better style.
- Value int
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic". - Connection
Info string - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- Decay int
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - Function string
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- Max
Attempts int - Maximum amount of attempts before being unable to flag the challenge.
- Minimum int
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- Name string
- Name of the challenge, displayed as it.
- Next int
- Suggestion for the end-user as next challenge to work on.
- Requirements
CTFerio.
Ctfd. Inputs. Challenge Requirements - List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- State string
- State of the challenge, either hidden or visible.
- List<string>
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- Topics List<string>
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- Type string
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- Category string
- Category of the challenge that CTFd groups by on the web UI.
- Description string
- Description of the challenge, consider using multiline descriptions for better style.
- Value int
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic". - Connection
Info string - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- Decay int
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - Function string
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- Max
Attempts int - Maximum amount of attempts before being unable to flag the challenge.
- Minimum int
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- Name string
- Name of the challenge, displayed as it.
- Next int
- Suggestion for the end-user as next challenge to work on.
- Requirements
Challenge
Requirements Args - List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- State string
- State of the challenge, either hidden or visible.
- []string
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- Topics []string
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- Type string
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- category String
- Category of the challenge that CTFd groups by on the web UI.
- description String
- Description of the challenge, consider using multiline descriptions for better style.
- value Integer
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic". - connection
Info String - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- decay Integer
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - function String
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- max
Attempts Integer - Maximum amount of attempts before being unable to flag the challenge.
- minimum Integer
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- name String
- Name of the challenge, displayed as it.
- next Integer
- Suggestion for the end-user as next challenge to work on.
- requirements
Challenge
Requirements - List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- state String
- State of the challenge, either hidden or visible.
- List<String>
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- topics List<String>
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- type String
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- category string
- Category of the challenge that CTFd groups by on the web UI.
- description string
- Description of the challenge, consider using multiline descriptions for better style.
- value number
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic". - connection
Info string - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- decay number
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - function string
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- max
Attempts number - Maximum amount of attempts before being unable to flag the challenge.
- minimum number
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- name string
- Name of the challenge, displayed as it.
- next number
- Suggestion for the end-user as next challenge to work on.
- requirements
Challenge
Requirements - List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- state string
- State of the challenge, either hidden or visible.
- string[]
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- topics string[]
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- type string
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- category str
- Category of the challenge that CTFd groups by on the web UI.
- description str
- Description of the challenge, consider using multiline descriptions for better style.
- value int
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic". - connection_
info str - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- decay int
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - function str
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- max_
attempts int - Maximum amount of attempts before being unable to flag the challenge.
- minimum int
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- name str
- Name of the challenge, displayed as it.
- next int
- Suggestion for the end-user as next challenge to work on.
- requirements
Challenge
Requirements Args - List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- state str
- State of the challenge, either hidden or visible.
- Sequence[str]
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- topics Sequence[str]
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- type str
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- category String
- Category of the challenge that CTFd groups by on the web UI.
- description String
- Description of the challenge, consider using multiline descriptions for better style.
- value Number
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic". - connection
Info String - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- decay Number
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - function String
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- max
Attempts Number - Maximum amount of attempts before being unable to flag the challenge.
- minimum Number
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- name String
- Name of the challenge, displayed as it.
- next Number
- Suggestion for the end-user as next challenge to work on.
- requirements Property Map
- List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- state String
- State of the challenge, either hidden or visible.
- List<String>
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- topics List<String>
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- type String
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
Outputs
All input properties are implicitly available as output properties. Additionally, the Challenge resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing Challenge Resource
Get an existing Challenge resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ChallengeState, opts?: CustomResourceOptions): Challenge
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
category: Optional[str] = None,
connection_info: Optional[str] = None,
decay: Optional[int] = None,
description: Optional[str] = None,
function: Optional[str] = None,
max_attempts: Optional[int] = None,
minimum: Optional[int] = None,
name: Optional[str] = None,
next: Optional[int] = None,
requirements: Optional[ChallengeRequirementsArgs] = None,
state: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
topics: Optional[Sequence[str]] = None,
type: Optional[str] = None,
value: Optional[int] = None) -> Challenge
func GetChallenge(ctx *Context, name string, id IDInput, state *ChallengeState, opts ...ResourceOption) (*Challenge, error)
public static Challenge Get(string name, Input<string> id, ChallengeState? state, CustomResourceOptions? opts = null)
public static Challenge get(String name, Output<String> id, ChallengeState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Category string
- Category of the challenge that CTFd groups by on the web UI.
- Connection
Info string - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- Decay int
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - Description string
- Description of the challenge, consider using multiline descriptions for better style.
- Function string
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- Max
Attempts int - Maximum amount of attempts before being unable to flag the challenge.
- Minimum int
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- Name string
- Name of the challenge, displayed as it.
- Next int
- Suggestion for the end-user as next challenge to work on.
- Requirements
CTFerio.
Ctfd. Inputs. Challenge Requirements - List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- State string
- State of the challenge, either hidden or visible.
- List<string>
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- Topics List<string>
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- Type string
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- Value int
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic".
- Category string
- Category of the challenge that CTFd groups by on the web UI.
- Connection
Info string - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- Decay int
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - Description string
- Description of the challenge, consider using multiline descriptions for better style.
- Function string
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- Max
Attempts int - Maximum amount of attempts before being unable to flag the challenge.
- Minimum int
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- Name string
- Name of the challenge, displayed as it.
- Next int
- Suggestion for the end-user as next challenge to work on.
- Requirements
Challenge
Requirements Args - List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- State string
- State of the challenge, either hidden or visible.
- []string
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- Topics []string
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- Type string
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- Value int
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic".
- category String
- Category of the challenge that CTFd groups by on the web UI.
- connection
Info String - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- decay Integer
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - description String
- Description of the challenge, consider using multiline descriptions for better style.
- function String
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- max
Attempts Integer - Maximum amount of attempts before being unable to flag the challenge.
- minimum Integer
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- name String
- Name of the challenge, displayed as it.
- next Integer
- Suggestion for the end-user as next challenge to work on.
- requirements
Challenge
Requirements - List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- state String
- State of the challenge, either hidden or visible.
- List<String>
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- topics List<String>
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- type String
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- value Integer
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic".
- category string
- Category of the challenge that CTFd groups by on the web UI.
- connection
Info string - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- decay number
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - description string
- Description of the challenge, consider using multiline descriptions for better style.
- function string
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- max
Attempts number - Maximum amount of attempts before being unable to flag the challenge.
- minimum number
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- name string
- Name of the challenge, displayed as it.
- next number
- Suggestion for the end-user as next challenge to work on.
- requirements
Challenge
Requirements - List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- state string
- State of the challenge, either hidden or visible.
- string[]
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- topics string[]
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- type string
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- value number
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic".
- category str
- Category of the challenge that CTFd groups by on the web UI.
- connection_
info str - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- decay int
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - description str
- Description of the challenge, consider using multiline descriptions for better style.
- function str
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- max_
attempts int - Maximum amount of attempts before being unable to flag the challenge.
- minimum int
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- name str
- Name of the challenge, displayed as it.
- next int
- Suggestion for the end-user as next challenge to work on.
- requirements
Challenge
Requirements Args - List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- state str
- State of the challenge, either hidden or visible.
- Sequence[str]
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- topics Sequence[str]
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- type str
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- value int
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic".
- category String
- Category of the challenge that CTFd groups by on the web UI.
- connection
Info String - Connection Information to connect to the challenge instance, useful for pwn, web and infrastructure pentests.
- decay Number
- The decay defines from each number of solves does the decay function triggers until reaching minimum. This function is defined by CTFd and could be configured through
.function
. - description String
- Description of the challenge, consider using multiline descriptions for better style.
- function String
- Decay function to define how the challenge value evolve through solves, either linear or logarithmic.
- max
Attempts Number - Maximum amount of attempts before being unable to flag the challenge.
- minimum Number
- The minimum points for a dynamic-score challenge to reach with the decay function. Once there, no solve could have more value.
- name String
- Name of the challenge, displayed as it.
- next Number
- Suggestion for the end-user as next challenge to work on.
- requirements Property Map
- List of required challenges that needs to get flagged before this one being accessible. Useful for skill-trees-like strategy CTF.
- state String
- State of the challenge, either hidden or visible.
- List<String>
- List of challenge tags that will be displayed to the end-user. You could use them to give some quick insights of what a challenge involves.
- topics List<String>
- List of challenge topics that are displayed to the administrators for maintenance and planification.
- type String
- Type of the challenge defining its layout/behavior, either standard or dynamic (default).
- value Number
- The value (points) of the challenge once solved. Internally, the provider will handle what target is legitimate depending on the
.type
value, i.e. eithervalue
for "standard" orinitial
for "dynamic".
Supporting Types
ChallengeRequirements, ChallengeRequirementsArgs
- Behavior string
- Behavior if not unlocked, either hidden or anonymized.
- Prerequisites List<string>
- List of the challenges ID.
- Behavior string
- Behavior if not unlocked, either hidden or anonymized.
- Prerequisites []string
- List of the challenges ID.
- behavior String
- Behavior if not unlocked, either hidden or anonymized.
- prerequisites List<String>
- List of the challenges ID.
- behavior string
- Behavior if not unlocked, either hidden or anonymized.
- prerequisites string[]
- List of the challenges ID.
- behavior str
- Behavior if not unlocked, either hidden or anonymized.
- prerequisites Sequence[str]
- List of the challenges ID.
- behavior String
- Behavior if not unlocked, either hidden or anonymized.
- prerequisites List<String>
- List of the challenges ID.
Package Details
- Repository
- ctfd ctfer-io/pulumi-ctfd
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
ctfd
Terraform Provider.