Repository navigation
Description
Welcome! This issue lists everything open for the hackathon.
Setup: follow CONTRIBUTING.md: pip install -e ".[dev]", then pytest tests and ruff check ..
Claiming an issue: comment "I'd like to take this" on the issue and a maintainer will assign you. One issue per person at a time, please. If there's no PR within 5 days, the issue goes back in the pool.
Core CLI
- Let users choose the model for each agent #45 Per-agent model selection
- SARIF output for
secfoo findings export#46 SARIF output forsecfoo findings export - Support GitLab and Bitbucket repository URLs as targets #47 GitLab and Bitbucket URL targets
- Use a distinct exit code when a run stops at
--max-cost#48 Distinct exit code when--max-costis exceeded (good first issue) - api agent: pre-flight prompt-size cap, and a distinct exit code when --max-cost is exceeded #32 Pre-flight prompt-size cap for the
apiagent - New agent adapter: add support for another coding-agent CLI #49 New agent adapter:
- Docs: per-agent setup and troubleshooting guide #50 Docs: per-agent setup and troubleshooting guide (good first issue)
Custom skills
- Custom skills: add your own skills without changing code #79 Add your own skills without changing code: user and team skill folders,
secfoo skillscommands, and custom skills in the dashboard - Dashboard for custom skills: render any skill's output dynamically #92 Dashboard for custom skills: render any skill's output dynamically (findings, filters, lifecycle, finding detail)
- Run your own skill from anywhere:
--skill-filewith URLs, and shared skill packs #93 Run your own skill from anywhere:--skill-filewith URLs, shared skill packs with pinning
Runtime sensor for SCA (tracking issue: #51)
An opt-in sensor, deployed explicitly (e.g. as a sidecar) with the same Secfoo API key used for scans, that runs alongside a threat-modeled or assessed app, in any runtime and on any platform, and confirms whether vulnerable dependencies are loaded, executed and reached by live traffic. Read #51 first for the design rules. Agree on the formats in #52, #53 and #73 before building on them.
Phase 1: offline evidence
- Build a vulnerable-function watchlist from advisories #52 Vulnerable-function watchlist from advisories
- Runtime evidence format, storage and
secfoo runtime ingest#53 Runtime evidence format, storage andsecfoo runtime ingest - Import coverage files as runtime evidence #54 Import coverage files as runtime evidence (good first issue)
- Python live sensor (
sys.monitoring) #55 Python probe (sys.monitoring) - Node.js live sensor (
--requirehook) #56 Node.js probe (--requirehook) - Runtime evidence in the SCA dashboard #57 Runtime evidence in the SCA dashboard
Phase 2: live sensor
- Runtime ingest API: sensors use your Secfoo API key #66 Live ingest API and sensor tokens
- Standalone runtime sensor (
secfoo sensor) as sidecar or host daemon #67 Standalone sensor (secfoo sensor): sidecar, host daemon or Lambda extension - Runtime package inventory: loaded versions, drift and live advisories #68 Runtime package inventory: loaded versions, drift and live advisories
- Attribute runtime hits to live traffic (route, auth state) #69 Attribute hits to live traffic (route, auth state)
- Correlate live traffic with the threat model's entry points #70 Correlate live traffic with the threat model's entry points
- Deploy the runtime sensor anywhere: containers, Kubernetes, VMs, Windows, PaaS, serverless #71 Deploy anywhere: containers, Kubernetes, VMs, Windows, PaaS, serverless
- Runtime page: sensor health, live activity and alerts #72 Runtime page: sensor health, live activity and alerts
- Probe ↔ sensor protocol and conformance kit (one contract for every runtime) #73 Probe ↔ sensor protocol and conformance kit
- Runtime evidence at the developer stage: CLI, SARIF and CI gate #80 Runtime evidence at the developer stage: CLI, SARIF and CI gate
Phase 3: more runtimes (each needs #73)
- JVM probe (
-javaagent): Java, Kotlin, Scala #74 JVM probe (Java, Kotlin, Scala) - .NET probe: startup hook + CLR profiler #75 .NET probe
- Go, Rust and native binaries: inventory from build metadata, hits via uprobes #76 Go, Rust and native binaries
- Ruby probe (TracePoint): Rails, Sinatra, Rack #77 Ruby probe
- PHP probe: observer-API extension + no-extension mode #78 PHP probe
Questions: ask in the issue thread.
Activity
vsn411 commentedon Nov 11, 2026
A note on PRs, after reviewing the first few.
For a PR to be merged it needs to:
Fixes #<n>for that issue in the description. Tracking issues (Tracking: Runtime reachability for SCA (in-app probe + live sensor) #51, this one) are not tasks; a PR that saysFixes #51will be closed.pytest testsandruff check .locally first. First-time contributors need a maintainer to approve the CI run, so a green local run saves a round trip.secfoo runtime ingest#53 (events) and Probe ↔ sensor protocol and conformance kit (one contract for every runtime) #73 (probe protocol) are the contracts. Don't invent a different shape; if you think one should change, say so in that issue first.src/secfoo/cli.py. New code gets its own module. Nothing goes insrc/secfoo/__init__.py, and nothing patches the standard library or other libraries at import time.Points. Merged PRs score on the contributor leaderboard based on the
difficulty:label of the issue they close: hard 10, medium 6, low 3. Bronze at 25, Silver at 50, Gold at 100. Every open issue above now carries a difficulty label. Details in CONTRIBUTING.md.