Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2483 commits
Select commit Hold shift + click to select a range
3730458
chore(cron): vuln-scanner failed
aeonframework Jul 27, 2026
dbb2fc7
chore(cron): vuln-scanner failed
aeonframework Jul 27, 2026
02daf58
chore(cron): github-trending failed
aeonframework Jul 27, 2026
ba1c853
chore(cron): token-pick failed
aeonframework Jul 27, 2026
b437461
chore(cron): narrative-tracker failed
aeonframework Jul 27, 2026
848df4f
chore(cron): digest failed
aeonframework Jul 27, 2026
d68175c
chore(cron): price-alert failed
aeonframework Jul 27, 2026
51168c9
chore(cron): defi-overview failed
aeonframework Jul 27, 2026
883c647
chore(cron): x402-monitor failed
aeonframework Jul 27, 2026
713b0b9
chore(cron): skill-health failed
aeonframework Jul 27, 2026
71b2722
chore(cron): fear-divergence failed
aeonframework Jul 27, 2026
dc2d6e1
chore(cron): picks-tracker failed
aeonframework Jul 27, 2026
3541216
chore(cron): heartbeat failed
aeonframework Jul 27, 2026
2e8cfe3
chore(cron): vuln-scanner failed
aeonframework Jul 27, 2026
50e0443
chore(cron): vuln-scanner failed
aeonframework Jul 27, 2026
5acad73
chore(cron): github-trending failed
aeonframework Jul 27, 2026
a59a446
chore(cron): defi-overview failed
aeonframework Jul 27, 2026
f0ae07c
chore(cron): price-alert failed
aeonframework Jul 27, 2026
3b713a4
chore(cron): token-pick failed
aeonframework Jul 27, 2026
30d32f9
chore(cron): digest failed
aeonframework Jul 27, 2026
ca5e691
chore(cron): skill-health failed
aeonframework Jul 27, 2026
0158d6d
chore(cron): narrative-tracker failed
aeonframework Jul 27, 2026
6db60fb
chore(cron): x402-monitor failed
aeonframework Jul 27, 2026
09e1bbd
chore(cron): fear-divergence failed
aeonframework Jul 27, 2026
9646e45
chore(cron): picks-tracker failed
aeonframework Jul 27, 2026
b322680
chore(cron): heartbeat failed
aeonframework Jul 27, 2026
31d7f7f
chore(cron): vuln-scanner failed
aeonframework Jul 27, 2026
2d5ab62
chore(workflow): raise fleet job timeout from 30 to 45 minutes
Svector-anu Jul 27, 2026
def00e0
chore(cron): defi-overview failed
aeonframework Jul 27, 2026
67c0aca
chore(cron): token-pick failed
aeonframework Jul 27, 2026
6fc05d1
chore(cron): price-alert failed
aeonframework Jul 27, 2026
874b9a6
chore(cron): github-trending failed
aeonframework Jul 27, 2026
4c8041b
chore(cron): digest failed
aeonframework Jul 27, 2026
cb60b84
chore(cron): narrative-tracker failed
aeonframework Jul 27, 2026
5c9a9ff
chore(cron): skill-health failed
aeonframework Jul 27, 2026
229581d
chore(cron): picks-tracker failed
aeonframework Jul 27, 2026
9fab836
chore(cron): fear-divergence failed
aeonframework Jul 27, 2026
c2c3451
chore(cron): x402-monitor failed
aeonframework Jul 27, 2026
aff3811
chore(cron): heartbeat failed
aeonframework Jul 27, 2026
84b4100
chore(cron): vuln-scanner failed
aeonframework Jul 27, 2026
f01fe85
chore(cron): github-trending failed
aeonframework Jul 27, 2026
faaa7bc
chore(cron): token-pick failed
aeonframework Jul 27, 2026
b18cbd0
chore(cron): price-alert failed
aeonframework Jul 27, 2026
208fb4e
chore(cron): defi-overview failed
aeonframework Jul 27, 2026
cd4a770
chore(cron): skill-health failed
aeonframework Jul 27, 2026
c806031
chore(cron): narrative-tracker failed
aeonframework Jul 27, 2026
d466c70
chore(cron): digest failed
aeonframework Jul 27, 2026
d9f12d5
chore(cron): x402-monitor failed
aeonframework Jul 27, 2026
d79bc3e
chore(cron): fear-divergence failed
aeonframework Jul 27, 2026
8611f90
chore(cron): heartbeat failed
aeonframework Jul 27, 2026
f6f5b83
chore(cron): picks-tracker failed
aeonframework Jul 27, 2026
7724fb1
chore(cron): vuln-scanner failed
aeonframework Jul 27, 2026
fd865bb
chore(cron): github-trending failed
aeonframework Jul 27, 2026
ca176d6
chore(cron): defi-overview failed
aeonframework Jul 27, 2026
e83aa15
chore(cron): token-pick failed
aeonframework Jul 27, 2026
52a2176
chore(cron): narrative-tracker failed
aeonframework Jul 27, 2026
af34fe9
chore(cron): price-alert failed
aeonframework Jul 27, 2026
ef8cec6
chore(cron): digest failed
aeonframework Jul 27, 2026
7c3916f
chore(cron): skill-health failed
aeonframework Jul 27, 2026
dd66f57
chore(cron): fear-divergence failed
aeonframework Jul 27, 2026
0376ce7
chore(cron): picks-tracker failed
aeonframework Jul 27, 2026
47b421c
chore(cron): heartbeat failed
aeonframework Jul 27, 2026
b0a744f
chore(cron): x402-monitor failed
aeonframework Jul 27, 2026
f2d1682
chore(cron): vuln-scanner failed
aeonframework Jul 27, 2026
1f4bff3
chore(cron): defi-overview failed
aeonframework Jul 27, 2026
78ac04a
chore(cron): price-alert failed
aeonframework Jul 27, 2026
c44aa3d
chore(cron): token-pick failed
aeonframework Jul 27, 2026
cd1d4d3
chore(cron): narrative-tracker failed
aeonframework Jul 27, 2026
68d70bd
chore(cron): github-trending failed
aeonframework Jul 27, 2026
2eb48fa
chore(cron): digest failed
aeonframework Jul 27, 2026
1d4e78c
chore(cron): skill-health failed
aeonframework Jul 27, 2026
a073aee
chore(cron): x402-monitor failed
aeonframework Jul 27, 2026
b59dfab
chore(cron): fear-divergence failed
aeonframework Jul 27, 2026
9ee0328
chore(cron): picks-tracker failed
aeonframework Jul 27, 2026
c4e3836
chore(cron): heartbeat failed
aeonframework Jul 27, 2026
f59f983
chore(cron): vuln-scanner failed
aeonframework Jul 27, 2026
ff0ce37
chore(scheduler): update cron state
aeonframework Jul 28, 2026
100a20e
chore(cron): heartbeat failed
aeonframework Jul 28, 2026
0d137d9
chore(cron): defi-overview failed
aeonframework Jul 28, 2026
27c261c
chore(cron): digest failed
aeonframework Jul 28, 2026
9bd312a
chore(cron): narrative-tracker failed
aeonframework Jul 28, 2026
0d6613d
chore(cron): picks-tracker failed
aeonframework Jul 28, 2026
2af71d4
chore(cron): github-trending failed
aeonframework Jul 28, 2026
861dcf5
chore(cron): fear-divergence failed
aeonframework Jul 28, 2026
d28c15b
chore(cron): price-alert failed
aeonframework Jul 28, 2026
baa39fc
chore(cron): vuln-scanner failed
aeonframework Jul 28, 2026
c82a93e
chore(cron): x402-monitor failed
aeonframework Jul 28, 2026
2ffb2c4
chore(cron): github-trending failed
aeonframework Jul 28, 2026
0ebe21e
chore(cron): price-alert failed
aeonframework Jul 28, 2026
eff7e93
chore(cron): defi-overview failed
aeonframework Jul 28, 2026
ff36ac1
chore(cron): narrative-tracker failed
aeonframework Jul 28, 2026
98d9d1f
chore(cron): digest failed
aeonframework Jul 28, 2026
e4b6031
chore(cron): fear-divergence failed
aeonframework Jul 28, 2026
379b021
chore(cron): x402-monitor failed
aeonframework Jul 28, 2026
af51897
chore(cron): picks-tracker failed
aeonframework Jul 28, 2026
4c1cacb
chore(cron): heartbeat failed
aeonframework Jul 28, 2026
b1e3fde
chore(cron): vuln-scanner failed
aeonframework Jul 28, 2026
b3890b4
Merge pull request #16 from Svector-anu/chore/raise-fleet-timeout-45min
Svector-anu Jul 28, 2026
ae22c69
chore(cron): heartbeat failed
aeonframework Jul 28, 2026
18365c9
chore(cron): github-trending failed
aeonframework Jul 28, 2026
f2aa4f5
chore(cron): defi-overview failed
aeonframework Jul 28, 2026
2eb60d0
chore(cron): narrative-tracker failed
aeonframework Jul 28, 2026
eb77423
chore(cron): price-alert failed
aeonframework Jul 28, 2026
bda5e29
chore(cron): x402-monitor failed
aeonframework Jul 28, 2026
e70b7a5
chore(cron): digest failed
aeonframework Jul 28, 2026
079ae46
chore(cron): fear-divergence failed
aeonframework Jul 28, 2026
b9d7b11
chore(cron): heartbeat failed
aeonframework Jul 28, 2026
17d5d18
chore(cron): picks-tracker failed
aeonframework Jul 28, 2026
234e703
chore(cron): vuln-scanner failed
aeonframework Jul 28, 2026
fe2285f
chore(cron): heartbeat failed
aeonframework Jul 28, 2026
cc3c14b
chore(heartbeat): auto-commit 2026-07-28
aeonframework Jul 28, 2026
98d0b7a
chore(cron): heartbeat success
aeonframework Jul 28, 2026
c83fb20
fix(config): re-enable grok harness, root cause was expired OAuth not…
Svector-anu Jul 28, 2026
4a448af
Merge pull request #17 from Svector-anu/fix/reenable-grok-harness
Svector-anu Jul 28, 2026
a0ffa4b
fix(narrative-tracker): mark XAI_API_KEY optional in frontmatter
Svector-anu Jul 28, 2026
9062144
Merge pull request #18 from Svector-anu/fix/narrative-tracker-optiona…
Svector-anu Jul 28, 2026
705d761
fix(okf): repair malformed frontmatter in memory/logs/2026-07-09.md (…
Svector-anu Jul 28, 2026
f04c9a5
fix(catalog): regenerate skills.json after narrative-tracker frontmat…
Svector-anu Jul 28, 2026
714e262
chore(vuln-scanner): auto-commit 2026-07-28
aeonframework Jul 28, 2026
4e494e8
chore(cron): vuln-scanner success
aeonframework Jul 28, 2026
a1bcae5
chore(price-alert): auto-commit 2026-07-28
aeonframework Jul 28, 2026
7f73e0b
chore(cron): price-alert success
aeonframework Jul 28, 2026
b5e69f1
chore(narrative-tracker): auto-commit 2026-07-28
aeonframework Jul 28, 2026
af33c3e
chore(cron): narrative-tracker success
aeonframework Jul 28, 2026
9f4d8a2
chore(scheduler): update cron state
aeonframework Jul 28, 2026
2e81405
chore(fear-divergence): auto-commit 2026-07-28
aeonframework Jul 28, 2026
435c4f3
chore(price-alert): auto-commit 2026-07-28
aeonframework Jul 28, 2026
67998f3
chore(cron): price-alert success
aeonframework Jul 28, 2026
772e45d
chore(cron): fear-divergence success
aeonframework Jul 28, 2026
b9d5bf9
chore(picks-tracker): auto-commit 2026-07-28
aeonframework Jul 28, 2026
764e55c
chore(cron): picks-tracker success
aeonframework Jul 28, 2026
00e9187
chore(github-trending): auto-commit 2026-07-28
aeonframework Jul 28, 2026
2a18320
chore(cron): github-trending success
aeonframework Jul 28, 2026
59f2e14
chore(digest): auto-commit 2026-07-28
aeonframework Jul 28, 2026
2bc89ab
chore(cron): digest success
aeonframework Jul 28, 2026
a7d8dd7
chore(heartbeat): auto-commit 2026-07-28
aeonframework Jul 28, 2026
244d97e
chore(cron): heartbeat success
aeonframework Jul 28, 2026
b039aef
chore(cron): x402-monitor success
aeonframework Jul 28, 2026
fc9c8f3
chore(cron): defi-overview success
aeonframework Jul 28, 2026
e9e605b
chore(defi-overview): auto-commit 2026-07-28
aeonframework Jul 28, 2026
1584dca
chore(cron): defi-overview success
aeonframework Jul 28, 2026
df6dbdc
chore(scheduler): update cron state
aeonframework Jul 28, 2026
d08204d
chore(price-alert): auto-commit 2026-07-28
aeonframework Jul 28, 2026
25087b6
chore(cron): price-alert success
aeonframework Jul 28, 2026
ab071d0
fix(notify): fallback Telegram alert when a skill skips notify entire…
Svector-anu Jul 28, 2026
19739cc
chore(vuln-scanner): auto-commit 2026-07-28
aeonframework Jul 28, 2026
5e92c1c
chore(cron): vuln-scanner success
aeonframework Jul 28, 2026
36bcf17
chore(scheduler): update cron state
aeonframework Jul 28, 2026
1722f5e
chore(price-alert): auto-commit 2026-07-28
aeonframework Jul 28, 2026
556b7c5
chore(cron): price-alert success
aeonframework Jul 28, 2026
ddeb29e
chore(narrative-tracker): auto-commit 2026-07-28
aeonframework Jul 28, 2026
19aeee2
chore(token-pick): auto-commit 2026-07-28
aeonframework Jul 28, 2026
2e795c0
chore(cron): token-pick success
aeonframework Jul 28, 2026
841109c
chore(cron): narrative-tracker success
aeonframework Jul 28, 2026
c191c19
chore(cron): x402-monitor success
aeonframework Jul 28, 2026
4040f1d
chore(defi-overview): auto-commit 2026-07-28
aeonframework Jul 28, 2026
b49043a
chore(cron): defi-overview success
aeonframework Jul 28, 2026
c7e6b27
chore(scheduler): update cron state
aeonframework Jul 28, 2026
adf83cd
chore(price-alert): auto-commit 2026-07-28
aeonframework Jul 28, 2026
6235c75
chore(cron): price-alert success
aeonframework Jul 28, 2026
051dff2
chore(digest): auto-commit 2026-07-28
aeonframework Jul 28, 2026
dd9352b
chore(cron): digest success
aeonframework Jul 28, 2026
8102a9d
chore(scheduler): update cron state
aeonframework Jul 28, 2026
30994af
chore(cron): price-alert failed
aeonframework Jul 28, 2026
4133706
chore(scheduler): update cron state
aeonframework Jul 28, 2026
e40bf02
chore(cron): price-alert failed
aeonframework Jul 28, 2026
6d9920a
chore(cron): skill-health failed
aeonframework Jul 28, 2026
5951d84
chore(cron): defi-overview failed
aeonframework Jul 28, 2026
e394347
chore(scheduler): update cron state
aeonframework Jul 28, 2026
1f6b18d
chore(cron): defi-overview failed
aeonframework Jul 28, 2026
08f7164
chore(cron): price-alert failed
aeonframework Jul 28, 2026
0263170
chore(cron): narrative-tracker failed
aeonframework Jul 28, 2026
9ac6007
chore(cron): skill-health failed
aeonframework Jul 28, 2026
43496ce
chore(scheduler): update cron state
aeonframework Jul 28, 2026
d3728a3
chore(cron): defi-overview failed
aeonframework Jul 28, 2026
a3fe903
chore(cron): price-alert failed
aeonframework Jul 28, 2026
d191280
chore(cron): skill-health failed
aeonframework Jul 28, 2026
9bcbf84
chore(cron): narrative-tracker failed
aeonframework Jul 28, 2026
dd50601
chore(scheduler): update cron state
aeonframework Jul 28, 2026
6bbfe10
chore(cron): defi-overview failed
aeonframework Jul 28, 2026
b78a2ab
chore(cron): narrative-tracker failed
aeonframework Jul 28, 2026
3da8dff
chore(cron): price-alert failed
aeonframework Jul 28, 2026
187de7c
chore(cron): skill-health failed
aeonframework Jul 28, 2026
43dc9b6
chore(scheduler): update cron state
aeonframework Jul 28, 2026
cfc43c6
chore(cron): defi-overview failed
aeonframework Jul 28, 2026
0851a04
chore(cron): narrative-tracker failed
aeonframework Jul 28, 2026
10b8085
chore(cron): price-alert failed
aeonframework Jul 28, 2026
63cfeeb
chore(cron): skill-health failed
aeonframework Jul 28, 2026
42a7612
chore(scheduler): update cron state
aeonframework Jul 29, 2026
ae07dea
chore(cron): price-alert failed
aeonframework Jul 29, 2026
6126f6f
chore(cron): defi-overview failed
aeonframework Jul 29, 2026
f9f9be1
chore(cron): skill-health failed
aeonframework Jul 29, 2026
e0adf0a
chore(cron): narrative-tracker failed
aeonframework Jul 29, 2026
5021590
chore(cron): heartbeat failed
aeonframework Jul 29, 2026
ab81589
chore(cron): heartbeat failed
aeonframework Jul 29, 2026
74d94f5
feat(skills): add hunter-22, daily bounty discovery via ClawHunter AP…
Svector-anu Jul 29, 2026
4ffc983
chore(cron): auto-merge failed
aeonframework Jul 29, 2026
bb40d3a
chore(cron): hunter-22 failed
aeonframework Jul 29, 2026
bd9956a
chore(cron): vuln-scanner failed
aeonframework Jul 29, 2026
ab734c1
fix(messages): don't let a bad GH_GLOBAL scope silently kill message …
Svector-anu Jul 30, 2026
160146a
chore(cron): vuln-scanner failed
aeonframework Jul 30, 2026
6f5092d
chore(cron): vuln-scanner failed
aeonframework Jul 30, 2026
128a734
fix(aeon): log the front of a failed gateway response, not the tail (…
Svector-anu Jul 30, 2026
b6b938c
chore(cron): heartbeat failed
aeonframework Jul 30, 2026
ddd5629
chore(scheduler): update cron state
aeonframework Jul 30, 2026
86c7754
fix(aeon): switch default harness back to claude, grok quota is dead …
Svector-anu Jul 30, 2026
0c18504
chore(cron): vuln-scanner failed
aeonframework Jul 30, 2026
e7e278d
chore(heartbeat): auto-commit 2026-07-30
aeonframework Jul 30, 2026
2405c6c
chore(cron): heartbeat success
aeonframework Jul 30, 2026
3a40f45
feat(gateway): add claude2 as a fallback Claude subscription slot (#28)
Svector-anu Jul 30, 2026
5eecdfd
chore(cron): vuln-scanner failed
aeonframework Jul 30, 2026
083fff9
chore(heartbeat): auto-commit 2026-07-30
aeonframework Jul 30, 2026
ab3a40f
chore(cron): heartbeat success
aeonframework Jul 30, 2026
a0413f8
chore(cron): vuln-scanner failed
aeonframework Jul 30, 2026
43d44aa
chore(vuln-scanner): auto-commit 2026-07-31
aeonframework Jul 31, 2026
953d2be
chore(cron): vuln-scanner success
aeonframework Jul 31, 2026
35ccebf
chore(hunter-22): seed bounty dedup log (25 candidates, 1 real match)
aeonframework Jul 31, 2026
76be510
log(hunter-22): 2026-07-31 discovery run (25 scanned, 1 match)
aeonframework Jul 31, 2026
4bbef51
chore(hunter-22): auto-commit 2026-07-31
aeonframework Jul 31, 2026
7ad3050
chore(cron): hunter-22 success
aeonframework Jul 31, 2026
d36a740
chore(vuln-scanner): auto-commit 2026-07-31
aeonframework Jul 31, 2026
ef09215
chore(cron): vuln-scanner success
aeonframework Jul 31, 2026
2deb615
chore(vuln-scanner): auto-commit 2026-07-31
aeonframework Jul 31, 2026
4b09bd9
chore(cron): vuln-scanner success
aeonframework Jul 31, 2026
2b73f8b
chore(cron): vuln-scanner failed
aeonframework Jul 31, 2026
89a4580
chore(vuln-scanner): auto-commit 2026-07-31
aeonframework Jul 31, 2026
39197a9
chore(cron): vuln-scanner success
aeonframework Jul 31, 2026
f7bd75d
chore(cron): vuln-scanner failed
aeonframework Jul 31, 2026
be0677c
docs(memory): add Veilo bug-hunt playbook — tool stack + workflow
Svector-anu Jul 31, 2026
a33550a
chore: sync dashboard changes (MCP server + auto-workflow toggle) (#24)
Svector-anu Jul 31, 2026
ae10eb3
chore(cron): vuln-scanner failed
aeonframework Aug 3, 2026
e359611
chore(memory): Trident fuzzing follow-up on VeiloSolana/privacy-program
Svector-anu Aug 8, 2026
2130003
chore(memory): Veilo git-diff-since-last-scan + sanctioned-tool rescan
Svector-anu Aug 8, 2026
50f678a
chore(vuln-scanner): firecrawl/anydoc scan — CVE + a new bug found by…
Svector-anu Aug 8, 2026
47016da
chore(hunter-22): daily bounty scan, 0 new real matches
Svector-anu Aug 8, 2026
fd153e1
chore(vuln-scanner): trycompai/crm scan, 0 confirmed after reachabili…
Svector-anu Aug 8, 2026
e93d628
chore(vuln-scanner): close calamine#705 as duplicate of #696
Svector-anu Aug 8, 2026
df4c020
feat(vuln-scanner): prior-art check + verification block before publi…
Svector-anu Aug 9, 2026
75bd48b
Merge pull request #29 from Svector-anu/feat/vuln-scanner-prior-art-c…
Svector-anu Aug 9, 2026
2d56512
chore(vuln-scanner): auto-commit 2026-08-13
aeonframework Aug 13, 2026
600b2d3
chore(cron): vuln-scanner success
aeonframework Aug 13, 2026
9fdd35f
chore(vuln-scanner): mark genspark-ai/genoffice PVR as submitted
Svector-anu Aug 13, 2026
f50d7c4
chore(aeon): disable price-alert (too noisy)
Svector-anu Aug 15, 2026
7408bf2
chore(vuln-scanner): auto-commit 2026-08-15
aeonframework Aug 15, 2026
36eb6de
chore(cron): vuln-scanner success
aeonframework Aug 15, 2026
5c98c8b
Merge remote-tracking branch 'upstream/main'
Svector-anu Aug 15, 2026
a4a67d5
chore(aeon): fix hunter-22 duplicate key left over from upstream sync
Svector-anu Aug 15, 2026
87fee2e
Merge remote-tracking branch 'origin/main'
Svector-anu Aug 15, 2026
d20a761
chore(vuln-scanner): record GHSA-pjg6-92pm-mmcf submission for waterm…
Svector-anu Aug 15, 2026
ff861ea
fix(aeon-update): don't silently delete a currently-enabled skill ret…
Svector-anu Aug 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"mcpServers": {
"robinhood-trading": {
"type": "http",
"url": "https://agent.robinhood.com/mcp/trading"
}
}
}
7 changes: 7 additions & 0 deletions .notify-hunter22.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
**1 real bounty match** (scanned 25, rest were shilling / tweet-threads / video / on-chain deploys — dropped).

**Veilo mainnet smart-contract audit** — $2,000 · Superteam
Find a critical fund-loss vuln in Veilo's Solana program, ship a reproducible PoC + written report with fix. No live funds moved — pure audit + writeup, exactly the vuln-scan work already demonstrated. Deadline 2026-08-20 (~3 weeks).
https://superteam.fun/earn/listing/veilo-bounty

Discovery only — not claimed or submitted.
7 changes: 7 additions & 0 deletions .pending-notify-veilo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
*Vuln Scanner — VeiloSolana/privacy-program*

Clean audit. ~10 candidates reviewed across 5 deep passes, 0 confirmed exploitable.

Tornado-style ZK privacy pool (Solana/Anchor, ~14.5k LoC). Full-surface manual review vs the repo's own AUDIT.md invariants: Groth16 public-input binding, Merkle/nullifier double-spend, account/authority validation, and swap/positions/phoenix/perps/predictions CPI value-accounting — all held. Note amounts are bound to measured token flow + the proof; nullifiers use plain-init markers; relayers whitelist-bound to ext_data. The only observations are documented trust-model items (swap_data not proof-bound = bounded relayer MEV) or defense-in-depth suggestions defended by the circuit — nothing to disclose.

Scanners: semgrep=ok (0), trufflehog=ok (0 verified), osv=ok (8 transitive/informational crate advisories, not routable). Report: output/articles/vuln-scan-2026-07-31-veilo-privacy-program.md
3 changes: 3 additions & 0 deletions .pending-notify-vuln.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*Vuln Scanner — rainbow-me/rainbow*
Clean code audit. semgrep 0 findings (2,510 files) and 0 verified secrets (filesystem + git history). The 313 osv dependency CVEs are all public and transitive-only (every crypto primitive — secp256k1, pbkdf2, elliptic, sha.js — is a transitive dep, not directly bumpable) in a repo that already runs Dependabot, so nothing routes to a disclosure channel; the public-PR path is fork-403-blocked regardless.
Scanners: semgrep=ok, trufflehog=ok, osv=ok.
1 change: 1 addition & 0 deletions .pvr-payload.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"summary": "Path traversal in docs:save-new IPC handler \u2014 unsanitized filename escapes the default save directory (arbitrary file write)", "description": "## Summary\n\nThe `docs:save-new` IPC handler in the Docs app writes a renderer-supplied\nfilename into the default save directory with `path.join(dir, name)` and **no\npath confinement**, so a filename containing `..` segments (or an absolute path)\nescapes the intended directory. Because this is the *silent* first-save path\n(no save dialog, no user confirmation), a renderer that supplies a traversal\nname causes fully attacker-controlled bytes to be written to an\nattacker-chosen location.\n\nThis is a **defense-in-depth / trust-boundary** finding: the app's current\nrenderer code always sanitizes the name before calling this channel, so it is\n**not** triggerable by merely opening a malicious document or via the AI agent.\nThe impact requires the renderer to be compromised first (e.g. a script-execution\nbug in the local SPA). I'm reporting it because the app's own hardening model\n(`contextIsolation: true`, `sandbox: true`, \"renderers reach main only through\ntyped, validated IPC\") is explicitly designed to *contain* a compromised\nrenderer \u2014 and this handler hands that renderer an arbitrary-path, arbitrary-\ncontent file-write primitive, which is exactly what the sandbox is meant to\nprevent. The sibling write handlers already validate; this one is the outlier.\n\n## Location\n\n`apps/docs/src/main/docs-main.ts`\n\n- `docs:save-new` handler \u2014 builds the target with `uniquePathIn(defaultSaveDir(), defaultName)` where `defaultName` is the untrusted IPC argument.\n- `uniquePathIn(dir, fileName)` \u2014 `let candidate = join(dir, fileName)` with no\n `..` / absolute-path / containment check.\n\nReached from preload `saveDocxNew` \u2192 `ipcRenderer.invoke('docs:save-new', defaultName, data)`.\n\n## Why the silent path specifically\n\n- `docs:save-as` passes its `defaultName` into the OS **save dialog** as\n `defaultPath`; the user sees and confirms the final location, so a traversal\n string is harmless there.\n- The Slides equivalent runs the draft name through `sanitizeDraftBaseName`\n **in the main process** before writing.\n- `docs:save-new` is the only write path that is both **silent** (no dialog)\n and **does not re-validate** the name in main \u2014 the two properties that make\n the missing check matter.\n\n## Impact\n\nA compromised/misbehaving renderer can invoke `saveDocxNew` with, e.g.,\n`\"../../../../<user-home>/.config/autostart/x.desktop\"` (Linux),\n`\"..\\\\..\\\\..\\\\AppData\\\\Roaming\\\\Microsoft\\\\Windows\\\\Start Menu\\\\Programs\\\\Startup\\\\x.bat\"`\n(Windows), or any path traversing out of the default folder. `data` is an\narbitrary `ArrayBuffer` (not constrained to valid `.docx`), so both the path and\nthe file contents are fully attacker-controlled \u2014 an arbitrary file-write\nprimitive that can lead to persistence or code execution. Severity is kept\n**low** because it depends on a prior renderer-compromise precondition and is\nnot reachable from untrusted document content in the shipping code paths.\n\n## Suggested fix\n\nConfine the target to the default directory in the main process, mirroring the\nsibling handlers \u2014 validate the resolved path stays inside `defaultSaveDir()`\nand/or reduce the name to its basename before joining. For example, reject any\nname where `path.basename(name) !== name`, or assert\n`resolve(dir, name)` starts with `resolve(dir) + sep` before writing. Applying\nthe same `sanitize*BaseName` used by Slides/Docs-renderer inside the handler\nwould also close it.\n\n## Detected by\n\nManual security review (audit of main-process IPC file sinks). Semgrep OSS /\nTruffleHog runs on this repo were clean; this finding is logic-level and not\nflagged by those rule sets.\n", "severity": "low", "cwe_ids": ["CWE-22"], "vulnerabilities": [{"package": {"ecosystem": "npm", "name": "genoffice"}}]}
1 change: 1 addition & 0 deletions .seen-filter.jq
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.matches | map({id: .id, title: .title, reward: .rewardUsd, seen_at: $now})
12 changes: 12 additions & 0 deletions .vuln-probe.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
PATH="/tmp/bin:$PATH"; export PATH
echo "=== bin ==="
ls -la /tmp/bin 2>/dev/null || echo "no /tmp/bin"
echo "=== versions ==="
for t in semgrep trufflehog osv-scanner slither; do
if command -v "$t" >/dev/null 2>&1; then
echo "$t=OK $(command -v "$t")"
else
echo "$t=MISSING"
fi
done
50 changes: 18 additions & 32 deletions STRATEGY.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,35 @@
# Strategy

Aeon's north-star. Every skill reads this — it's imported into `CLAUDE.md`, so it
sits in context on **every** run. Skills should align their output to it: what to
work on, what to prioritise, what to flag, what to skip.

Keep it short (it costs tokens each run): one north-star, 3–5 priorities, the
constraints. Replace the defaults below with your own.

> **Status:** unconfigured defaults. Until you tailor this file, skills operate
> with general best judgment and no specific bias. Remove this line once it's yours.
Aeon's north-star for this fork. Read on every run — align output to it.

## North-star metric

The single outcome everything should move toward.
*e.g. "weekly active users of my app", "MRR", "reach of my research".*

**Default:** sustainable, compounding progress on the operator's active projects.
Tradeable, correct crypto signal surfaced inside Skopos chat — the read a trader
acts on, not a data dump. Conclusion first, in the first ~150 characters.

## Priorities

The few things that matter most right now, most important first.

1. Correct, verifiable work over work that merely looks finished.
2. Depth on the operator's core projects over broad, shallow coverage.
3. Surface signal early — don't sit on something that needs a decision.

*Replace with your own; cap at ~5.*
1. Correct and verifiable over comprehensive. A wrong regime call is worse than a
narrow one.
2. Decision-grade output — a regime verdict and explicit position calls
(front-run / ride / fade / watch), never an unlabeled table.
3. Freshness and honesty over completeness. "No signal today" and "no obvious
catalyst" are valid; an invented narrative is not.

## Audience

Who the output is for, and their level.
*e.g. "technical founders on X", "my internal team", "just me".*

**Default:** the operator — assume technical and time-constrained.
Crypto traders using Skopos — technical, time-poor, already in-market. They want
the take and the move, not the background.

## Hard constraints

Lines never to cross.

- Never publish secrets, private data, or unverified claims as fact.
- Stay within any configured spend and rate limits.

*Add your own — budget caps, tone, topics to avoid, compliance limits.*
- Never invent numbers or catalysts. If a source fails and there's no prior value,
write `n/a`.
- Stay qualitative on live prices. Skopos supplies live quotes; this fork supplies
the regime and narrative read. Don't headline a hard price a user will trade on.
- Public, unauthenticated data only. Never publish secrets or unverified claims.

## Optimize for / avoid

- **Optimize for:** signal, correctness, and the priorities above.
- **Avoid:** filler, hype, busywork, anything off-strategy.
- Optimize for: signal, correctness, conclusion-first phrasing, explicit position calls.
- Avoid: filler, hype, unlabeled yields, narratives without an evidence anchor.
Loading
Loading