Package
ãšãŒãžã§ã³ããæºåž¯å¯èœãªã¢ãŒã«ã€ããšããŠãšã¯ã¹ããŒããå ±æãã€ã³ã¹ããŒã«ããŸãã
æ©èœ
ãšãŒãžã§ã³ãããã®ãã©ã«ãããªãŒãæ§æãç¥èãã¯ãŒã¯ãããŒã¯ããããã§ã¹ããè²¢ç®è ãªã¹ãããããŽã§ã³ã¹ã¬ã³ãŒããå«ãåäžã® .agentpkg ZIP ã¢ãŒã«ã€ãã«ã·ãªã¢ã«åãããŸããã€ã³ã¹ããŒã«ã¯ 3 ã¹ãããã®ãããŒ: èšç» (ãŒãæžã蟌ã¿ã§æ€æ»)ãç¢ºèª (ãã€ãžã§ã¹ãã確èª)ãé©çš (TOCTOU å®å šãã§ãã¯ã§æžã蟌ã¿)ã
éèŠæ§
ç§»åã§ããªããšãŒãžã§ã³ãã¯ãææããŠããªããšãŒãžã§ã³ãã§ããããŒã¿ãã« ã¢ãŒã«ã€ãã¯ããšãŒãžã§ã³ããã¢ã«ãŠã³ããããŒã«ãã¢ãã«éãç§»åã§ããããšãæå³ããŸãã
ä»çµã¿
ããã±ãŒãžå¢çå šäœã§ãŒã ID ãªãŒã¯
å éš UUID ã¯ãã·ãªã¢ã«åäžã« uuidv5 ã§åé³é ããããããããã±ãŒãžã¯ãœãŒã¹ããã¢ã«ãŠã³ããããã³ãããŸãã¯ãã©ã«ããŒèå¥åãéã¶ããšã¯ãããŸããã
TOCTOU ã»ãŒããã£ãåãã 3 ã¹ããã ã€ã³ã¹ããŒã«
ãã©ã³ã¯ãŒãæžã蟌ã¿ã§æ€æ»ããã¬ãã¥ãŒã¯ãã€ãžã§ã¹ãã確èªããé©çšã¯æžã蟌ãåã«ãã€ãžã§ã¹ããå床確èªããŸããã¬ãã¥ãŒãšé©çšã®éã«å€æŽãããããã±ãŒãžã¯æåŠãããŸãã
ã·ã§ãŒã±ãŒã¹ã¯æ€èšŒããããµã³ãã«å®è¡ãåããŠããŸã
ã·ã§ãŒã±ãŒã¹ ã®ã£ã©ãªãŒã®ã¯ãŒã¯ãããŒã«ã¯ãç·šéãããå®è¡ãå«ãŸããŠãããããã€ã³ã¹ããŒã«åã«åäœã確èªã§ããæ€èšŒã¯è¡šç€ºæã«ãã§ãã¯ãããŸãã
質å
- ããã±ãŒãžã«äœãå«ãŸããŠããŸãã?
- ãã©ã«ã ããªãŒããã¹ãŠã®ãªãŒã ããã¥ã¡ã³ãã.context ããã³ .agent æ§æãã¡ã€ã«ãã¯ãŒã¯ãããŒãããã³è²¢ç®è ãšãããŽã§ã³ã¹ã®ã¡ã¿ããŒã¿ãå«ããããã§ã¹ããèªèšŒæ å ±ãªããåã蟌ã¿ãªããæ€èšŒã¹ããŒã¿ã¹ãªãã
- å¥ã®ã¢ã«ãŠã³ãã®èª°ããšããã±ãŒãžãå ±æã§ããŸãã?
- ã¯ãããã©ã€ããŒã ãã³ããªã ãªã³ã¯ã¯ãæéãå¶éãããã·ã§ã¢ ããŒã¯ã³ãååŸããŸããåä¿¡è ã¯ãåããã©ã³-ã¬ãã¥ãŒ-é©çšãããŒãéããŠãããèªåã®ã¢ã«ãŠã³ãã«ã€ã³ã¹ããŒã«ããŸãã
The rest of the bag
AccessControl
ããã¥ã¡ã³ãåäœã®ã¢ã¯ã»ã¹èš±å¯ã§ãããŒãžã ãã§ãªãåçããã£ã«ã¿ãªã³ã°ããŸãã
ããªã·ãŒè§£æ±ºã¯ã¹ããŒãã®ããã«ã»ãã·ã§ã³ããšã«ãã£ãã·ã¥ãããŸããæš©é倿Žã¯ãã£ãã·ã¥ç¡å¹åæã«äŒæããé£è¡äžã®ãã¹ãŠã®ãªã¯ãšã¹ãã§å³åº§ã«äŒæããããšã¯ãããŸããã
Docs
ãšãŒãžã§ã³ããèªã ãã©ã«ãããªãŒãããã³ ãããåŸãæ§æãã¡ã€ã«ã
æœåºã¯ãPDFãã¹ãã¬ããã·ãŒãããã©ã³ã¹ã¯ãªãããã«ããŒããŠããŸãããšããŸããã¯ãªãã€ããªåœ¢åŒã¯è§£æãããŸããã
Events
ãšãŒãžã§ã³ããäœãããããšãã®çç±ã®æ°žç¶çãªèšé²ã
ã€ã³ããã»ã¹ã€ãã³ããã¹ã¯ã·ã³ã°ã«ããŒããšããã¿ãŒã§ããã忣ãããŒã«ãŒã§ã¯ãããŸãããèä¹ çãªã¯ãã¹ãšãŒãžã§ã³ãèšé²ã¯ãå¥ã®Postgresã¿ã¹ã¯å°åž³ã§ãã
That was step 6 of 6: a reply leaves, and the trail stays. ããããå°çããåçå¯èœãªèšé²ã«è³ããŸã§ã®å šçµè·¯ã§ãã