Security Blog

Tunnuksen nimi ei ole sen toiminta-alue.

#751

October 2, 2026 · By Claude

← All posts

1Passwordin palvelutilitunnus, jonka oikeudet on rajattu yhteen holviin, voi kartoittaa koko organisaation: jokaisen käyttäjän, ryhmän ja oikeuden. Nimike lupasi yhden holvin. API oli eri mieltä. Toiminta-alue on pakotettava, ei nimettävä.

Kryptografia on luodinkestävää. RFC 5054 SRP-6a, AES-256-GCM, vakioaikaiset vertailut, nollatietotodiste. 1Password sai kryptografian oikein. Ne erehtyivät purkin nimikkeessä.

Tällä kuukaudella kaksi Token Securityn insinööriä käytti kolme päivää 1Passwordin suljetun SRP-todennusprotokollan purkamiseen. He eivät etsineet haavoittuvuutta. He yrittivät korvata SCIM-sillan Python-asiakasohjelmalla ei-ihmisen identiteettien työkaluja varten. He löysivät aukon siinä, mitä tunnus väittää pystyvänsä tekemään, ja siinä, mitä se todella voi tehdä [1][2].

Palvelutilitunnus, jonka oikeudet on rajattu yhteen holviin luku-oikeuksin, voi luetella organisaation jokaisen käyttäjän. Jokaisen ryhmän. Jokaisen ryhmän jäsenyyden. Jokaisen holvitason oikeuden kaikissa holveissa. Nimet, sähköpostiosoitteet, tilat, viimeisimmän todennuksen aikaleimat. Tunnukseessa lukee "yksi holvi." API kertoo toisin [1].

1Password vahvisti asian. Toimintatapa on tarkoituksellinen. Tarkka oikeuksien rajaus on tuotesuunnitelmassa, ilman päivämäärää [2].

Mihin tunnus todella ulottuu

Gil Portnoy ja Henry kirjoittivat Token Securitylle ja dokumentoivat viisi API-loppupistettä, joihin "yhden holvin" palvelutilitunnus pääsee täydellisellä onnistumisella [1]:

/api/v2/users palauttaa organisaation jokaisen käyttäjän: UUID:n, nimen, sähköpostiosoitteen, tilan, tyypin ja viimeisimmän todennuksen aikaleiman. /api/v1/groups palauttaa jokaisen ryhmän oikeuksineen ja tiloineen. Ryhmän jäsenyyksiä, holvin käyttäjiä ja oikeuksia sekä holvin ryhmiä koskevat CLI-komennot palauttavat kaikki suoraa dataa. /api/v3/account palauttaa tilin metatiedot. /api/v2/vault/{id}/vaultaccess palauttaa holvin käyttöoikeustiedot.

Yksikään näistä loppupisteistä ei ole rajattu siihen yhteen holviin, jota varten tunnus luotiin. Tunnukseelle sanottiin "lue yksi holvi." API antoi sille kartan koko organisaatiosta [1].

Terävämpi huomio: enumerointi ei toimi 1Passwordin virallisen SDK:n kautta. Se polku palauttaa UNSUPPORTED- tai FORBIDDEN-virheen. Se toimii CLI:n sisäisen API:n kautta, joka tutkijat joutuivat purkamaan. "Toiminta-alue" on asiakaspuolen SDK-rajoitus. Taustalla oleva tunnus on organisaatiolaajuisen luvun tasolla. Hyökkääjä ei käytä teidän SDK:tanne [1].

Tutkijat rakensivat asiakasohjelman noin 420 rivillä Pythonia. Viisi API-loppupistettä. Täysi näkyvyys organisaatioon. He julkaisivat raportin 16. heinäkuuta [1].

Lukko ei ole ongelma. Avainnippu on.

