← Home

@tangle-network/starter-foundry

Deterministic project scaffold engine for AI coding platforms

10
Versions
MIT
License
No
Install Scripts
Verified
Provenance

Supply chain provenance

Status for the latest visible version.

SLSA provenance attestation npm registry signatures gitHead linked

Maintainers

vutuanlinh2k2drewstonetjemmmictin-tangle-tools

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
semgrep semgrep:etc-passwd-access AI (semgrep): Test asserting path-traversal is rejected, not actual /etc/passwd access. ai
semgrep semgrep:shady-links-exfil-services AI (semgrep): URL is in a doc comment describing official Telegram Bot API setup. ai
semgrep semgrep:base64-decode AI (semgrep): Standard base64url decode helper for webhook payloads, not payload hiding. ai
semgrep semgrep:hex-decode AI (semgrep): Fires on HMAC signature verification converting hex to bytes for safeCompare — standard webhook validation pattern, not payload obfuscation. ai
semgrep semgrep:shady-links-raw-ip AI (semgrep): Fires on 127.0.0.1 used as localhost base URL in http.createServer — benign local server pattern. ai

Versions (showing 10 of 10)

Version Deps Published
0.13.2 2 / 15
0.7.2 3 / 4
0.7.0 3 / 4
0.5.4 2 / 2
0.5.3 1 / 2
0.5.2 1 / 2
0.5.1 1 / 2
0.3.0 1 / 2
0.2.0 1 / 2
0.1.0 1 / 2

v0.13.2

6 findings
HIGH etc-passwd-access: registry/layers/agent-base/secure/files/lib/secure/index.test.ts:155 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/tangle-network/starter-foundry/blob/748687a7e6761f7e206edaa7c39bf45c6e5d49a9/registry/layers/agent-base/secure/files/lib/secure/index.test.ts#L155 153 | const { workspace } = await import('./workspace.js') 154 | workspace._resetForTest() > 155 | assert.throws(() => workspace.read('../../etc/passwd'), /path-traversal rejected/) 156 | assert.throws(() => workspace.write('../escape', 'oops'), /path-traversal rejected/) 157 | })

HIGH etc-passwd-access: registry/layers/agent-base/secure/files/lib/secure/workspace.ts:5 semgrep

Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux (matched inside a comment — likely documentation, not executed code) Source: https://github.com/tangle-network/starter-foundry/blob/748687a7e6761f7e206edaa7c39bf45c6e5d49a9/registry/layers/agent-base/secure/files/lib/secure/workspace.ts#L5 3 | // requires a read capability; other paths are agent-local read/write. 4 | // > 5 | // Threat: an agent author writes `workspace.read('../../etc/passwd')`. 6 | // The path canonicalizer rejects any resolved path that escapes the 7 | // agent root, with an audit-logged event.

HIGH shady-links-exfil-services: registry/layers/agent-channels/telegram/files/channels/telegram.ts:9 semgrep

URL pointing to known exfiltration/tunneling service (matched inside a comment — likely documentation, not executed code) Source: https://github.com/tangle-network/starter-foundry/blob/748687a7e6761f7e206edaa7c39bf45c6e5d49a9/registry/layers/agent-channels/telegram/files/channels/telegram.ts#L9 7 | // Setup: 8 | // 1. Talk to @BotFather, run /newbot, paste the token into TELEGRAM_BOT_TOKEN. > 9 | // 2. POST https://api.telegram.org/bot<TOKEN>/setWebhook with url=<your-https-url>. 10 | // 3. Telegram POSTs JSON updates to that URL — pipe them into receive(). 11 |

HIGH shady-links-exfil-services: registry/layers/agent-channels/telegram/files/channels/telegram.ts:12 semgrep

URL pointing to known exfiltration/tunneling service Source: https://github.com/tangle-network/starter-foundry/blob/748687a7e6761f7e206edaa7c39bf45c6e5d49a9/registry/layers/agent-channels/telegram/files/channels/telegram.ts#L12 10 | // 3. Telegram POSTs JSON updates to that URL — pipe them into receive(). 11 | > 12 | const API = 'https://api.telegram.org' 13 | 14 | export interface TelegramInbound {

INFO Has SLSA provenance attestation provenance

Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.

INFO Publisher changed: drewstone → GitHub Actions (on 2026-07-17, now via trusted publisher with provenance) provenance

This version was published by a different npm account (GitHub Actions) than the most recent previously approved version (drewstone) on 2026-07-17, but it carries Sigstore provenance attestation. This means the package moved to a trusted publisher (CI/CD with OIDC, e.g. GitHub Actions) — a supply-chain integrity improvement, not a compromise, since a stolen npm token cannot forge provenance bound to the source repository. Recorded as INFO for audit trail.