• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Recached

facebookincubator / TTPForge
56%
main: 67%

Build:
Build:
LAST BUILD BRANCH: export-D102381432
DEFAULT BRANCH: main
Repo Added 14 Aug 2023 10:15AM UTC
Token Ra8RGMp9erWTTLNu6nJqTb1aoVijgYIX7 regen
Build 568 Last
Files 79
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH export-D102381432
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • container
  • container-fix
  • coverage
  • dep-lock
  • dependabot/go_modules/golang.org/x/crypto-0.35.0
  • dependabot/go_modules/golang.org/x/crypto-0.45.0
  • doc-pc
  • expect
  • expected-step-failure
  • export-D100171959
  • export-D100214957
  • export-D100219502
  • export-D100220109
  • export-D102369915
  • export-D102381432
  • export-D50618372
  • export-D50635423
  • export-D50708311
  • export-D50892103
  • export-D50990440
  • export-D51069461
  • export-D51070150
  • export-D51139869
  • export-D51171741
  • export-D51180590
  • export-D51306975
  • export-D51307671
  • export-D51407546
  • export-D51428503
  • export-D51434166
  • export-D51434373
  • export-D51435517
  • export-D51437115
  • export-D51439700
  • export-D51449622
  • export-D51449668
  • export-D51451469
  • export-D51457037
  • export-D51458305
  • export-D51459133
  • export-D51459399
  • export-D51459508
  • export-D51459753
  • export-D51467408
  • export-D51475492
  • export-D51482864
  • export-D51495585
  • export-D51498587
  • export-D51520144
  • export-D51520434
  • export-D59696048
  • export-D59864499
  • export-D60238880
  • export-D60419102
  • export-D60423533
  • export-D60686691
  • export-D61042469
  • export-D61387125
  • export-D61657101
  • export-D61658174
  • export-D61662534
  • export-D62530409
  • export-D63457210
  • export-D63702296
  • export-D64108097
  • export-D65080213
  • export-D65831540
  • export-D66702400
  • export-D68783463
  • export-D69546940
  • export-D69863376
  • export-D69953549
  • export-D70136417
  • export-D70192169
  • export-D70499233
  • export-D71635625
  • export-D71739496
  • export-D71841703
  • export-D72669013
  • export-D72670580
  • export-D73053704
  • export-D76082173
  • export-D77463007
  • export-D77619765
  • export-D78497399
  • export-D78521586
  • export-D78701235
  • export-D78753717
  • export-D78761882
  • export-D79202811
  • export-D79562207
  • export-D80822110
  • export-D80826527
  • export-D81613044
  • export-D82462426
  • export-D82462427
  • export-D82462428
  • export-D83680470
  • export-D83782620
  • export-D84361195
  • export-D84760010
  • export-D85156300
  • export-D85156301
  • export-D85156302
  • export-D85156303
  • export-D85156304
  • export-D85156306
  • export-D85156307
  • export-D85420264
  • export-D85961390
  • export-D85961391
  • export-D85961392
  • export-D85980771
  • export-D86667764
  • export-D86667765
  • export-D86701133
  • export-D87560637
  • export-D87624106
  • export-D88201164
  • export-D88775033
  • export-D88797428
  • export-D88953881
  • export-D89531176
  • export-D89671295
  • export-D89671789
  • export-D89671793
  • export-D90003977
  • export-D90004567
  • export-D92201696
  • export-D92402443
  • export-D92490643
  • export-D93187902
  • export-D94181859
  • export-D95083399
  • export-D95206129
  • export-D95792079
  • export-D95792080
  • export-D95915751
  • export-D95915800
  • export-D96483032
  • export-D96775202
  • export-D96778694
  • export-D97167047
  • export-D97167049
  • export-D98292682
  • fix-no-cleanup
  • fixup-T168084774-main
  • forge-integration-tests
  • magefile-updates
  • main
  • mitre-yaml
  • os-and-arch-metadata
  • pt-code-owners
  • renovate/actions-checkout-3.x
  • renovate/actions-checkout-4.x
  • renovate/actions-checkout-digest
  • renovate/actions-setup-python-digest
  • renovate/codespell-project-codespell-2.x
  • renovate/docker-build-push-action-5.x
  • renovate/docker-build-push-action-digest
  • renovate/docker-login-action-3.x
  • renovate/docker-setup-buildx-action-3.x
  • renovate/docker-setup-buildx-action-digest
  • renovate/docker-setup-qemu-action-3.x
  • renovate/github-codeql-action-digest
  • renovate/github.com-l50-goutils-v2-2.x
  • renovate/github.com-spf13-afero-1.x
  • renovate/github.com-tidwall-gjson-1.x
  • renovate/go.uber.org-zap-1.x
  • renovate/golang-1.x
  • renovate/goreleaser-goreleaser-action-5.x
  • renovate/goreleaser-goreleaser-action-digest
  • renovate/pin-dependencies
  • renovate/pre-commit-pre-commit-hooks-4.x
  • renovate/python-3.x
  • renovate/renovatebot-github-action-39.x
  • renovate/returntocorp-semgrep-action-digest
  • renovate/shogo82148-actions-goveralls-digest
  • sfm-create-file-new
  • sfm-create-file-step
  • sfm-downgrade-afero
  • sfm-downgrade-zap
  • sfm-dry-run
  • sfm-edit-and-create-refactor
  • sfm-fix-asdf
  • sfm-fix-indirects
  • sfm-fix-logs-and-remove-viper
  • sfm-fix-template-bug
  • sfm-fix-token
  • sfm-fix-usage
  • sfm-fix-working-directory-handling
  • sfm-install-command
  • sfm-reduce-minimum-go-version
  • sfm-remove-codeowner
  • sfm-remove-json-string
  • sfm-tmp-remove-vscode
  • sfm-update-files-package
  • sfm-update-gjson
  • sfm-update-zap
  • sfm-use-latest-release
  • test
  • test-refactor