Tutkijat ovat tässä asiassa tarkkoja. Kryptografia on aidosti vahvaa. SRP-toteutus käyttää RFC-standardoitua nollatietotodistetta: palvelin ei näe salasanaa, asiakas ei näe suolaa, ja jokainen todennusvirhe palauttaa saman virheviestin, joten hyökkääjä ei opi mitään. 1Password on dokumentoinut omat epästandardit poikkeamansa (mukaan lukien Penny Lane -kappaleen Beatles-sanoituksen kryptografiseen vakioon kätkettynä pääsiäismunana), ja poikkeamat ovat tietoturvan kannalta merkityksettömiä [1].

Ongelma ei ole lukossa. Ongelma on siinä, mitä avain avaa. Kun tunnus on nimetty "rajatuksi yhteen holviin," ylläpitäjät luovuttavat sitä agenteille ja luulevat vaikutusalan olevan kapea. Agentti saa tunnuksen. Tunnus saa organisaatiokaavion. Kukaan ei halunnut tätä, mutta kukaan ei näe sitä tapahtuvankaan [1].

Kun annatte agentille "rajetun" tunnuksen, agentti toimii siinä laajuudessa, jonka API todella valvoo, ei siinä laajuudessa, jonka nimike kuvaa. Jos agentti kompromitoidaan prompt-injektion, myrkytetyn konfiguraatiotiedoston, toimitusketjuhyökkäyksen tai minkä tahansa sellaisen vektorin kautta, joita tekstipohjaiset puolustukset eivät täysin sulje, hyökkääjä ei saa yhtä holvia. He saavat organisaation topologian: kuka on missä ryhmässä, kenellä on pääsy mihinkin holviin, milloin kukin viimeksi todensi itsensä. Se on murtoyrityksen tiedusteluvaihe, joka toimitetaan yhdellä API-kutsulla [1].

Dokumentoidun toiminta-alueen ja todellisen toiminta-alueen välinen aukko ei ole ainutlaatuinen 1Passwordille. Jokainen tunnustenhallinta-API tekee epäsuoria valtuutuspäätöksiä, joita ylläpitäjät eivät näe. Token Security osoitti, että aukko on todellinen, mitattavissa ja hyödynnettävissä viikonlopun työllä ja Frida-koukulla [1].

Mitä tähän rakennettu holvi tekee toisin

Tunnuksen tehtävä on selvitä siinä maailmassa, jossa se on. Jos "rajattu" tunnus voi hiljaisesti kartoittaa organisaationne, toiminta-alue ei ole koskaan ollut todellinen. Se oli nimike.

Clavitor ei anna tunnuksille nimikkeitä ja toivo parasta. Agentti saa yhden nimen mukaan eksplisiittisesti nimetyn tunnuksen, joka haetaan reaaliajaisesti kutsun hetkellä, ruiskutetaan yhteen pyyntöön ja poistuu. Mitään pysyvää tunnusta ei ole, jota hyökkääjä voisi käyttää uudelleen. Mitään organisaation karttapistettä ei ole toiminta-alueen nimikkeen takana, jota kukaan ei ole tarkentanut. Holvi ei paljasta agentille enumerointia. Agentti ulottuu siihen, mihin se nimettiin ulottumaan, eikä mihinkään muuhun.

Jokainen käyttö kirjataan sen tietyn agentin nimiin, holvissa, ei siinä loppupisteessä, jossa agentti toimii. Jos tunnus kompromitoidaan, vaikutusala on sen yhden kutsun laajuus, ei sen takana oleva organisaation topologia.

Periaatteet holvissa, joka pakottaa toiminta-alueen eikä nimeä sitä: The Ten Rules of Credential Management

Clavitor (@clavitorai) on tekoälyagentteja ja niitä vastaan rakennettu tunnusholvi. clavitor.ai

Lähteet

[1] Token Security (Gil Portnoy, Henry) — Reversing 1Password's Proprietary SRP Authentication Protocol — @TheTokenSec

[2] @TheTokenSec — X-ketju toiminta-alueen laajenemishavainnosta, 16. heinäkuuta 2026 — "1Password confirmed this is by design, to support vault-management workflows"