Versions in this module Expand all Collapse all v0 v0.5.1 Mar 31, 2026 v0.5.0 Feb 24, 2026 v0.4.9 Dec 24, 2025 GO-2026-4576 +1 more GO-2026-4576: osctrl has Stored Cross-Site Scripting (XSS) in On-Demand Query List in github.com/jmpsec/osctrl GO-2026-4579: osctrl is Vulnerable to OS Command Injection via Environment Configuration in github.com/jmpsec/osctrl v0.4.8 Nov 5, 2025 GO-2026-4576 +1 more GO-2026-4576: osctrl has Stored Cross-Site Scripting (XSS) in On-Demand Query List in github.com/jmpsec/osctrl GO-2026-4579: osctrl is Vulnerable to OS Command Injection via Environment Configuration in github.com/jmpsec/osctrl v0.4.7 Sep 30, 2025 GO-2026-4576 +1 more GO-2026-4576: osctrl has Stored Cross-Site Scripting (XSS) in On-Demand Query List in github.com/jmpsec/osctrl GO-2026-4579: osctrl is Vulnerable to OS Command Injection via Environment Configuration in github.com/jmpsec/osctrl v0.4.6 Sep 2, 2025 GO-2026-4576 +1 more GO-2026-4576: osctrl has Stored Cross-Site Scripting (XSS) in On-Demand Query List in github.com/jmpsec/osctrl GO-2026-4579: osctrl is Vulnerable to OS Command Injection via Environment Configuration in github.com/jmpsec/osctrl v0.4.5 Aug 9, 2025 GO-2026-4576 +1 more GO-2026-4576: osctrl has Stored Cross-Site Scripting (XSS) in On-Demand Query List in github.com/jmpsec/osctrl GO-2026-4579: osctrl is Vulnerable to OS Command Injection via Environment Configuration in github.com/jmpsec/osctrl v0.4.4 Mar 26, 2025 GO-2026-4576 +1 more GO-2026-4576: osctrl has Stored Cross-Site Scripting (XSS) in On-Demand Query List in github.com/jmpsec/osctrl GO-2026-4579: osctrl is Vulnerable to OS Command Injection via Environment Configuration in github.com/jmpsec/osctrl v0.4.3 Feb 22, 2025 GO-2026-4576 +1 more GO-2026-4576: osctrl has Stored Cross-Site Scripting (XSS) in On-Demand Query List in github.com/jmpsec/osctrl GO-2026-4579: osctrl is Vulnerable to OS Command Injection via Environment Configuration in github.com/jmpsec/osctrl Changes in this version + const DownloadLinkExpiration + const LocalFile + const MaxChunkSize + const MaxUploadRetries + const S3File + const S3Key + const S3URL + const S3proto + const StatusCompleted + const StatusInProgress + const StatusQueried + const StatusScheduled + const TarFileExtension + const ZstFileExtension + var CompressionHeader = []byte + func CheckCompressionBlock(block CarvedBlock) (bool, error) + func CheckCompressionRaw(data []byte) bool + func GenCarveName() string + func GenCarveQuery(file string, glob bool) string + func GenerateArchiveName(carve CarvedFile) string + func GenerateS3Archive(bucket, env, uuid, sessionid, path string) string + func GenerateS3Data(bucket, env, uuid, sessionid string, blockid int) string + func GenerateS3File(env, uuid, sessionid, path string) string + func GenerateS3Key(env, uuid, sessionid string, blockid int) string + func LoadS3(file string) (types.S3Configuration, error) + func S3URLtoKey(s3url, bucket string) string + type CarveResult struct + File string + Size int64 + type CarvedBlock struct + BlockID int + Carver string + Data string + Environment string + EnvironmentID uint + RequestID string + SessionID string + Size int + type CarvedFile struct + ArchivePath string + Archived bool + BlockSize int + CarveID string + CarveSize int + Carver string + CompletedAt time.Time + CompletedBlocks int + Environment string + EnvironmentID uint + NodeID uint + Path string + QueryName string + RequestID string + SessionID string + Status string + TotalBlocks int + UUID string + type CarverS3 struct + AWSConfig aws.Config + Client *s3.Client + Debug bool + Enabled bool + S3Config types.S3Configuration + Uploader *manager.Uploader + func CreateCarverS3(s3Config types.S3Configuration) (*CarverS3, error) + func CreateCarverS3File(s3File string) (*CarverS3, error) + func (carveS3 *CarverS3) Archive(carve CarvedFile, blocks []CarvedBlock) (*CarveResult, error) + func (carveS3 *CarverS3) Concatenate(key string, destKey string, part int, uploadid *string) (*string, error) + func (carveS3 *CarverS3) Download(carve CarvedFile) (io.WriterAt, error) + func (carveS3 *CarverS3) GetDownloadLink(carve CarvedFile) (string, error) + func (carveS3 *CarverS3) Settings(mgr *settings.Settings) + func (carveS3 *CarverS3) Upload(block CarvedBlock, uuid, data string) error + type CarverType int + type Carves struct + Carver string + DB *gorm.DB + S3 *CarverS3 + func CreateFileCarves(backend *gorm.DB, carverType string, s3 *CarverS3) *Carves + func (c *Carves) Archive(sessionid, destPath string) (*CarveResult, error) + func (c *Carves) ArchiveCarve(sessionid, archive string) error + func (c *Carves) ArchiveLocal(destPath string, carve CarvedFile, blocks []CarvedBlock) (*CarveResult, error) + func (c *Carves) ChangeStatus(status, sessionid string) error + func (c *Carves) CheckCarve(sessionid, requestid string) bool + func (c *Carves) CompleteBlock(sessionid string) error + func (c *Carves) Completed(sessionid string) bool + func (c *Carves) CreateBlock(block CarvedBlock, uuid, data string) error + func (c *Carves) CreateCarve(carve CarvedFile) error + func (c *Carves) Delete(carveid string) error + func (c *Carves) DeleteBlocks(sessionid string) error + func (c *Carves) GetBlocks(sessionid string) ([]CarvedBlock, error) + func (c *Carves) GetByCarve(carveid string) (CarvedFile, error) + func (c *Carves) GetByEnv(env uint) ([]CarvedFile, error) + func (c *Carves) GetByQuery(name string, env uint) ([]CarvedFile, error) + func (c *Carves) GetByRequest(requestid string) ([]CarvedFile, error) + func (c *Carves) GetBySession(sessionid string) (CarvedFile, error) + func (c *Carves) GetCheckCarve(sessionid, requestid string) (CarvedFile, error) + func (c *Carves) GetNodeCarves(uuid string) ([]CarvedFile, error) + func (c *Carves) InitCarve(req types.CarveInitRequest, sessionid string) error + func (c *Carves) InitateBlock(env, uuid, requestid, sessionid, data string, blockid int, envid uint) CarvedBlock + type MappedCarves map[string][]CarvedFile + type QueriedCarve struct + Creator string + Name string + Path string + Status string