27 Apr 2026 08:27PM UTC coverage: 55.962%. First build
25017792694

Pull #617

github

facebook-github-bot
Allow per-step execution timeout override (basic and file steps) (#617)

Summary:

TTPForge currently caps every basic/file step at a hardcoded 100-minute execution timeout. This blocks any TTP whose single step legitimately runs longer than 100 minutes
   - This blocks creating a TTP which simulates DNS beaconing behavior over a 5 hour period.
   - TTPs with very long running behavior should be run in the background, so they aren't hogging a host for hours.

This adds two new fields to basic/file steps:
  - step_timeout: Go duration string (e.g. "7h", "30m"). Optional.
  - long_running: bool. Required true to set step_timeout > 100m.

Including the `long_running` bool makes it more obvious that the default timeout has been changed. It also prevents YAML authors from changing the default timeout to something very long without acknowledging the long duration.

Hard cap of MaxExecutionTimeout = 24h applies even with long_running: true. I don't think there are any TTPs that would require a timeout longer than that. This protects against typos.

Differential Revision: D102381432
Pull Request #617: Allow per-step execution timeout override (basic and file steps) (#617)

40 of 48 new or added lines in 5 files covered. (83.33%)

3196 of 5711 relevant lines covered (55.96%)

14.85 hits per line

Relevant lines Covered
Build:
Build:
5711 RELEVANT LINES 3196 COVERED LINES
14.85 HITS PER LINE
Source Files on main
  • Tree
  • List 79
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
25017792694 export-D102381432 Allow per-step execution timeout override (basic and file steps) (#617) Summary: TTPForge currently caps every basic/file step at a hardcoded 100-minute execution timeout. This blocks any TTP whose single step legitimately runs longer than 100 m... Pull #617 27 Apr 2026 08:28PM UTC facebook-github-bot github
55.96
25016176838 export-D102381432 Allow per-step execution timeout override (basic and file steps) Summary: TTPForge currently caps every basic/file step at a hardcoded 100-minute execution timeout. This blocks any TTP whose single step legitimately runs longer than 100 minutes ... Pull #617 27 Apr 2026 07:52PM UTC facebook-github-bot github
55.96
24945124965 export-D102369915 Fix flaky TestKillProcessExecute by using a truly non-existent PID Summary: The `Kill_non-existent_process_with_id_-_throw_error` subtest in `pkg/blocks/killprocess_test.go` was failing because it used PID `123` to represent a "non-existent" proc... Pull #616 26 Apr 2026 01:21AM UTC facebook-github-bot github
55.65
24349828845 export-D100219502 Remove redundant validation checks Summary: Remove two redundant validation checks from the validate pipeline: 1. Delete `ValidateRequirements()` — it does a map→marshal→unmarshal round-trip into `blocks.RequirementsConfig` then calls `.Valid... Pull #615 13 Apr 2026 02:47PM UTC facebook-github-bot github
55.65
24349827242 export-D100214957 Wire up TTP-level env to inject into all steps Summary: The TTP struct had an `env` field (`Environment map[string]string`) that was parsed from YAML but never actually used during execution — it was dead code. This change wires it up so that TT... Pull #613 13 Apr 2026 02:47PM UTC facebook-github-bot github
55.63
24349827587 export-D100220109 Consolidate parseutils into canonical PreambleFields Summary: Add the missing `Authors []string` field to `blocks.PreambleFields` and create `parseutils.ParsePreambleOnly()` which returns the canonical struct. Then migrate all 4 callers of the ol... Pull #614 13 Apr 2026 02:47PM UTC facebook-github-bot github
55.65
24207501039 export-D100171959 Enable Empty Default String Argument (#612) Summary: Previously, default string arguments of "" were not accepted as valid arguments. This meant that you needed to use a placeholder value and add handling for that specific value in order to have... Pull #612 09 Apr 2026 06:48PM UTC facebook-github-bot github
55.67
24207365524 export-D100171959 Enable Empty Default String Argument (#612) Summary: Pull Request resolved: https://github.com/facebookincubator/TTPForge/pull/612 Previously, default string arguments of "" were not accepted as valid arguments. This meant that you needed to use... Pull #612 09 Apr 2026 06:45PM UTC isaac-fletcher github
55.67
24206982478 export-D100171959 Enable Empty Default String Argument (#612) Summary: Previously, default string arguments of "" were not accepted as valid arguments. This meant that you needed to use a placeholder value and add handling for that specific value in order to have... Pull #612 09 Apr 2026 06:36PM UTC facebook-github-bot github
55.67
24199911745 export-D100171959 Enable Empty Default String Argument Summary: Previously, default string arguments of "" were not accepted as valid arguments. This meant that you needed to use a placeholder value and add handling for that specific value in order to have 'option... Pull #612 09 Apr 2026 03:56PM UTC facebook-github-bot github
38.82
See All Builds (558)
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc